A long time ago I decided to try making a simple flight sim, and I did. Then I lost the project files and forgot about it. But recently I have been having that itch again so I decided to take it a little more seriously this time! This won't be a full game, just a proof of concept, a prototype. But I felt like logging the progress so here it is the devlog.
Pitch: Flight simulators are great. Even non pilots love to fire one up, load whatever default plane available, take off, do some loops, and crash trying to land. Then most people stop playing because real life is kinda boring. I mean seriously, the world is basically flat! you have 6 degrees of freedom and no obstacles ahead. That's why everyone is drawn to buildings and bridges to fly close or under. So I decided I wanted to make a flight simulator, as convincing as possible, but in another world, where flying is challenging and interesting because cities occupy large 3D volumes you need to fly inside. In this game you play as kind of a truck driver, but a pilot. You fly inside cities, pick up contracts to transport boxes, take them to their destination etc. The money is used to pay for fuel.
it's not one giant city but a large world. And while flying inside cities might be challenging, you need to fly between cities, which is easy. This is when you can save the game. You put up the autopilot to maintain altitude and speed and go to bed to save.
Anticipating the technical challenges of making open world games I made my life simpler with some backstory. This planet is the result of a failed terraforming process and the population is the stubborn remaining of the colonization efforts, who were born and built a life there. THEREFORE the planet is covered in fog
Isn't fog great? I want different levels of fog. I want the fog to be a variable to take into consideration when planning your routes. So the densest fog is where large flying predators hide. Making the fog somewhat dynamic should provide for nice tension. You start the trip with a trajectory that is close by a large dense fog volume and go to bed hoping you don't accidentally enter it. Maybe you decide to land somewhere to wait in the less dense but still dangerous fog. Maybe that backfires and you find yourself having to cross a section of dangerous fog! Maybe the weight of your current load is too much to fly over it and you decide to flush your cargo out to survive. Yeah, I can see opportunities for juicy gameplay dramas to naturally occur.
So, to sum it up, in this game you: fly a plane, load the ship, manage cargo space, refuel, manage money, make long trips where you sleep to save, avoid monsters in dense fog.
Execution planObviously I'm not going to make a AAA game with realistic graphics. But even so that doesn't limit much the world of possibilities, and whatever's left can still be too much work for single dev prototype.
Idea 1: The
immersive sim philosophy. First person view and freedom to move inside the ship. Want to move that crate to the side? go there and move that crate to the side.
I can make the prototype with simple boxy graphics, no problem. But that still leaves some challenges to overcome, like physics scale. The flight dynamics uses the physics system, the FPS view will also be physics driven, but the two scales need to be kept separate... probably. The plane is big and flies fast. To make that smooth it requires scale to be set with small numbers and a system that resets the root of the transform before large numbers start to mess the simulation up. My intuition is screaming to leave the FPS part separate from the plane physics. A player collider with 0.01 units of height will be problematic, the interior of the ship full of tiny boxes inside a plane flying at 200 un/s will definitely not work.
So that's the challenge there. Separating scales.
The scale problem would be present in other aspects of the game if I hadn't made the planet foggy. Because the planet is huge in comparison to any city, a city is huge in comparison to a single block etc. Since it's all foggy I can just have two scales: one planet wide scale that tracks the player's position and the near vicinity is loaded with simple procedural generation. The separation of the plane and the FPS and plane parts won't be solved that easily.
Idea 2: I really love the immersive sim approach but I feel it might be too ambitious. Another possibility is to go in a completely different (and possibly original) path; a top-down isometric view with 2D art. The transition from 3D cockpit view to internal 2D view will be absolutely jarring. I never saw anyone do this, with good reason. But I'll be damned if it doesn't spike my curiosity.
That would be a lot easier to implement and I'll be able to focus on the more abstract aspects of the game.
I'm curious to hear thoughts. Next post will have some gifs.