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.