5/31/13

Last night I made a tough decision: I'm going to stop trying to port Doomsday Darren Goes Fishing to Windows, at least for quite a while. This may disappoint any Windows users who were planning on trying this out, but hey, at least they got Chainsaw Deathrace. Of course, I do have my reasons for this. The biggest reason is time. At the start of this week, I was already behind schedule, having failed to complete Singularity prior to the jam. With only a month left before it becomes a necessity, I need to complete it and test it now. The cross-compile progress that I was making was quite slow, and I'd already lost a week with nothing to show for it. The last thing I want is a repeat of Chainsaw Deathrace where I decide to make a few simple updates and it becomes an enormous, months-long undertaking. On that subject, I swear I'll get it done eventually. Maybe. With that explained, on to the postmortem:

What went right:

The sounds. I realized partway through making them that I'd already made quite a few for previous games, grabbed a couple of those, and saved myself the time of making them myself. As for the music, Peter continued his trend of finishing the music just late enough to make me seriously worried, but not quite late enough to cause too many issues. Still, I think it's usually worth the wait.

I got a ton of work done on the final weekend. The amount of productivity was mind-boggling, especially during the final 6 hours or so.

As with many of my previous jams, I knew what to cut, and when. I'd wager that's the reason I keep managing to complete these. The game was originally going to be much bigger, and much more open. For starters, you were going to be going underwater to catch things originally. You'd get rumors about Big Red's whereabouts, and you could go to different parts of the ocean to get different catches. Naturally, this proved to be WAY too big, and it took me a while to settle on the design as it is now.

What went horribly wrong:

I slacked off early on in the jam, only putting in 1 or 2 hours of work in some cases. I think this was because of the jam's length being a week, so I didn't feel much pressure until the last 48 hours.

Despite not getting work done, I wasn't making sure that I got enough sleep either. It didn't start too badly, but I was exhausted by the time it really counted.

This was my first time in months using GLUT. Worse yet, I hadn't touched C++ in quite a while thanks to Singularity. Due to that, I made a ton of rookie errors, which led to hacks and weird fixes, which eventually led to the nightmarish monstrosity that my codebase is now.

I didn't bother with an IDE. I spent the whole time instead using CMake, even though I hadn't used it much with C++. Had I just used Code::Blocks instead, porting to Windows would've taken an hour or two. As it is, I spent a week and pretty much got nowhere.

What I might've done differently:

One of the most obvious things I'd do is try to get more work done during the week. That alone would've allowed me to make a much bigger game.

I should've gotten a bit of a start on the engine before the jam began. None of the gameplay, or anything, but it would've let me run into my problems early on, leaving me with more time to create rather than bugfix. Of course, I've always felt a like too much Game Jam prep is cheating, so I can't say for sure that I would actually do that. Still, doing a little project to make sure that everything was working would've been nice.

So, with this over, I'll be back to finishing up Singularity quickly, then I'm going to work on AMAZE and my editor. I'll post on that later.

5/28/13

So I said that I'd start making Youtube videos of the games I make, and here's the first:

Sorry about the poor video quality. I'm still getting all of this set up, and future videos will be in higher quality. I plan on getting some footage of Diamond Rush! and A Wheelie Good Time up within the next week or two.

In just about 3 weeks, this blog will hit a nice little milestone: a whole year of updates. Why I'm posting today, however, is for a slightly different matter. With my last post, the update count on this blog hit #53. This means that I officially posted, on average, more than once per week during this first year. This is pretty great news. My original goal was to try to get one post per week, so I'm quite happy to see that I succeeded nicely.

There's something else, too. After a tiny internal celebration at finally creating and maintaining a blog without it suddenly disappearing forever, I turned to Youtube to relax a bit, which I do just about every day. It was then that it struck me that my Youtube channel is in the same state of unuse and general disrepair that I had rescued this blog from, and that it was quite a shame. Since I've already begun to unravel my summer plans, I figured that I might as well try to start making content for my channel. I finally figured out how to properly capture internal audio, and found a decent bit of Linux recording software. As you've probably guessed, I intend to start uploading gameplay videos and progress updates of my games to Youtube. This doesn't mean that I'll post any less here(In fact, I'll probably post even more as a result), and that way, I can show off my games in a more engaging manner than screenshots. As my first new video, I plan on uploading a few minutes of Doomsday Darren Goes Fishing tonight, so that non-Linux users can see it while they wait for a port.

5/23/13

So, I probably should be posting more often during this jam, but I guess I never really thought of it until now. Because of that, I'm probably just going to post once more at the end.

These first few days have been a bit slower than I'd like, I'm afraid. At this point, I've mostly set up the engine of the game and little else. However, I do have good news on that front! Thanks to a few hours of random research, I now have methods to run very fast collision detection tests, leading me to create the latest version, which I now dub Ultra Seagull Massacre 2013:

Oh, the humanity!

I must say, I'm quite happy with the results.

Anyway, that brings me here, to day 4. I've got my friend Peter, the guy who makes all of my music, working on some tracks for the game, and I hope to have something resembling the final gameplay to some degree done by the end of tomorrow. If that's what happens, I think this'll go pretty well.

5/14/13

First off, I thought it'd be good to mention that the next version of Singularity is almost in working order. While there are a good few things left after getting it up and running, The end is very much in sight now. I think I may be done by the end of this week, in fact!

As the title may have alerted you, there is another game jam coming up that I plan to participate in. In one week, I'm going to participate in the new 7-Day Fishing Game Jam. I've never made a game about fishing before, and getting another game under my belt would be nice. I'll probably be posting most of my updates throughout the week in my thread, and I'll of course be putting up a development album on Google+ again. I've decided to reuse the character from A Wheelie Good Time here, and I'm finally giving him a name: Doomsday Darren.

5/2/13

It's been a very long time since I last got much work done on a personal game project, and I must say it's a bit sad. Singularity has consumed my dev time, and when that's done I still need to work on my level builder. Since I can't really work on a game much right now, I thought I'd take some time to write about all of the school projects that I never really mentioned in detail. I guess this is going to be sort of like a postmortem for them. I'll write about them in the order that I made them:

1. Game History and Development - Planets of the Plant

This was my first game project for school, and it was a bit of a trainwreck. The original design was for a light-based puzzle game/waiting for crops to grow combination game. However, this being before Chainsaw Deathrace, I had absolutely no idea what I was doing. It certainly didn't help that I was stuck as the sole programmer, AND also ended up making all of the art assets. A few days prior to the deadline, I gave up on figuring out the light mechanics and threw together a quick demo of the growing mechanic in love2d, which actually ended up looking quite nice(because I put in a couple of simple but impressive seeming effects like parallax scrolling).

2. Game History and Development - Octocow: Reckoning

This was our second(and final) project of the first semester. The idea was to make a multiplayer arena shooter that started out cooperative, but could swiftly transform into a human v. human cagematch. In that aspect, we kinda failed. As it is, players never really run into a situation where it makes sense to attack their comrades. I primarily blame the fact that development took slightly longer than I had anticipated, and I think I could've added that in given a few more days. This project was also a bit more challenging because I had to deal with two less experienced programmers who didn't understand how my code worked, but my grade depended on getting them in on the action as well. In the end, I took the easy way out and tossed a couple of easy functions at them, like getting the direction from an enemy to the player.

3. Game Tech I - Untitled maze game

The very first flash game that I had to make, though unfortunately not the last. The general idea was that we had to make a maze game where the player followed the mouse and touching various obstacles, like walls, would kill them. I decided to go beyond that by adding items that you could grab for points, and switches that would open/close trapdoors and blockers. I also tossed in a 'boss' at the end(the wizard guy), and made toss fireballs around. It was a hard game, but I think it turned out to be rather fun.

4. Game Tech I - Untitled Vertical Shmup

For our second project, we had to make a vertical shooter. By the way, you may notice that most of these Game Tech projects are just thinly veiled 'standard tutorial projects.' Technically speaking, we weren't expected to be capable of programming games properly at this point, so this was supposed to be an intro to that. Anyway, I was a little too ambitious with this project, and had to cut back a bit to get it in on time. Instead of a proper level, the game just had an infinite loop of enemy formations. It was also quite hard. Seriously, it was really hard not to die. Remember this entry for when I discuss my final...

5. Game Tech I - Untitled Horizontal Shmup

Horizontal now?

I try to avoid putting memes in this blog, but the opportunity was too good to pass up

To be fair, we weren't supposed to have scrolling in our last game. The thing is, though, I did. That made this project feel a bit redundant. Anyway, this was notable for being my first Flash-less flash game. Instead of relying on that program, I just compiled .as files with Flex, which made this project difficult but simplified future projects. This was more on the bullet hell side of the spectrum, but it was actually winnable unlike the last one. It also featured randomly generated terrain that you could in fact collide with, although the collisions were a bit weird.

6. Game Tech I - Defender!
This was a fairly open project, where the only real requirement was that we had to use Flash's drawing api to make our graphics. I created a defense game where you control a large turret situated a planet and must destroy incoming... red triangles. I also messed around with a very basic menu of sorts, which came in handy for later projects. After every wave, you could buy upgrades for either your health or your damage stat using points gotten in the level. However, health was always a bit useless, since you wouldn't get points from enemies that hit you. To be honest, it was rather poorly balanced.

7. Game Tech I - Hexerpent
Oh god, this game. This one and the next were a nightmare and a half to make. The goal here was to make a simple snake game, so I decided to do something unique by placing it on a hex grid. Somehow, what should have been a fairly simple game became riddled with bugs, and generally sucked.

8. Game Tech I - Leave Black Alone DX
A limited, partial remake of my first ever game jam game, Leave Black Alone. I still can't believe how hard it was to get some parts of this one working. In any sane programming language, this would've been fairly simple. In Actionscript... Well, I still get nightmares about this stuff.

9. Not a game, and not interesting.

10. Game Tech I - 1DP: The 1-Dimensional Platformer
Now THERE'S something fun! This game turned out to be a blast to make, and it felt more complete than most of my other games. As you might've guessed, the project this time around was to make a platformer. I went for a pseudo 1-dimensional look, just to make it a little bit different. All of the action took place on a line, where 'height' was represented by something's brightness. The visual aesthetic made it hard for other people to play, but it was still pretty cool.

11. Game Tech I - Untitled Final Project

Man, I love this game a little more than I should. The professor gave us complete control over what we wanted to make, so I chose to go with another bullet hell game. This one, however, was much better executed. It has sound, music, lots of enemy variety, 2 levels(with 2 unique bosses), and enough difficulty that I might be the only person on the planet who's actually competent at playing it, and even I'm stuck on the final boss! Anyway, I'm somehow drawn to playing this game even after finishing it. I'm considering remaking it sometime, and putting the result up on the blog. The downside: I'm still wicked burned out from making this, and I may have temporarily messed up my hand from all of the testing.

So, that's all of the crap that's prevented me from working on personal projects! 11 games(plus 4 from game jams) in only 8 months seems like a pretty good result. Next year promises to bring even more with it, and I'm considering posting about the next game projects(and maybe putting them up). As a final unrelated note, I'm trying to finish the next version of Singularity before going back to other projects. After that, I'll get version 1 of LevlEd up and running, finish AMAZE, and hopefully have time left to work more on Chainsaw Deathrace. Someday, that game will be back in production! I hope.