Destruction and 'DNA System' refinements, Traffic AI, Crowd Simulations, and Hoomans 2.0 are just some of the things we've been working on for Pigeon Simulator this past month.
Pigeons fear nothing.
This month we wrapped up some work on our destruction system. Fragments are now more natural looking, with jagged edges and junk sticking out of them. They still have roughly box-like shapes for physics optimization, but once we add in the particle VFX it should be quite convincing.
We use explosive balls of hot garbage to test the destruction engine… cuz why not?
Even at this early stage of development, it’s already a lot of fun to just fly around and destroy things randomly! I can only imagine how awesome it will all be once we finish it.
Nanobots repairing partially damaged buildings (timeframe is shortened for preview)
On the programming side of things, we made some important updates for performance, such as building repairs. After a damaged building is out-of-sight, or far enough away for a time, it will eventually get repaired by the city’s nanobots. (Hey, if Marvel can make silly excuses for inexplicable things, then so can we!)
Our “DNA System” in action…
We wrapped up work on something we call the “DNA System.” In a nutshell, this allows us to build super flexible gameplay mechanics—like granting the player fire breath and explosive turds when they eat a spicy burrito, making NPCs gain acid-spitting abilities and moo like cows, or suddenly giving the gift of flight to a garbage can, as seen here.
This is super important because in Pigeon Simulator we plan on having a very wide variety of wacky abilities for you to experiment with, and we needed a way to ensure that all this madness could interact properly. Exploring and discovering new abilities to experiment with may be a big part of the game.
Eventually we’ll put all this power into the hands of an “AI Storyteller” and there’s no telling what might happen then!
Roads & Traffic
We made major progress on our road and traffic systems this month! Roads are the first thing generated for each level, and then we spawn everything else based off of that, so getting the roads right is important.
We swapped all of the placeholder meshes with a nice-looking, modular set of tiles that includes proper sidewalks, intersections, and end caps. Getting randomly generated, curvy roads to play nice together was no easy task, but we eventually accomplished our goal and have a nice foundation for expansion.
Once the roads were in place, we built an AI Traffic System to push vehicles around the city. Since everything is physics-based, this proved to be far more challenging than we anticipated!
Our initial traffic AI was full of dangerous drivers. There were crashes and pile-ups all the time. Nobody wanted to stay in their lane… you know, a little too much like real life? As the number of vehicles spawned increased, so did the casualties.
But eventually we got everything under control and they all drive about like good little citizens. We even added in some logic to manage traffic lights, and avoiding random obstacles like debris falling in the streets from massive pigeon mayhem.
Work has begun on crowd simulations! After all, you can’t make a city feel truly alive without plenty of pedestrians hustling and bustling about.
This is no easy task though. Each pedestrian requires special things, like point-to-point navigation, collision detection, and realtime obstacle avoidance—not to mention more advanced AI features like running away scared or attacking the pigeon that just pooped on them!
Lots more work to be done here, but we’ve already made great strides in being able to render a large amount of characters on screen at once, and give them some basic behaviors.
We gave the human models a nice facelift this month. We scaled back some of the over-exaggerations, while still maintaining some of the stylized elements we wanted. Most notably the eyes and face. Overall they’ve got much less “creep factor”… but they’re still just asking to be pooped on by a pigeon.
Additionally, we updated their materials to handle any color range and ensure each location feels like it has a diverse population. And we do mean any color, as seen below….
We prototyped some cool drone concepts this month, and began building some basic AI for flying NPCs. We’re toying with the idea of randomly generating some NPCs like this, or “leveling them up” to be more and more menacing as the game progresses.
Then we worked on giving these little drones some brains. Our old flying NPCs would just move directly towards a target, driving right into buildings like idiots. Now they have some brains… though we still have a lot of work to do to make them actually attack the player, flee, etc.
3D AI navigation is a complex task, but we’re off to a good start!
Some day the flying enemies will be quite menacing… right now the pigeon just watches and laughs.
Right now all of our buildings are full of empty floors, but we aim to change that soon! We’ve started building up a collection of interior props, centered around various themes, such as: office, residential, industrial, etc. These will be spawned into various sets to fill out the building interiors and make them feel full of life.
Most of the props in Pigeon Simulator share a common set of shaders and materials, and have simple collision geometry. This means we can have lots of them in a scene and it can still run fast!
Though some of our industrial props are a little more advanced—and maybe even scary—like this industrial robot arm.
Well.. I don’t want to give everything away!
We’ve built a unique HUD for the game, with some fun game mechanics around that. I’d show some screenshots, but I feel like even that shows too much right now. We’ve started working on our nature assets as well, to bring a little more green into the urban jungle… and we’ve started designing our storytelling system….
Okay, fine… one more thing… here’s a little snip of some funny ability icons we made.