Skip to content

Instantly share code, notes, and snippets.

@SeijiEmery
Last active February 1, 2017 01:14
Show Gist options
  • Select an option

  • Save SeijiEmery/fc67300f06aa70e4157664bfb86eb4ec to your computer and use it in GitHub Desktop.

Select an option

Save SeijiEmery/fc67300f06aa70e4157664bfb86eb4ec to your computer and use it in GitHub Desktop.
Quick game concept: space battle simulator (semi-realistic space combat; VR)
Space War (Standing VR, targeting Vive, etc)
Note: not really a gist thing, but will post to blog once that's working again.
Builds on ideas in other game concepts (VR "omniscient grab-cam", etc – would be annoyed
if someone implements that before I get around to it, but so far so good...).
In a nutshell: For anyone who's read Ender's Game or watched the (pretty awesome) movie version,
remember the battle simulator / control room used to control fleet actions? Basically that.
– Symbolic 3d Vector graphics*
– User Interface: 3d Point & click**, gestural, contextual menus linked to buttons + thumbpads***
– "Grab Transform" based camera: in room looking down at battlefield; can zoom, rotate, translate to focus on specific parts or whatnot
* NOT ship graphics: a) distances really large, b) you're commanding a fleet, not sitting in a cockpit.
Plus art simpler if you only have to create icons, not flashy ship designs – would have icons for heat
signatues + maybe floating 3d models to inspect if time / budget allows.
** Most game companies have implemented "laser pointer" interfaces to cope w/ not dealing w/ 2d screen
interfaces anymore. Transforming room input to 3d world input would be much better and simpler; there's
a few ways to do this (I think), but would need to preserve sensitivity on small movements (so adaptive)
and still allow big movements; would probably have a logarithmic component or something; needs research
*** Vive is better for standing 3d, so we'll assume we're using that. Seated would not work as well for this;
gamepad interface impossible; mouse + keyboard would lack 3d cursor element.
Space combat mechanics:
– Stealth: All ships start w/ hulls at 0-3 degrees Kelvin and are thus invisible to enemy sensors
– Lasers are pinpoint, med distance, and will quickly raise ship temperature. Countered by:
– Evasion: rapid AI-controlled ship movements to avoid lasers + kinetic weapons; active ability + rapidly uses fuel. Effectiveness increases with range. Countered by:
– Sensors + Electronics: Better sensors (active + passive) + computers (optical, so no / minimal heat) can > evasive action (not sure exactly how this gets implemented gameplay wise, but:
– Nukes / EMP: Knocks out electronics, and jams all sensor data within a small (10-50 km) radius.
– Mass Drivers / Kinetic Weapons: Does most damage, but travels much slower than lasers. Projectiles can be stealthy if fired w/ railguns + extreme care (must be supercooled, which means ship must be cold
– Reaction Engines: Fast acceleration, high heat output
– Missiles: Can be fired cold, then seek + accelerate once at distance / within target radius. Requires knowing where your target is / will be. Non-cold missiles are free to accelerate, etc., but can ususally be easily neutralized by point defense. Typically, comes in nuclear, kinetic (point mass), kinetic/fragmentary (point defense against this is mostly useless but ship can survive w/ enough armor), and payload (anything / everything else)
– Probes: cheap platforms for pretty much anything; significantly less (rearward) acceleration than a missile, but can much match the movement of any large ship
Goal is to complete one or more objectives: Destroy target structure, defend target against enemy attacks, find + destroy all hostiles, etc.
Multiplayer + singleplayer modes. Singleplayer could have missions structured as puzzles and a time element (ie. setup long plan, then fast forward game time to where it executes + slow down). Multiplayer would have to occur over shorter ranges, and would mostly be about predicting + anticipating opponents.
Example stratagems:
– Find opponent (without them finding you), then fire cold kinetic volleys at their future location / path from behind an asteroid / planetoid (to mask your ship's heat signature).
– Fire large salvo of cold missiles near approx enemy's location; initiate combat w/ your main fleet + activate missiles (cold => hot) for an unexpected missile barrage (while dealing w/ your main attack) that seemingly came from nowhere
– Using dummy missiles as a distraction
– Masking hot missiles as straight-firing kinetic volleys that "missed", then turn + hit other targets in the rear (or something)
– Using nukes to form EM screen that masks your fleet (blinds both your AND enemy sensors). Would be useful to have a cold scout ship off somewhere, and this goes for both fleets
– Sticking thermal dummies of your ships on missiles and/or probes (broadcasts an image of what looks like the heat signature of your ship, but in 20 different places), either in combat or as a feint. This should be a really common tactic.
– Using probes + missiles to create a fake fleet AND fake attack (ships pop up + several "kinetic" volleys from missiles + probes left to drift would be pretty brilliant)
– Doing the same, but have your "fake fleet" show up from the middle of nowhere within knife-fight range of the enemy's ships
– Do the same, but it's your actual fleet
– Loading communications equipment on missiles / probes and initiating an electronic attack on an enemy's systems
– Do the same but with a landing party
– Swarms of drone fighters
– Massive fields of point-defense flak (would probably test limits of onboard computing power if trying to hit hundreds / thousands of small drones all taking evasive maneuvers)
– Swarms of drone fighters and missiles
– Electronic warfare: hacking + counterhacking by AIs; only way to stop this is close all communications channels (which could do temporarily, but while closed that ship would be uncontrollable and its status effectively unknown)
– etc...
Gameplay / controls / view:
– 3d point & click (as mentioned above)
– View shows your own ships, hidden / detected (to the best of your knowledge, hidden = gray, visible = blue)
– Status overlays on ship class, armaments, fuel, damages (incl. electronic attacks / hacking)
– Sensor overlays of enemy ships + projectiles w/ ship / projectile class (estimated), exact thermal signature (more info). Displays false positives ofc, but if AI / sensors can resolve stuff as fake / real, will flash and show true / resolved status (it's possible that could also be a false positive, but eh...)
– Velocity / current path for all objects
– Some interactive control scheme that makes selecting path for fire trajectories intuitive + displaying true path(s) (taking into account gravitational factors); possible to hit specific targets, etc (or auto-chart path that hits target object(s) (or group of objects) with selected object(s), armament X, IFF they keep to their current course)
– Note that nothing stays still and everything will be moving in orbit by default if close to planetary bodies. For assault / defense scenarios, defender ships start in orbit (stealth), and attacker ships are on path towards objective (stealth) or in orbit around another planetoid, ready to make assault (stealth)
Prototype / First steps => Full Game
– Camera setup w/ grab controls in a space skybox w/ a randomly generated disk of objects (asteroids / something). Could include simple N-body simulation + controls and it'd be cool.
– Add visuals overlay, real objects, real hud; leave N-body stuff as background or add planets
– Update + start adding mechanics; start w/ omniscient, can control both sides
– Implement limited vision + AI and/or multiplayer
– Polish mechanics; finish "vertical slice" scenario
– Start building single player / multiplayer scenarios / maps and continue to add new mechanics + ships
– Build game screen (fleet setup screen), ship loadout + resource system, etc.
– Tweak, iterate, etc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment