For some maps, I want the Player to acquire resources by collecting Supply Crates scattered over the map. These crates can be destroyed, picked up and dropped anywhere a construction vehicle can go.
For example, you can “steal” Supply Crates from one location on the map and hide them somewhere your opponent is not expecting them. You can also just destroy all Supply Crates near an enemy base to force the enemy to move out and look for new resources.
Later on, I will implement some buildings you can set up in order to produce Supply Crates out of STUFF.
The Construction Vehicle (CV) now has a new 3D-model and sprite sheet. In addition to construction work you can order a CV to pick up a Supply Crate by issuing a move order to that location. The CV will then pick up the first Supply Crate it touches and returns it to the closest Supply Depot. When no other orders are given, the CV will automatically collect Supply Crates within the area the first crate was picked up.
You can order the CV to drop its cargo at any time by clicking an icon in the unit-interface. I am currently evaluating whether the CV should be able to construct buildings while carrying cargo or not.
Component Tower + Cannon
The Component Tower is a defensive structure that can be equipped with different weapons later in the game. When the Component Tower is deployed by a CV, it carries no weapons at all but also consumes no power or supplies. In its basic configuration, the tower can be used as an obstacle to block narrow passageways or to shield valuable structures from enemy fire due to its strong armor plating.
The Component Tower can be equipped with an automatic dual cannon turret which fires powerful blasts at enemy ground units. Other add-ons for the Component Tower will follow.
I’ve also put a lot of effort into technical affairs to make the game more stable and reliable.
When I implemented my particle system for smoke and explosion effects, I suddenly realized how very useful C++ smart pointers are. It took some time to replace all raw-pointers in the code, and thanks to bad old habits there were a lot of them. As a result, the game now runs much more reliable on different machines and dynamic memory allocation is minimized.