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.

Friday, February 12, 2016

Investing in Levels

As the intensity of production begins to increase so does the specificity of my work. Over the last week I've gotten started on designs for the smaller ships that the player can enter. This was done in my sketch book so that I would have a lot of freedom with the initial design of these ships. I designed seven ships and another four smaller ships that may be used to teach the player the various environmental mechanics in the game. This is far from the number that will have to made for the in total but it's a good start and got me experimenting with level layouts and mechanics. I also hunted down some issues with the level editor this week that had to do with the origin of the tiles. Basically when the level was built in Unity the tiles weren't in the right place because their origins weren't where they were supposed to be. Working with the level team to find out what was wrong took some time so I unfortunately wasn't able to build any levels this week.

In other rather scary news Midterms are fast approaching. As far as what Weathered Sweater needs to have ready we're in a pretty good place. A lot of what we need is done and what isn't done won't be hard to accomplish in the time leading up to the due date. My work to prepare for this consists of locking down the number of smaller level ships with the team and what secondary mechanics we need to have. In the coming weeks I'll be implementing those secondary mechanics and building a number of the ship levels so that we have a solid and tested build ready. It sounds like a lot of work but the secondary mechanics are generally simple to script and the levels are just a matter of getting a selection of them built and tested so I can iterate on them. I can't believe that Midterms are almost here. I guess time flies when you're having this much fun.

Friday, February 5, 2016

Moving Forward

This week was a completely different experience than last week. This week, rather than focusing on conceptualization I've moved on to prototyping. This includes both levels and secondary mechanics. At the beginning of the week the level team picked five of our favorite mechanics from last week and got to work prototyping them. I did two of these mechanics, spikes and destructible walls. We made a branch of Ryan's new framework to do it in so that we could start understanding it and not have to make too many changes when the framework is done and everything gets merged. In addition to creating those two secondary mechanics I also worked on a few level prototypes. This week these were simple and were mainly meant to get me some experience adding objects to the level editor and to test my new systems. I also experimented a little bit with the basic platforming in the game to see what kinds of challenges were possible. The issue which held me back from really getting going with level prototyping was that the tiles the level building tool was using were huge and didn't give me much control over the level. This issue has already been fixed and I'm looking forward to being able to create some awesome levels.

This upcoming week we're going to have our first critique and I'm both excited and nervous about it. I'm not completely sure just how ready the game will be for it but I think it will be useful nonetheless. I hope to have my prototype levels looked at and played so that I will have a better idea of what is fun and what is not moving forward. I'm sure some of the feedback won't be surprising but the more feedback I get on the subject the sooner I'll able to understand how to create awesome levels for the game.

Friday, January 29, 2016

Concepts

Here comes the first real update of the semester, ready for it? Last week I did one thing, sketch up ideas. This included ideas for level layouts, secondary environmental mechanics, hazards, and enemy behaviors. These secondary systems are what the content in the game will be built out of and it was very important that we come up with a large pool of ideas we could choose from. The entire team's goal was to sketch 15-30 of these systems and mechanics. I ended up sketching 27 images on my own, some of which contained multiple concepts.

Greenlight is our next big goal for the semester and we're aiming to be ready for it. For us greenlight is about having a solid organization and plan for the semester as well as having a direction for the content in the game that we're confident about. My role in the shenanigans leading up to this milestone is to get some partial levels feeling good that show where we want to take the game. This includes level design work and programming various environmental secondary mechanics as well as maybe some basic enemies. When the pieces of levels I'm creating start to feel good and capture the player's attention I know that my part of the milestone is ready to go. Hopefully I get this done sooner rather than later so that I have as much time as possible to create content.

Friday, January 22, 2016

Start Your Engines!

Hello all. Let me be the first and only person to say welcome to my development blog for this semester. The semester in question happens to be my final one in college so in case you don't want to read the "about me" section let me get you caught up. My name is Jeremiah Warm and I am a senior at Champlain College. I am majoring in game design, minoring in game programming, and loving every second of it, yes, even the late nights. This semester I am on a team named Weathered Sweater (@WeatheredSweatr), a multidisciplinary development team for a class called Senior Production. We are making an action-dogfighting-platformer currently called SkyMech. I am a level designer on the team and am very excited to work on the game with all the other awesome people on the team.

The purpose of this blog is to create a space where I can post updates about what I'm doing each week and other general information about the project. I hope to provide insight into the development of the game as well as capture at least some small part of my creative process. Check back each week for a new post and feel free to check out my portfolio at www.jeremiahwarm.com and follow me and Weathered Sweater on twitter at @JeremiahWarm and @WeatheredSweatr respectively.