- Fairly detailed physics, including:
- weapons just specify damage/energy, but units can have different armor thickness vs. coverage, which makes some weapons much more effective against different targets, in a fashion that is more natural/realistic than just saying "this weapon is good vs. armor but not good vs. infantry". Weapons and units have many additional features/attributes that make them implicitly better/worse in different situations.
- armor and shields are reduced when hit; armor coverage is reduced by damage when it is succesfully penetrated, while shield strength is reduced every time it is hit, but can recharge slowly.
- each unit has a base shooting accuracy, further affected by the weapon; 'chance to hit' is affected by movement (of shooter and target), target size and distance from shooter
- units speed determined by energy input / mass (which includes unit, passengers, weapons, ammo, etc)
- shields recharged from same pool that engines and weapons get energy from, so theoretically, if the unit needs to recharge shields and fire energy weapons all at once, it may slow down or stop moving temporarily until its capacitors recharge.
- each unit can have shields with different recharge rate and efficiency, and strength, and eventually, radius; so that some units can have shields that extend beyond themselves, to cover other nearby units.
- Units:
- can travel on ground, air and water
- can seperately define armor strength and coverage%, shield strength, coverage, recharge input energy, output energy, and sheild radius (although radius is ignored right now)
- carrier units, like a transport; carriers may allow passengers to fire weapon from inside, and repair units may repair the carrier they are riding in.
- can be 'repair' units by virtue of having a weapon unofficially refered to as a 'repairgun' that essentially fires negative damage
- can be grouped into 'battle groups' of any size using the function keys
- Weapons:
- weapons define range, damage, fire delay, can shoot air &| ground, accuracy, mass, ammo or energy input, and blast radius.
- weapons can fire projectiles like guided missiles or lobbed shells that can have customized behavior and weapon payloads.
- 'blast area' weapons do an amount of damage based on the shared area of the blast and the unit it hits
- possible to have limited ammunition (although its disabled for now until re-arming units are implemented)
- weapons can have extra commands associated with them that are automatically given to the unit.
- right now, the weapon may allow the unit to:
- a) fire the weapon once at a specified target, used for 'special' weapons
- b) and/or, toggle on/off the units ability to fire the weapon at will
- Entities use a loosely pluggable 'brain' to determine behavior, so custom code for entities, npc ai, missiles, etc are all defined in pluggable classes named as such. The intention was/is to someday implement a brain that uses the 'Rhino' java-javascript API (or another embedded scripting api) to allow custom ai scripts or sub-routines/commands to be written in javascript, potentially even 'on-the-fly' during a game.
- Clickable mini-map, selected unit roster with unit details, menu of available unit commands, all are 'pinnable' (IE, they appear when you select a unit, and disappear again automatically when the unit is deselected. But you can optionally 'unpin' the panel so that it only ever pops up when you mouse over the title-bar of the panel, as well)
- Most data configured through text files; maps, tiles, entities (units), weapons, etc. And, to some degree, most values may be stored in the file with an abbreviation for their real-world unit of measurement. (for instance, mass is specified in kg (kilograms) )
- Random map generator and associated texture generator. (screenshots below) Tool allows you to continue 'building up' terrein from underwater, adding successive growth to ground. Also allows you to 'zoom in' by clicking a location to get a preview of what the generated textures will look like there. And then lets you generate the map data files and associated images automatically.
- Optimized code for pathfinding, server/client persistence, collision detection, etc.
The map generator (not really part of the game):
main screen |
zoomed in for textures |
exp. 'lava world' |
exp. 'ice world' |






Comments
Add a comment