It’s been more than a year since I last wrote a post on here. That doesn’t mean I haven’t been developing in UE4, the opposite really. Trying to find the time to write never happened, so I making some time. It’s not a tutorial though. I don’t think tutorials help people become better developers, they are needed as a baseline to learn a complex API, Framework but I’m more interested in the theory of approaches to solving problems and more general information than specific tutorials.
Some backstory on the why it’s Boss Fight weekend.
My last blog post was on a Utility AI system. I had an Indie Game in development called I Can Has Lazer. Yes, that’s past tense, I had. It was a a side project of my and one artist. We both ended up getting contract work on porting Hawken to consoles, so we had day jobs, and then this port with Hawken’s crazy in depth UI to make it work on consoles. There went all my time last winter. I worked about 65 hours a week plus commute times to my day job. There was no time left over for the Cat game. As well, the Cat Game never became fun. We had lots of cool tech things in it. I especially liked the world select screen.
But, the game just wasn’t fun. Earlier in 2015 I did contract work making a proof of concept on a UE4 game. The idea of it to me was crazy. It honestly was fun to play in the first couple weeks of development. The idea was that you were a Lemon in a deep grieving process of the loss of your fiancee or wife. But, really you maybe weren’t a Lemon, but a man, grief stricken and having a seriously bad intoxicated weekend bender and this was all a complex hallucination in your head. Funding wasn’t in place that I could just work on the game and complete it. But, I saw that this could really be fun and also didn’t want to see the Designer waste his money on only a proof of concept. So I committed to complete the development on it for royalties. At this point working on the game has pretty much consumed my entire life outside of my day job. We are scheduled to launch February 1st 2017. Our initial launch date was July of 2016, so there’s been serious slippage. The amount of work in completing a Video Game, even a small one is incredible.
Here’s a link to the game’s site: www.lemxns.com
I first heard about Triage when I worked as a Level Designer at The 3DO Company in 2001. The metaphor is for game features but based on how Military casualties are handled. I don’t know if it’s actually how casualties were treated in Viatnam but this is the story I was given.
Wounded soldiers in the hospital tent, and there are too many compared to doctors and nurses so this is how they categorized them to save maximum lives. Divide them into 3 catagories. This is where it get’s it’s name. Triage.
First category: These guys ( or gals ), are going to die no matter what is done to them. No matter how much time, attention, surgery etc. that they get, they are going to die.
Second category: These soldiers will live no matter what is, or is not done to them.
Third category: These soldiers could go either way. If they get time and attention they will probably live, but if they don’t they will probably die.
There is a point in game development where you just have to finish the game. We were at a point where all the major game features were complete and fixed every single bug and called that Alpha. But, the game wasn’t really a game yet. It was just a tech demo of game features that while they worked and were fun, it definitely wasn’t a game.
We got a booth in IGN Middle East, which was awesome because there were only 4 Indie Games at the event so we knew we’d get a lot of exposure, to the people that attended at least. We used that as a deadline to make a playable demo. It was the first time the cut scenes and level progression was really in place. The event went great and we got feedback through surveys on the game. We asked very specific A /B type questions. Nothing open ended such as. Did you like the controls? Instead would ask did you prefer the Keyboard and mouse or the Gamepad? From the feedback we addressed all the issue’s in the next couple weeks, but them it looked like we were going right back into a cycle of continuous improvement of what we allready had but not completing the game.
We also missed every one of our previous deadlines. The demo for IGN Middle East was the first one we actually succeeded in completing on time.
So we set an aggressive schedule to complete the game and are applying Triage Techniques to game features. A lot of our game is procedural generated so art assets just need to get added to data lists, but some of our levels, especially the Boss Fights are designer sculpted and work in conjunction with the particular Boss. The Bosses’s also need all their animations setup to work along with their AI and any other scripted elements for their fight.
We gave ourselves 2 weeks to complete our first 2 worlds. We somehow added in an entire Boss fight and made the deadline. In fairness, we had been working on these for more than a year so it was really just a wrap up. We are in the 3rd world phase which our deadline is in 3 days from my writing this. It needs a Boss, the Art was complete for this. There are 2 more worlds which we allotted 2 weeks each too. If we stick to our schedule the game will be content complete December 31st. At which point we need to add in the achievements and make the builds for Mac and Linux all work on Steam.
If we end up having to Triage too many features, we may have to again slip our publish date. It is very important to us that we put out a complete game. If we call it early access it is just because we don’t have a team of testers and anticipate there being some bugs we need to fix. We will not publish it with the idea of still needing to add to it.
So, the Boss Fight weekend.
Oh, one more thing. John Romero talked about one of the principals they used at Id was never to leave a bug. As soon as they found one, they would fix it right there. We had a large list prior to Alpha, but took care of all of them. We have been keeping it zero bug basically on a weekly basis since Alpha. Zero known bugs, but I address them as soon as one is seen.
Last night instead of going to the comic book store and playing Friday Night Magic I fixed bugs, and did the technical setup of the Boss so that over the weekend I had a clear path to create the fight scenario. We allready had 2 Boss fights. The first is a swarm of zombies and the 2nd is a giant creature that charges. This fight is stationary, with a multi headed creature.
One important feature to a Boss fight is. The player should know they are in a Boss fight. We can change the music, but that’s not quite enough, so we wanted to change the HUD as well. Our character, Mr. Lemon has a juice squeezer that empties over time and as he’s damaged so we made one to represent the Boss. That should also give the player some indecation on how much more they need to damage the Boss since they do have a lot of health.
That is what the Boss looks like in the Editor after I set up his basic classes. Below is what the HUD looks like in the Designer now. It shows all the elements, we make invisible uneeded elements, such as the lives and lemon slices and reveal them as the game state requires. So, the Boss health will be in the lower right corner and we will reveal it on Boss levels.
I was given a stack of animations but it’s basically my job to make it into an interactive fight. The Boss is stationary and most of it’s attacks are close in, it has a breath attach for example. So I was thinking, the player will just want to stand far away and shoot it long distance, what’s to force him to get close. I think waves of zombies that spawn in at the edges of the map might help a bit, but spike traps that come up from the floor in a pattern will also entice the player to get in range of the close in attacks.
I’ll show progress on the Boss fight in my next post. I intend to post at least once a week from now until game launch, but hopefully I can do more. I’ve learned so much about the Steam Greenlight process, Marketing, and tiny sized team development this year and would like to share that information with other Indie Game Devs. I don’t forsee myself doing another tutorial anytime soon though, it will be more like a dev dairy for now.