In the past seven months, I have been working on Digital Extinction a real-time strategy game. Recently, I have decided that it is time to open the repository and the source code under the GPLv3 license.
From now on, I plan to regularly write a post about recent updates and news from the game development. This is the first one.
Here is the summary of the changes since the opening of the repository. It
consists of commit range
f23d51e..ffd5987 (2022-10-09–2022-11-03). There were
50 non-merge commits in total, with the most notable improvements below:
- object & map bounds repulsion,
- terrain got a texture,
- select all (CTRL+A) and select all visible (CTRL+Shift+A)
- circle markers below selected objects,
- drag selection,
- health bars,
- and many small fixes & improvements.
Object & Map Bounds Repulsion
Before this change, moving units could pass through one another. However, they still bypassed static obstacles thanks to the global path-finding algorithm.
Currently, the desired velocity (inputted to each object kinematics) of any object is limited so it doesn't move beyond 1) a circle boundary around every other unit, 2) a polygon boundary around every static obstacle or 3) a map boundary.
This works well enough for now. In the future, it will be further improved with something like Hybrid Reciprocal Velocity Obstacle based algorithm (issue #95).
Circle Markers below Selected Objects
Previously, it was not possible to see what objects are selected. After this change, a semi-transparent white circle is drawn below each selected object.
The player can select as many objects as he wishes but the number of circles is currently limited to 127 due to performance reasons (issue #216). If more than 127 objects are selected, only those 127 closest to the camera keep the circle.