hosted by sorceress – July 2013

Return to Announcement Post

Back to Browse Entries

7dRTS - iforce2d

by iforce2d - 7dRTS / Mini LD 44 Entry

Mouse wheel to zoom, RMB to pan.
Left drag to select, right click to move, hold Shift to queue sequential moves.
Home key to reset view, Esc to show/hide the menu window, space bar to pause.

Click 'New terrain' to generate a new terrain, and 'New units' to reset the armies. Yours are the blue units starting on the right. Generation can take some time on slower cpus (as reference, about 6-8 seconds on a quad-core 2.2ghz).


There is only very simple AI - all units will fire on the closest enemy they have knowledge of, unless it is within their own blast radius. This means enemy units will just sit there waiting to be killed, so you have to go hunt them down. You also cannot control your own units in any way other than moving them.

In general the gameplay is like CnC etc, but there are no resources, no building, no base, and no unit constructing. When units are killed they don't come back, so it's more like chess in that respect. You also start with full knowledge of the map, and all units have equal vision range (infinite, unless blocked by terrain).

There are no impassable regions, so any unit can reach any point on the map, but steeper areas incur a movement penalty, so the path-finding will prefer to stay on the same altitude if it can. Movement over water is much faster, and any unit can travel by water, but crossing into or out of water incurs a large penalty.

Units can attack any other unit their team-mates can see. There are no distance limits to visibility but line-of-sight calculations are used to check where the terrain would block vision - use it wisely! When a unit is selected, the orange circle around it shows its attack range.

Bullets have indiscriminate splash damage when exploding, so try not to get under your own artillery fire. All units in the blast radius will take damage based on how close they were to the explosion. Bullet movement is not restricted by the terrain.

The AI for units is done with Angelscript. Check out the file if you want to try improving the AI (that will probably need more explanation though!). The script is reloaded each time you click 'New units', but the program crashes if a script could not be compiled so it's not very user-friendly.

The path-finding algorithm is optimal but not optimized (huh? ...yeah that's right:) so it can cause some lag if you move all of your units a large distance at the same time. The movement cost-calculation used to find the path and the cost to actually move across the map are not quite the same, so you will see weird paths and movement speeds sometimes.

I did not have time for the main 'innovation', which is building custom armies. Players could build custom units using a points system by giving them hitpoints, speed, attack range, blast radius, each of which increases the cost of that unit. Then they would take a selection of them (up to a maximum total points) to fight with, and give them each individual scripts. For now, the armies are hard-coded to a fixed set of units with characteristics typical for artillery, tank, infantry, scout.


Big thanks to: SFML, Angelscript, SFGUI, TinyThreads++, Box2D, sfxer, and Ken Perlin :-)

Downloads and Links




Gwilym says ...
Jul 30, 2013 @ 5:10pm

Would you mind providing the source code for this? I'm having troubles running it (needs GLEW 1.6 but I have 1.7). And if you want, I can provide you with linux 32 bit binaries as well as a windows version (got mingw working with sfml2.0 specially for this competition).

8BitPimp says ...
Jul 31, 2013 @ 1:24am

Hey this is nice! The graphics are great and I like seeing the nice path finding trails, and the iso lines. Great style.

Magnus says ...
Jul 31, 2013 @ 9:49am

Ooh, cool. The procedural generation, UI, pathfinding, and lighting are all impressive. Cool entry.

DMT says ...
Aug 14, 2013 @ 6:45pm

Great mechanics and map generation. Impressive entry.

You must sign in to comment.

7dRTS Banner

[cache: storing page]