Development Log: Space Scavengers 12/14 - 12/18
When I was writing the latest development log for the fantasy village level I'm currently working on, it struck me that those levels are only things I can work on for about half a day. But, it doesn't mean I'm only working for half a day on video game stuff. Far from it, as I'm also working full time on Space Scavengers, an upcoming sci-fi rogue-like that. That it equally keeping my skills sharp as both a game designer and the sole project manager on the team, so I wanted to keep documentation of that. Now, I think it should be made clear that I have the okay to be writing these development blogs, and I may be cautious/cryptic with certain things that we might be saving for an official announcement.
Development Week: 12/14 - 12/18
So even though this is the first development log, I should say that we've been in development with this project since roughly September, when the original team comprised of myself and two others. Since then, we've added a few more team members and lost a couple that just couldn't dedicate the time and didn't want to slow down the process. However, what makes me feel good about this project is that the team has been hand-picked by me, taking their skills into account and knowing that these guys are the best men and women for the roles. I've studied alongside them for the past four years at DePaul, where we built games together and critiqued different projects. We know our strengths and shortcomings, which is why I brought these developers on board. Anyway, enough of the backstory, the rest can be read on the Space Scavengers website.
Start of a new sprint
Based on how our team is situated and how everyone works, I determined that our best way of developing Space Scavengers would be through Agile Development with Scrum methodology. Since we're an indie team and our ideas are constantly fluctuating on the game, Agile Development gives us the ability to stay flexible during the project and change the parameters as need be. It's already been very handy as we've broken away from the initial idea of the game a couple of times, and returned to some stuff later on. To help keep ourselves on track and moving forward, we work in sprints where we set a goal for where the project should be at the end of two weeks (such as game features or certain objectives), and then lay out the tasks needed to get there. My job, during these meetings, is to take a look at our documents and state of the game in order to help determine and guide the team towards picking the next feature to work on. Once we've decided what we're going to work on, I then break down the feature into tasks and assign them onto our online task list powered by Trello. With this sprint, the first thing I did was offer critiques on the last build we made, with most of these critiques coming in the form of fixes that need to be made to our current art and animations. With that out of the way, we then moved onto determining that our next sprint is going to focus heavily on getting the random level generator to be more sophisticated, generating specific styles of levels and dimensions, as well as what specific room hazard based on the style of level. Sorry for being cryptic on this part, but we're planning an announcement at the end of this sprint, showing off the three different level types in action. We're also going to be fine-tuning the Player controls, making sure health works and adding in room repairing stats. We determined what art would be needed for this phase, as we're currently revamping how our art looks, and what levels would be worked on this sprint. A lot of my focus on this meeting was guiding how the sprint would play out, making sure that the team is going to have enough to do, but that we're not setting ourselves up to fail during the holiday weeks. This is a huge sprint for us, as we'll get the chance to see if our end result is going to come close to what we're currently envisioning it to be, so a lot of my production tasks this week are going to include keeping on the team to make sure their tasks are getting done.
Game Features backlog
For all the producers reading this, you're probably going to be floored when I say that to this point, we haven't had a game features backlog. We of course have a GDD and TDD that we are working from, as well as a production/asset backlog, but to this point I have not had a spreadsheet I can look at to see exactly what game features have been completed, what's being worked on, and what needs to be done. So, I took the liberty of making that document this week. What this is going to do is give me another point of reference when talking to my programmers, adjusting our production timelines, and when leading sprint meetings. I can quickly look at the sheet and find the next logical place to go.
Check ins and motivation
With the holiday weeks coming up, our team is starting to feel a little bit of burnout and excited to take a small break from the project to enjoy the holidays. I'm excited for them to have that break, but I'm a little bit concerned about the burnout. I've start to figure out how best to motivate the team coming out of the holidays, and I'm not just talking about pats on the back and "you can do it". I'm brainstorming ways of generating genuine excitement among the team, to get them to push harder to get this project out of time.
Plugging in 2D animations
I'm not working on level design for this project, as I normally do, because our other game designer has a better sense of a 2D layout space. My role, as a game designer, focuses on everything else including technical design within the game engine. As our artist is getting a lot of animations in, it's my job to get them plugged into Unity and turned into prefabs that can be utilized by our programmers and accessed by the level generation system. This week, I plugged in a lot of the remaining animations for our first type of enemy. In Unity, this is fairly easy to do so by first taking the sprite sheet and breaking it up, and then dragging the sprites into a Unity scene. I have a specific scene I use when creating prefabs, so I dragged these new cut up sprite sheets into the scene and the animation created itself.
These aren't all of the animations, our artist is still finishing some of them up. For our AI, I drag all of the animations for each AI into the scene, and then utilize the animation file that is created to plug into an animation controller that is used by the AI. What I like about this way is I can see all of the animations at once, and I can easily see if something is off.
We also got some of our blood particles done this week, which are going to be used in different scenarios to display that the enemy has been damaged. Now, I first thought that I might want to create a particle effect system for this, but determined that a simple animation prefab will suffice, as we only want the animation to play once and we also want full control over where it plays. So in the same way that I've created animations thus far, I broke up the blood particle sprite sheets into individual frames and then dragged them into the scene. From here, I named the blood particles properly and then dragged them into a special VFX prefab folder. Here's the end result.
More animations for level elements
Our artist has been working hard this week to create animated level elements that we are using as prefabs, with the two main ones being a gravity elevator and a teleporter used to signify the starting room. Both of these objects are animated prefabs that need to be created, so once again I used the sprite sheet editor to break up the sprite sheet and then drag in the sheet into my scene, which automatically created the animations for me. However, in order to get the best effect, I needed to add some more frames into the animation, which I did by using the animation window and dragging in extra keyframes using the provided images. The end result looks a lot like this.
For the gravity elevator, I had to create an empty game object and utilize the animated sprite twice (one for the top and one for the bottom). For this one, I also create a particle system to help the animation come to life more and add to the effect of a character floating from one point to another. The end result is below.
Narrative and Starmap
Outside of the engine, a lot of my game design focus has been on building the narrative for the game. I'm not going to be divulging much information here, as this part is going to remain a secret for now, but I'm first getting a general overview of the story and then I'm going to be diving in deeper. What driving points can we add in, who will be driving the story forward? What will be said to get the Players invested more? And can we keep Players guessing as to how the story will come to a resolution, so that we don't get labeled as predictable. Space Scavengers isn't going to feature a block-buster narrative, but I want it to surprise people in a good way.
As far as our Starmap goes, this is being treated as our overworld, letting Players select the next destination that they want to go to. Midway through the week, I discovered a vital flaw in our current design, which now has me back at the drawing board. Long story short, We were going to give the Players three different destinations to choose from. But, all these paths led to the same place and take the same amount of time to get there. If this doesn't make complete sense, basically what I realized was that these choices didn't matter and would lead Players asking why they were even given a choice. So, now I'm in the process of figuring out how to make choices matter and make the Starmap more meaningful. The latest idea still needs some work, but I'm hoping to have it done by next week so we can include it in the next announcement. Once we like it enough, I'll be creating the technical document that our random generation programmer can refer to.
Okay that's it for this week! Next week will be a shorter week with holidays, but I'll still be working hard.