digitalextinction / game Goto Github PK
View Code? Open in Web Editor NEWA 3D RTS game implemented in Rust.
Home Page: https://de-game.org
License: GNU Affero General Public License v3.0
A 3D RTS game implemented in Rust.
Home Page: https://de-game.org
License: GNU Affero General Public License v3.0
Map validation is currently custom-implemented. Validation would be needed on multiple places so it is better to device some more standard way how to do it.
Consider using some already existing crate, for example https://crates.io/crates/validator
This is a continuation of #7.
This requires modification of object placement and movement in the map so everything is positioned correctly on the surface.
Benchmark the solution: if slow, RTIN or other mesh simplification techniques might be required.
So players can play more than just the one bundled map.
Once #2 is implemented, it will be necessary to implement static object placement so the objects are correctly placed on the surface.
The terrain should be artistically pleasing & reasonably realistic.
Benchmark the solution on large maps.
Use ToastEvent instead.
Based on input criteria and a random seed, generate a map.
Select all object inside a selection frustum (rectangle on screen). This is an improvement on top of basic object selection defined in #10.
Movable objects of the player should move out of the way when possible (and then move back). Otherwise, some destinations could be blocked or alternative and much worse paths might be used.
To make life of developers easier. When published on the web, it is easier to reference to it.
cargo doc --no-deps --all-features --workspace
)Design:
Explore:
Do not display it by default, use configuration to enable it.
This is especially important for non-combat units.
First idea: compute influential map (some combination of HP and damage of friendly end enemy objects) and minimize it when path finding.
Caps Lock - CTRL swap is not respected in the game.
Currently, minimum axis-aligned bounding box of the entity shape and all descendant entity shapes represented with Parry's Cuboid is used.
Use better shapes of higher fidelity instead. These can be stored alongside object models. The shapes should be simple for fast geometrical operations.
Place the information to CONTRIBUTING.md
and link it from README.md
.
This will spare a lot of resources.
This cannot be done before #84, otherwise, CI could be skipped completely by not applying the label.
Groups of object should reasonably move together:
Benchmark the solution.
To make life of developers easier. When published on the web, it is easier to reference to it.
cargo doc --document-private-items
)Setup & update shadow projection so it is not too coarse but covers all/most of camera view.
Also see related: cascaded shadow map
After #11 is implemented adapt it to proper object movement.
There are several requirements:
Research available algorithms. Plain A* won't work.
The initial implementation will be minimal:
Before doing so, make sure that:
?
This is related to #85.
The following conditions must be met for a PR to be merged:
URL: https://de-game.org/
Contents:
Log to a file. To output could be used for example for bug reports.
Once #43 is done, this can be tested on a generated game.
The upper limit of entities for each player will be 1023 (buildings & unites combined).
The upper limit of players will be X.
This depends on #10.
LaserGun { damage: f32, rate: f32, last_fire: Option<Time> }
EntityDestroyed
event handled by all relevant plugins (to remove dangling Entity IDs).UI for the configuration is not part of the issue. Manual edits to the configuration file are good enough.
This relates to #69.
This is blocked by #243.
Update directional light projection with camera movement -> otherwise shadows would be too coarse on large maps. (cascaded shadow map in Bevy v0.10 is used instead).
This is related to bevyengine/bevy#3629, cascaded shadow would work even better.
Cascaded directional lights are supported from Bevy v0.10 (migrated to as part of #324).
de_controller
crateThis will improve code quality. Currently user input code is at several different places.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.