I moved to a new URL! Check it out!

posts filed under: general

Dev Log: Animations

Dev Log: Animations
Whoa what is this! I opened up Photoshop and I'm actually working on an animation for Super Sky Sisters!

Image


Just a simple little animation for the squid guy enemy:

Image


Progress!

Dev Log: Optimization City

Dev Log: Optimization City
One of the last things on my to do list (before animations) for Super Sky Sisters was optimizing the crazy results screen that players will see after a session. This is a screen that shows a graph of your orb's health, each player's health, and your score over time. On top of that you also see the timeline of the game events that the players had to endure.

Image


My first attempt at this was pretty crude but I did whatever I had to do to get it done. I basically just have some dictionaries with timestamps as keys. My first attempt at this screen would just render out the graph by iterating through all of the keys of each dictionary and plot the value using a draw line method in Otter. This worked fine except the players can also zoom and pan around the graph. Needless to say on long play sessions this lagged horribly since whenever the graph moved or zoomed it had to redraw the entire thing based on the new zoom and pan values. At least it only rendered the graph when it needed to be updated though, right?

My first attempt at fixing this was moving the graph rendering to a coroutine. The coroutine would be fired off when the graph needed an update, so you could see the graph redrawing itself without the game itself slowing to a crawl. So while the framerate maintained itself at 60, the graph updating was still very slow. I tried making two different surfaces for the graph to switch to, and render to one behind the scenes and swap it out when it was done. Some kinda fancy double buffering or whatever, but the fact remained that the graph rendering was just way too slow for this.

Image


My solution was to render different zoom levels of the graph up front at the start of the scene. This causes a small hiccup at the scene transition, but after that everything is as smooth as butter, or something like that. There are 4 different graphs that are rendered, and when the players zoom in and out the graphs are being scaled up and down. When the scale reaches a certain threshold the graph will be switched out for the higher zoom level one. The final result is that you can zoom and pan freely and there's no lag at all. I guess this is sort of like mipmapping? Maybe? I don't know, but it works.

Dev Log: Sounds n Stuff

Dev Log: Sounds n Stuff
Hey I'm being productive! Mostly. I'm still 'crastinatin' on the animations I have yet to do for Super Sky Sisters, but I am now getting some final stuff done on other aspects of it. I've been tackling some of the sounds lately and throwing in some temporary music so I can set up the music management system.

For sounds I'm turning to a new program I found on the internet called LabChirp. It's similar to the great and eternal BFXR, but it creates a different style of sound that's (to me) more akin to the old console sound chips.

Image


In other news I'm also working on the balance of the game. I've gone through and tweaked a lot of the game events in regards to how they grow more difficult over time, and I've also done some reworking of the difficulty levels that can be selected at the start of the game. My goal is to have a single play session last around 10 minutes, and during those 10 minutes I want the player(s) to be able to defeat all three of the game's bosses.

Dev Log: What's Left?!

Dev Log: What's Left?!
Yes, the procrastination continues on the animations for Super Sky Sisters. I've been diving more into doing general drawing and art stuff lately and spending a lot of time with the ole Manga Studio... but this of course isn't really pushing the game closer to completion. I mean, this is pretty much all I have left:

Image


The enemy animations task will be expanded for each enemy, but aside from that everything is pretty much straight forward. I am working a little bit on getting music and sound in there but with just placeholder stuff for each. Balancing the game is also proving to be a little difficult as it's really hard to see the effects of each change without playing a bunch of full games.

I'm at the point of the project where I think I'm spending more time playing the game than working on it since a lot of what's left requires complete play session to test. Sometimes I toss around the idea of making a simple AI that will play the game but I feel like that's just going to be opening up a dark dimension of infinite iterations and procrastination.

I think I'm going to have to super buckle down and do some time boxing to finish this out.

Quick Explosion Stuff

Quick Explosion Stuff
Last night I had the opportunity to talk about explosions in front of a group of game developers. I ended up doing a live demo of making an explosion effect from scratch. Here's what I ended up with after about 45 minutes:

Image


Not my best work but not bad for having to come up with something on the fly in front of a bunch of people. I ended up using Photoshop for animations, ShoeBox to spit out sprite sheets, and Otter to implement the effects.

Image


One of the fun things of the presentation was adding suggestions from the audience which included spawning more explosions from the first explosion. This is why the whole screen briefly fills up with explosions and then calms down again. It uses a quick recursion to make the explosions chill out after a couple of booms.

Image


I had a lot of fun doing this and I want to turn it into some kind of screen cast or stream. I didn't end up recording it since I didn't want to really complicate the set up at the last minute. Running a live demo is already scary enough.

The full source code is available here. The assets needed are uploaded here. If I do a more full version of this talk I'll be sure to post it here!

Dev Log: Procrastination

Dev Log: Procrastination
Super Sky Sisters is almost done, but I'm having a lot of trouble actually bringing it across the finish line.

The very last thing to do on the game is animations and this is something that I struggle a lot with usually. Animation is probably my weakest skill amongst my game development related talents, and I usually save it for the very end of the project if I can help it. Offspring Fling had almost no animations until I was about 95% done with the game... I think the entire game was totally playable start to finish with all of the secret content and everything before I did a single animation on any of the enemies.

Since I'm not that good at animations I usually get very flustered when trying to work on them. I constantly do not produce results that are good enough for my own taste, which leads to me being very discouraged, which leads to me not liking to do animations, which leads to me procrastinating on doing animations even when it's the last thing to do in the project.

I should probably stop making excuses and just do it because that's the only way I'll be able to get this game done! But first.. I think I'll go work on sounds for a little while.