Testing.. is this thing on? Hello? Okay.. so I just type my words in this box? Cool!
Yeah, so it’s been a while since I did my last written devlog/tech-talk/article thing, mostly because I’ve been pouring all my information in to my weekly videos on youtube! However, I just updated the Orangepixel website, and it got me in the mood to write something for Regulator City, the new game I’m working on.
What is Regulator City
So my next game is a “real time squad based action game” .. because I like combining stuff. Regulator City has been in development for close to a year now (as in : full-time) and most of that time has been me learning, improving and tinkering with the AI!
The game I wanted to create was a fun idea I had based on watching a few TV-shows like SWAT and Seal Team, in which a group of trained fighters move together in such a cool and tactical way, backing each other up, one breaches the door, the others rush in, one covers the back, etc. It all just looks and feels so cool.. I wanted to create that as a game!
Biggest issue was of course making your, computer controlled, team-mates do all these cool actions along side you!
Learning AI code
I had ZERO experience doing anything remotely close to the AI I needed to build for this game. I found a great GDC talk about team AI, and even tho it mostly covers the 3D FPS games.. the same stuff pretty much apply to a top-down 2D game.
Of course hearing people explain it or reading about it, is still a few steps away from actually building it! It has been a long process to get it to the place where I was comfortable with the results, and where I can, most of the time, trust my CPU-team mates to do “the right thing”.
I’ll do a video on the whole AI at some point, but in short it’s a couple of technologies combined:
- Pathfinding (A* will do)
- Node-map (defining spots in the world where your team can move for cover)
- Danger-weight system (giving a weight-number to world areas and nodes based on danger – enemy nearby? bombs? explosions? etc)
- Decision making
The first three steps are fairly simple.. the fourth step took the most time to get things right. It’s pretty much the step that dictates HOW the first three steps are used.
Decision examples:
Player is at a door to another room.. is there another door leading to that room? can we reach that door? if so.. move to that other door, so that we can breach the new room at the same time from two directions.
Other example:
Player opens a door, a “enter room” trigger is spawned in the new room, and a “cover me” trigger is spawned at the players location. One team-member will respond to the “cover me” trigger, remain at the door, and look away from the door to cover our back. The other team members will respond to the “enter room” trigger and move into the newly opened room.
On top of these decisions, there will be decisions checking how much danger we are in, how much danger our leader is in, if there are nearby enemies, if they should be primary targets, or we better move alongside the player.
The lack of design documents
So a good portion of the game is now up and running, and that’s why there’s a Steam Fest demo available at the time of writing this. The tactics are working, the first couple of maps are designed, and enemies spawn all around you.
BUT I always like to dive into game projects without really doing any game design documents.. and right now that means there are still a few issues! We have the whole city-map where you get to place buildings and unlock new buildings, etc.. but to be honest, I still don’t have a clear idea of what this all means for the gameplay!
There is also just one enemy type right now, and I feel like there should be more variation there, I’m just currently lacking some good inspiration! Now the game will have some sort of Alien-DNA spreading across the city (as the game is part of the Orangepixel Universe), which already allows our main characters to have super-powers.. so I should come up with some weird and funky enemy types based on just that!
Road map
Even tho there is no real design-document, I still have a general idea of what I want to do with the game. The next few months my focus will be on the following things:
- Bullets/weapon-types. Currently you have just one bullet type, but there’s a couple of interesting ideas for other types. My main goal here is to create bullet types that can be tactically used. So a bullet that can be shot around a corner, or bounces from wall to wall, things like that.
- Enemy types. As mentioned above, we need more variation in enemies. Current “bad guys” all respond the same, which is fine, but this is a game! let’s bring some variation to it. Maybe some mutated humans that explode while they rush towards you?
- Local multiplayer. As much as I like playing with my AI buddies… this game really needs some sort of co-op mode. Two player coop should be easy, but I want to try 4-player coop. Main issue I see here is that I don’t want to do split-screen stuff, so players would have to stick together on screen.
- Find use for the city-map. The city map is cool and all, but right now it just doesn’t add a lot of gameplay/use to the game besides being some sort of mission-screen that you need to build yourself. So I will either move it towards a pre-defined city map (and dump the placement of buildings completely), or I need to figure out how placing buildings can be a strategy for the player.
Besides that it will mostly be about adding more content, like designing more maps to play on and maybe adding more interactive things like we have the vaults, the intelligence tasks, placing of explosives, etc.
Wrap it up!
And that’s it ! Hope that helps you catch up a bit on my new project, but if you like to see and hear more, make sure to check out the whole list of devlogs I did over on youtube. I made a nice playlist with all the episodes in it.
And of course you can always come hang out on discord.gg/orangepixel to even help out with game design decisions every now and then, and hopefully some more alpha/beta testing later on in the development!
Regulator City is currently in development for PC (Win,Mac,Linux), Switch, iOS, Android, and should also arrive on Xbox and Playstation