Wow, it’s been a while since I last posted here. I haven’t been living under a rock, but I was very busy developing Stop, Ampeltime! in Unreal Engine 4.
It took me a lot of time to set up the base systems of the game, and that part is never much fun to watch. There’s not a lot of visible progress, sadly. That’s why I decided not to post about it and instead use that time and energy for development.
But now I feel that the game has gained enough content to share it with you.
As development in the near future will be much more content-focused (more on that in another post), it will be a lot easier for me and a lot more exciting for you to read about it here.
If you haven’t done so, please subscribe to the Stop, Ampeltime! newsletter to keep up to date about major development milestones and to gain exclusive access to future alpha/beta tester programs.
You can also follow the game on social media:
Having said that, it’s now time to catch you up with the development that happened since the last post.
(in a narrator’s voice 😉 )
Previously, on Stop, Ampeltime!
Since I started developing Stop, Ampeltime! in Unreal Engine 4, a lot of core systems for the game have been set up. There’s a whole bunch of stuff that Unreal Engine 4 already provides, but if it’s not a standard first or third person game that you develop, the initial effort to create the game systems is a little bit higher.
Game Systems
I’ll give you a brief rundown on the current custom systems that are in place right now:
Path System
The path system is a flexible system that allows me to draw paths that vehicles, people or goods can travel on. Right now it is mainly focused on roads, but it is design flexible enough to support a plethora of path types in the future (sidewalks, rails, waterways, etc.). The base unit is a path group that supports one or more lanes grouped together. The lanes can have individual widths, height clearances, speed limits and markings. The path system is the core system of the game as vehicles can use it to get from A to B.
Vehicles
Vehicles all share a common base that contains properties such as capacity, acceleration, top speed, but they also share a base AI that handles how the vehicles behave on a path. The AI currently is at a basic level, so there’s a lot of room to implement more detailed behavior and make adaptations to special circumstances.
The vehicle AI closely works with the…
Routing System
This is one of the more abstract systems in the game. It handles the routes that vehicles, people or goods can travel on. To build that knowledge, it takes all the start and destination points on all the paths and starts to build a map. From this map, it can then calculate routes that lead from any starting point to any destination. It gets a little complicated because there can be more than one route to a destination, and the paths to go there can have several lanes. This system is working for now, but still has a lot of features and intelligence to be added.
Environment System
The environment system handles any objects around the paths that the player cannot control or only has indirect influence on. It’s currently only used to plant trees on the terrain, but in the future, it will also handle houses and other procedurally generated structures.
Vehicle Management System
The vehicle management system takes care of what vehicles get spawned where and decides where the vehicle will go. When it’s time for another vehicle to enter the game world, it takes a look at all the destinations and at the rate people or goods want to go there, then decides on the destination and sets the vehicle into the world.
Intersection System
The intersection system is another core system to the gameplay of Stop, Ampeltime!. The player is free in designing paths and intersections. The vehicle AI and behavior on the other hand are very realistic – vehicles have realistic acceleration and braking distances and if two vehicles overlap, they will crash. That’s why the game needs to be good at detecting intersections and providing the vehicle AI with accurate information on how to approach an intersection. The intersection system is almost finished and only needs some cosmetic improvements.
These are the main game systems that are currently in place. There are some other, smaller systems in the game. Most of them handle visual things, from to 3D meshes to UI stuff.
Current State of the Game
The current game is very close to a first, playable version. The player can create, manipulate, split and join roads, add and remove lanes. Vehicles are driving into and out of the level. They stop at intersections and respect the right of way that the stop markers at the intersections are configured to. So there’s quite a few things that players can already experiment and have fun with.
I’m currently working on making the whole game system more stable and bug free so people can play it at GDC 2018 in San Francisco.
What’s Next?
After I polished all the existing systems and been to GDC, I want to start a ‘content offensive’, where the game and its systems are filled with more content. The game system has been laid out to be very flexible, so I’m looking forward to implementing new vehicle types, new path types, and some new environment objects.
Stay tuned for more updates soon!