Planned Features
Gameplay
- Create some special mechanics for particular chapters.
- Create a gluer, which makes a block's face sticky and weld to the next thing it touches.
- Create a weld splitter, which splits whatever weld is in front of it. (Except the stage itself)
- Create a vaporizer, which destroys whatever is in front of it. (Except the stage itself)
User interaction
- Improve ghosts
- Portals should highlight their pairs when highlighted.
- Hovering with portal tool over an open portal should create a display what is on the other side - i.e. show the true geometry of the world.
- Improve wiring
- Add hints for what objects do while wiring.
- Allow inspection of the electric network while simulation is running.
- Compute a clearer way to display wires - let wires curve if it means they don't have to overlap.
- Allow keys to be remapped.
- Allow irregular selections - double clicking should highlight a whole connected component, dragging selects a rectangle. Holding shift should union the new selection to the old one. Hold ctrl or cmd should subtract the new selection.
Menu
- Make level select menu look cooler.
Graphics
- Work on rendering of game grid
- Add a new layer for beams of welders, sensors, and magnets - let them be brighter than surroundings.
- Improve lighting model.
- Add options for graphical quality for any heavyweight effects.
- Fix shading of weird blocks (pistons, arms, the rocket triangle pieces)
- Have conveyor animation stop if the block above it fails to move.
- Add more options for backgrounds - use these to make chapters visually distinct.
- Add a visual to indicate exactly why an output was rejected.
- Move more rendering to a worker thread; ensure that main thread cannot freeze.
Audio
- Add more intelligent balancing of various sound sources.
- Add sound cues for portals opening/closing, pistons and magnets turning on/off, and sensors changing state.
- Add ambient sounds when close to portals and magnets or pistons that are trying to change state.
- Add more music; use particular tracks to distinguish chapters from one another.
Miscellaneous
- Add better logging for fatal errors.
- Allow the user to request true fullscreen and select resolution.
- Add an autosave feature to protect against losing progress if the game crashes.