Friday, April 8, 2016

Going for Gold

This last week was beta and this upcoming week is gold master. Time is really flying by at this point. I got a lot done over the last week including a redesign of the three stage boss ship as well as some new level ship designs. I also implemented the foreground of the ship so that it will be covered by tiles until Arc enters it. We got a lot of feedback about the levels on Wednesday and still have a lot to work on with them. The biggest issue was players not knowing where to enter the ship from. Currently I'm thinking that creating some landing lights that can be turned on and off to direct the player might be a solution for this particular problem. We still have some iterations to do on the levels but we're hopeful that the game will be basically done next Wednesday.

Friday, April 1, 2016

Beta Bound

Well alpha was a ride. From last Friday to Wednesday I got 15 hours of sleep with Tuesday night being an all-nighter. Over that not-very-restful period of time I got more functionality into the wave spawner, designed all three boss levels, and built one of them in the engine. Since Wednesday I've been working on more levels to put into the game as Ryan is working on the wave spawner so I have more time to put into levels. I have also iterated on the tutorial level to get it ready for testing on Saturday. The game is starting to get really fun with the levels, weapons, and enemies in. This week is going to be another tough week but I'm looking forward to making more progress and getting the game beta ready.

Friday, March 25, 2016

The Alpha is Nigh

Oh wow did time fly. I did not realize how soon Alpha is. It's been longer than usual since my last post. This is because last week I was on spring break and at GDC. Basically that means that I did no work on Super Sky Mech (not that I was expected to). However, the Alpha date was a rough reawakening. It's crunch time now and I'm ready for it. This week I've been working on getting the level ships spawning into the world. This requires its own manager as the possible spawn points need to be managed and chosen at the right time to spawn level ships. To keep the game running quickly I'm implementing a chunking system which will only evaluate spawn locations that are near the player rather than all of them. It ends up looking like this when visualized in the engine:
Each colored section is a different leveled area and each smaller rectangle is a chunk. The spawn points are assigned to the chunks programmatically based on position. In-between each level area there will be a larger "boss" ship for the player to beat which this manager will also handle.

Before creating the start of this manager I worked on two other things this week. Brent is a part of the levels team now since we don't really need new tools at this point and so I finished up some work to get the level building process ready for him. I solved a standing bug and sorted out one which cropped up while I was away. I also wrote a guide on the wiki about how to make and bake levels so they're ready to be spawned into the world. We have our work cut out for us to make Alpha but we've already made good progress and I'm not worried.

Friday, March 11, 2016

Test Run

As I mentioned last week this week was the first time we got to test Super Sky Mech in the QA lab. Me and Matt went and tested my tutorial level to see if it could effectively teach people how to play the game. Before testing I added on a third part to the level based on feedback I got from the team. This section taught the player about crushers, destructible walls, and the power cores that must be destroyed in order to destroy the level ships. After those were put in the level was ready for testing. Even without a certain elevator in the level testing went very well. To test it we just wrote down the controls on a whiteboard and unleashed the testers into the level. Almost all of them understood the game and beat the level first or second try. We got tons of awesome feedback from the testers on what made sense and what didn't. One remark that I thought was very intelligent is that the crushers are one hit kill and because they're at the end of the level if the player is killed by one they have to redo most of the level. The other big issue with the level is that because of the way destructible walls look and the way I introduce them in the level players don't immediately understand that the walls can be destroyed. I think that once we get art onto the destructible walls this won't be a problem.

The other thing I did this week was very roughly conceptualize the three part boss fight. To do this I took into consideration general pacing as well as how to introduce the boss in a way that contributed to the narrative and made sense. The outline is very rough right now but I think it's headed in the right direction. On an unrelated note I'm going to GDC next week! This means that I won't be doing very much Super Sky Mech work next week. However, I'm super excited about getting to learn from and network with industry professionals and I can't wait. Wish me luck!

Friday, March 4, 2016

Learning to Sky Mech

I know how to Sky Mech, but you still need to learn. That's why my main task this week was to create a tutorial level. The tutorial level's goal is to teach the player basic movement both in platforming mode and in flying mode as well as the various secondary mechanics. Teaching such a large number of mechanics at a rate the player can grasp in a single level is challenging. Getting the player to understand that they can wall jump is especially tricky but I think I've accomplished it. The tutorial level has three distinct parts. The first part teaches the player the basics of movement and what spikes and doors/switches are. At the end of this part Arc get's her transformation drive and must transform to enter the second part. The second part teaches the player how to navigate while flying and at the end what the transformation barriers do. The third part wasn't a part in my first iteration but after feedback from the team will be added in. It will teach the player about destructible walls and crushers then release them into the world. I will know whether or not my tutorial level is effective this weekend when we test it in the QA lab.

Other than the tutorial level I also wrote a script to spawn enemies in. The script can spawn a single enemy of any type at the correct level and an extended script can spawn multiple enemies either on a timer or when the last enemy they spawned died. This allows us to manage enemies easier and scale the difficulty of ships depending on what area they spawn in. The other big news is that we finally decided on a name, Super Sky Mech! I know it's a lot like the old name, I mean it is the old name just with super added on to the front. However, feel that the name represents the gameplay and the platform very well and are very happy with it.

Friday, February 26, 2016

Iteration

The name of the game this week was iteration. Specifically iteration on my level design practices. Just to refresh your memory during the critique I got feedback that the levels were paced too quickly and that they weren't big enough. This week I tried my hand at fixing those problems. In doing so I created two new levels which are both much larger and far better paced than my last two. They're much more interesting and much more fun to play. Both incorporate most of the secondary mechanics we've made so far and act as a sort of testing ground for them. I really enjoyed making these levels since they were so much bigger and I could think about the pacing of each one a little bit more. The major disadvantage of these larger levels is that they take longer to make. The other task which I got done this week was to make the level ships destructible. With this feature in the ships are completely playable from start to finish and a huge element of the main gameplay loop is in. The last thing to implement to make the ships truly testable are the enemies and Ryan is hard at work getting through the UI so he can start them. The game is starting to come together now and we're close to just pumping out content.
One of the new, larger ships

Friday, February 19, 2016

A New Face

This week we introduced a new face to the team, Rotorz. No, that's not a really strange name, it's a level design tool that we decided to invest in. While our tools team had a really cool level design tool that they had been working on it was having some growing pains and we needed to get going. We found Rotorz and thought it looked great so we took the plunge. I could not be happier. Rotorz is incredibly easy to use and has streamlined my workflow like nothing ever could. I put the old tileset into it so I could begin playing with it and creating levels. Once Ian had given me the new tileset I put it in and created three levels for the critique.

The result of the critique was overall good. People had fun with what was in the levels but felt like there wasn't that much there. Which there wasn't, enemies aren't in yet so a bug chunk of what the levels will be wasn't present. The more pressing feedback from the critique was that the levels felt small and too fast paced. Thankfully these two issues are easily solved in the same way. The issue with the pacing is that there are no rest areas, it's all action which tires the player out. By adding in rest areas the pacing will be better and the level will get larger. I may still need to increase the size of the ships but it's a solid first step. Finally being able to create some levels easily has given a lot of confidence moving forward. I know that the more I make levels the better they'll get and with Rotorz that process should be much easier.