This first Dev Blog serves as more of a history and introduction. Future Dev Blogs will be much more in-depth on technical aspects of the game.
The Game Jam and Greenlight
I'm going to first give a brief history of Paint the Town Red up to this point. It might not be terribly interesting so skip to the next section below to see more more about what you'll see in Paint the Town Red.
In 2013 both Shane and Myself (Matt) had transitioned to working jobs part time so that we could dedicate most of our week to finally making South East Game's first big game. Despite this, things were moving along at a fairly slow pace as work commitments and a lot of up-front technical work for the game weren't allowing us to ever really get completely motivated. We decided we should quickly make something considerably smaller, probably for a game jam. It should be a game that has the potential to be popular enough to warrant a larger version that we could make some money from. We threw around ideas to see what stuck and before too long we came up with the idea for what would become Probably Archery. I remembered that the 7DFPS (Seven Day First Person Shooter) game jam was coming up within a couple of weeks and that seemed like a good fit. When the game jam came around, we ended up making the that version of Probably Archery in 6 days and were very happy to find people liked it and it was getting a lot of attention on YouTube and elsewhere. We went on to eventually make a Steam Greenlight campaign and then release a full version on Steam which did quite decently considering the time spent on it. Ultimately we spent about 2-3 months of part time work making the full version.
Developing Probably Archery was ultimately not the most enjoyable experience. We liked it as a game jam idea, but we weren't as enthusiastic about making a full game based on it and got it done pretty quickly. We still worked hard to make it polished and have enough content to make sure it was worth it to people, but there wasn't much more to do with the concept besides some novel inclusions like Oculus Rift and Razer Hydra support. Neither of us wanted to go through developing a game like that again. We would now only make something we wanted to play ourselves and could be passionate enough about to put a high level of time and effort into.
We began working on another of our larger game ideas in 2014 and this time while things were going a little better, financial obligations and the expected dev time were constantly in the back of our minds. Then I saw the announcement that the 2014 7DFPS jam was coming up and started thinking that maybe we could make lightning strike twice but this time do things a bit differently. There's no harm in seeing if we have another good small game idea up our sleeves. We both agreed that if we were going to do this we had to make something that would work well as a one-off game jam game like Probably Archery did, but if it proved popular it would be something we actually would want to make into a larger game.
Let's make a first person bar fight game.
It was the obvious right choice as soon as we came up with it and it wasn't hard to think up ridiculous gameplay and weapon ideas once we had. We settled on the art style quickly. It had to be simple enough to allow making the amount of content needed in a week and we wanted it to be cartoonish to offset the violence in the game. The large expressive faces of the enemies ended up being perfect targets for pool cues, baseball bats, broken bottles, etc. We were pushed much closer to the 7 day limit this time around but were very happy with the result. It certainly had issues, but it felt like a complete little standalone game that had gameplay that was pretty unique. First person melee combat has never really been done like this before in anything we'd seen or played.
The game was done and part 2 of our plan and the task for the second half of the 7th day of the game jam was making the Steam Greenlight campaign for the game. We knew from Probably Archery that the most important aspect of Greenlight is getting eyes on it so we wanted to have it up before the end of the game jam. That way we could include a Greenlight link in the game so anyone that enjoyed it could support us in making a bigger version.
It might have been that we were a little burnt out and weren't terribly interested in doing a big marketing effort at the end of the 7 days, but for the most part all we did was upload it to itch.io for the game jam, throw up the Greenlight page and walk away. Really though, this was mainly based on our attitude of "if it deserves to get greenlit then it will get there on its own". We pushed hard to get Probably Archery greenlit and this time we were well aware of the time commitment that would be involved in making the full version. We wanted to make sure people really wanted it first. We watched from the sidelines and didn't push for votes.
It only took 21 days for Paint the Town Red to be greenlit on its own merits. Now we just had to come up with what the full game would be contain. This time we were genuinely excited to make the full game, especially if we could come up with some cool new features to make it even more unique and fun than the game jam version.
Some New Tech
Most of our discussions on the full version of the game revolved around levels and story at first and we couldn't nail anything down. It wasn't until we had the idea for taking our box-y enemies and making them out of much smaller boxes that we had a direction. The story and levels didn't seem like an important concern compared to the excitement of voxel based enemies. Imagine if the heads of the enemies had an internal structure including a brain, skull and the flesh around it. Now when you hit someone with a baseball bat it wont just make blood or maybe knock their head off like in the game jam game, now it could knock chunks off their head exposing the flesh and bone beneath. Keep hitting and you could break through the skull and start bashing through brain. Or how about taking a sword and cutting through someone completely and having their body and limbs sever and separate exactly according to your cut.
Sounds pretty gross, and for a time we were a little concerned with whether it was too much. We decided it wasn't.
I'll be going into much greater detail on the technical aspects of the voxel characters and the possibilities in the next dev blog very soon.
The issues with lighting and shadows in games is a hard to describe even to other developers that have never really dealt with it.
In a static game environment you can utilise baked lightmaps to achieve high quality results that have little runtime cost, but they can't work well with dynamic objects. You can use Light Probes (in Unity, and similar in other engines) to bake the lighting information for points throughout the level so that you can then have this applied to dynamic objects, but this still doesn't allow for proper shadow casting and receiving for dynamic objects. You could have a mix of realtime shadows and baked lightmaps, but there will be a visual discrepancy and many issues with how shadows are cast and received as to do this in an efficient way, the realtime lights will only be rendering the dynamic objects to the shadow maps and not the static ones that use the lightmaps.
Alternatively you can use completely dynamic lighting and shadowing which has the benefit of essentially working in all cases, but the downside of being much slower, particularly when you have lots of lights.
Dynamic shadowing isn't especially important for Paint the Town Red in the traditional sense, but we do want lights in rooms to not cast light through walls into adjacent rooms, so that means we need a good shadow solution. We also want things like doors that are dynamic to cast shadows correctly as they rotate, so that means using baked lightmaps isn't really going to work out. Luckily with new features added to Unity 5, and particularly 5.2, I was finally able to make the lighting system I'd wanted to in Unity for a long time.
In Paint the Town Red we have custom lights and shadow mapping that can bake all static geometry into one map and render and composite dynamic objects as needed into a final shadow map used for rendering. Shadow maps can persist across frames without needing to be re-rendered when nothing has changed so for the most part we have the equivalent of dynamic shadows with very little performance cost. I'll go into much greater detail on all this this in a later dev blog.
Our persistent blood decals in Paint the Town Red are one of the most important features seeing as though it's essentially the name of the game. We had this working well in the game jam version using a 3rd party decal system for Unity and for that small environment and number of characters, it ran well enough. Larger environments, more enemies, more objects and a lot more blood flying about at once meant we needed something custom and much, much faster. We considered deferred decals and texture splatting approaches, but ultimately the standard mesh based decal approach was going to be best for the various cases we had. Writing our own decal system, being able to do lots of pre-caching of mesh data, breaking the level into decal system chunks and a lot of other optimisations meant we ended up with a system that ranges between 50x and 100x faster than the old game jam's decals.
There are a lot of (I think) interesting technical and design challenges we've been working through on Paint the Town Red and I'll be going into more detail about them in future blog posts.
When Paint the Town Red was greenlit, we expected we'd have the first Early Access version ready in Q1 2015. Ultimately it's going to be the start of Q4. Things were delayed quite a bit at first as I was moving into a newly built house and dealing with all that's involved in that. During that period we were mostly discussing the design of the game and its story while working on the new biker bar level and the voxel tech. At that time we were intending on having a linear progression of levels with a story tying them all together. Ultimately we had desires that didn't fit in that mold like having levels that took place in different time periods. So we changed our plans and removed all concept of an explicit story from the design in favour of just doing what would best serve the gameplay.
During development our Steam Greenlight page has continued to have a lot of people eagerly awaiting the game and at times getting agitated at the lack of a release or firm timeframe. We've wanted nothing more than to give definitive answers, but we haven't known when it would be ready for release for quite some time. Our goal has been to make the best Paint the Town Red we can and that has meant letting the game design itself somewhat as we work on these new features. We decided it best to wait until we had a date and had something worth showing before we said much else. Now we have those things and we don't intend on shutting up about them. There's so many cool things to show and talk about.
October 13 is the release date we've set for the first Early Access release. We might adjust it slightly earlier or later depending on factors we haven't accounted for, but that's a pretty safe window. We've been focused on 2 levels for the first release, the Biker Bar and the Disco. It's important to us to show the type of level variety we'll have in the final game so these seemed like good choices for the first release. Our goal is to have the gameplay close to final so that it is almost a vertical slice of the final game, but there will definitely be some changes to these levels over the course of development in Early Access. There'll be some more work on a larger enemy type for example for special characters and some of the boss characters. Primarily though our focus will be on adding new levels to the Early Access versions with the goal being a least 1 new level every month. At this time we're expecting to be in Early Access for around 6 months, but we're going to work with the community on the direction of the game so we don't know exactly where it will end up and how long that might take.
Steam Store page for Paint the Town Red. Follow and/or add to your Wishlist if you'd like to be notified of updates and release.
We're definitely going to strive to be active and involved with the community discussions and hope to hear from you on the Steam community, Reddit and Twitter (@SouthEastGames, @MCarr and @ShaneCarr).