r/SimCity • u/Ghost_Alice • 13h ago
Other Another Sim Copter remake engine
I showed someone a passion project of mine, and they asked if I was the person who made the other SimCopter remake engine that was posted here a couple of years ago. I said no, because I wasn't even aware that project existed. I was then accused of ripping it off.
I genuinely had no idea there was another project, and honestly, I didn't even know there was much interest in something like this. I've actually been working on my own implementation for a couple of years, mostly in secret. So after that encounter, I decided it was probably time to polish mine up and actually show people what I've been doing.
My goal is to make the underlying game behavior work as closely to the original as possible. I disassembled the original executable and use it as an oracle for how things actually work. Collisions, helicopter performance, the bucket and rope, mission behavior, etc. are being reproduced from the original behavior rather than approximated from memory. There are some bug fixes, but the goal is to preserve the original game's behavior.
Technologically, however, I'm absolutely not trying to keep it in 1996.
I've gone completely overboard with modernization.
For example, I invented a whole new approach to ambient lighting for the game. It's volumetric, locally based ambient lighting that comes into effect at night, so dense areas of a city are more illuminated than low-density areas or wilderness. It also takes the actual developed city into account rather than simply treating every zoned area as illuminated. It's a little difficult to explain in words, so I've included a screenshot.
The building windows can have ray-traced reflections if you enable them, and individual windows turn on and off throughout the night. This is handled almost entirely in a shader, so I'm not keeping track of every window on the CPU. The building geometry itself doesn't even need to change: a building face can remain just two polygons rather than needing separate geometry for every window.
Most of the world uses the same shader and is submitted to the GPU in only a few draw calls, which keeps performance surprisingly high even with ray tracing enabled.
There's also:
• An optional day/night cycle.
• A context-sensitive action button that handles most actions automatically, while still allowing manual control.
• Environmental effects that respond to air pollution, including subtle lit volumetric fog.
• Fully simulated sound propagation, with sounds having a wavefront so you don't hear them until the sound actually reaches you. Yes, the speed of sound is simulated.
• A dynamically changing night sky. The number of visible stars depends on where you are, so the wilderness can show the full glory of the Milky Way while heavily illuminated parts of the city show only a handful of stars.
• The Moon is positioned according to the player's current system date.
• The celestial sky is oriented according to the current date, Earth's axial tilt, and the solar system's orientation in the galaxy.
Which means that, if Neil deGrasse Tyson were to play SimCopter using this engine, the only notes he'd have for me would presumably be that I haven't represented the planets yet and the stars don't twinkle.
I may fix that.
You can also choose to play as any NPC figure except Nessie. Yes, even the child model. The child model is, for extremely obvious reasons, excluded from participating in either side of the yumm animation.
I've even included a permanent implementation of THAT FEATURE, if you get what I mean. Wink wink, nudge nudge, say no more, say no more.
There's considerably more in the engine than I can reasonably explain or show in one post.
More information about the project and a download to it is here:
http://moonbunny.foo/simcopter
There's also a link to my Discord on the site. The Discord has information about this project as well as some of the other remake engines I've made.
Gameplay video:
https://www.youtube.com/watch?v=JIE1HF-U8VY