Ringularity - Black Hole Orbital Combat Simulation by philliptrudeau

Story
Your hypercomputer is ready to perform a supertask and solve all of physics - and you've finally found the black hole you need it to orbit. Now, it's your job to clear out the evil enemies currently preventing you from winning science.
Controls
WASD to move. This game is an orbital combat simulator - you have to rendezvous with enemies using orbital mechanics. Make sure not to fall into the black hole or you're done for! Don't drift too far away from the system either, or you'll be lost starving in space.
Mouse to aim, Click to shoot. Your bullets follow gravitational trajectories around the black hole, and they can cross the event horion. You may notice they slow down as they approach, because the game simulates gravitational time dilation.
SCROLL WHEEL TO ZOOM - Orbital combat is a large-scale business, so don't expect to survive with any sense of tunnel vision.
Press R to restart. You might need this :)
Escape to pause, Alt-Enter for fullscreen. It stretches because I didn't have time, sorry.
Bugfix Patch v1.1: - Fixed bug where camera zoom did not reset - Fixed bug where enemies spawned in the same place every time - Fixed bug where slingshot maneuvers sent you out of the system - Fixed bug where mouse cursor was not being drawn - Fixed bug where the screen aspect ratio was wonky if you went maximized/fullscreen - Fixed bug where the game did not start maximized
PLEASE TURN OFF YOUR ANTIVIRUS - WINDOWS DOES NOT LIKE WHEN EXECUTABLES ARE NOT BLOATED ENOUGH
| Windows 10 x64 | https://philliptrudeau.com/Ringularity.exe |
| Source Code (Github) | https://github.com/pmttavara/LD48 |
| Original URL | https://ldjam.com/events/ludum-dare/48/ringularity-black-hole-orbital-combat-simulation |
Ratings
| Overall | 643th | 3.175⭐ | 22🧑⚖️ |
| Fun | 674th | 2.95⭐ | 22🧑⚖️ |
| Innovation | 269th | 3.55⭐ | 22🧑⚖️ |
| Theme | 794th | 2.85⭐ | 22🧑⚖️ |
| Graphics | 860th | 2.211⭐ | 21🧑⚖️ |
| Humor | 576th | 2.033⭐ | 17🧑⚖️ |
| Mood | 755th | 2.625⭐ | 22🧑⚖️ |
| Given | 12🗳️ | 14🗨️ |
Not sure about this but, it could be nice to have some length of predicted trajectory for the ship.
Your inputs uses the virtual keys instead of scancodes. When you do that, the inputs are bound to the actual letter instead of the physical position. On non-QWERTY layouts they are move around. For example the moves should be ZQSD on an AZERTY keyboard, and WASD feeld like you are moving with ZQSD on a QWERTY keyboard. You could have used scancodes instead (so read msg.lParam), those do not move but are assigned to whatever letter is here.
A little confusing at first... but that's actually worth it for the realization of the orbit mechanics when you zoom out and see why your bullets move the way they do. Some extra visual indicators of a few things would go a long way.. I was unsure initially if my WASD inputs were on global orientation or local to the ship (little thrust markers would help). Orbit lines might be nice, but might also take away the challenge.
PS: Falling into the black hole looked astonishing. Brought a big smile to my face. Very cool.
Ps : It would be nice to have more feedback when we are moving ;)
That said, zooming out gave me quite an impression! That feeling of distance...
Some sort of velocity display on the UI would be nice for feedback.
I agree that velocity indication is useful, thanks a bunch for the feedback!
Neat having it be pure c++, I should learn how to do that.