Monday, March 30, 2015

The Deadline is not Monday

Well, this was bound to happen at some point: I did not finish my game for this week! That's not exciting, but it does give me some time to think about why I ran out of time. Honestly, the answer is pretty clear: I should not have spent so much time trying to create my own character controller.

I had a lot planned for this week's game: I was going to make an infinitely scrolling level made of a three-tiered box-spawning system (easy). I was going to make enemies which re-position themselves (easy) and which fire attacks at the player which the player can deflect back at their enemies with a well-placed attack (tricky, but doable). The player was also going to be able to melee-attack these enemies (possibly tricky) and each time the player killed an enemy, the infinite scroll would increase speed (easy again). The player's movement would be simple: I'd just code jumping and moving one square left and right, and the infinite scroll would take care of the illusion of movement.

In retrospect... Yeah, I may have bitten off more than I could chew. But what really killed me was that whole "simple" movement system. I did not use Unity's character controller, and ended up not choosing a very elegant way of moving the character around. I began work on the game Thursday, and within a few hours I had player movement completed. I then created the infinite scroll of boxes, and immediately found that my movement system just immediately brought the player to the top of whatever box they collided with. I continued to work on issues with player movement until... Sunday morning. I believed I could tie the game up in a day after I had movement settled. Well, it's 3:00am Monday morning, and I'm calling it: no game this week. Tough noogies, but success is a poor teacher anyway.

One of my rules with this blog is to submit something to the blog before going to bed Sunday night (or Monday morning in this case). Another rule is to do a new game every week. This game never quite got off the ground, but I think the concept is sound... Maybe I'll start it up from scratch in some future week and see how it goes the second time through.

Sunday, March 22, 2015

Week 2: Convert The Sun

One thing that should be immediately clear by now is that I like contrasting colors and clean geometric shapes. It's probably just how my brain works. A lot of my game ideas tend to involve spheres, for instance. This week's game definitely does:

I wasn't certain what I wanted to make when I started making this. I knew I wanted to use bfxr to make some sound effects to use, and my initial idea was to make the game an exploration game, where you traveled along a small planetoid listening to different alien animals and identifying each one by its call... But while trying to figure out how to move about a small planetoid, I happened upon a gliding style of movement using the RotateAround method. With some trail renderers, and the ability to spawn a bunch more orbiting "pucks" you get something like this:

And I thought that was mighty cool, so I ditched the original idea and made the game about this little blue puck gliding about a bright yellowish planet shooting out more blue pucks. This was almost fun on its own, but I decided it'd be interesting if you had to worry about getting hit by other gliding pucks. I thought these could be red, but visually that was a pretty bad idea. So I kept the enemy squares yellow, to simplify things. At this point, the object of the game became clear: it's blue vs yellow. You have to eliminate the yellow to win. If you don't, the yellow will eliminate you.

A very simple game, really, but I got to brush up on my delegates, and use some sound effects I made with bfxr. I also had to deal with a lot of positioning headaches due to, again, a very simple game taking place in a somewhat complex arena. Oh, and speaking of sound, the menu music is by Alexandr Zhelanov, and the in-game music is by cynicmusic. Both files were used under this license.

I could have put a limit on the rate at which you can fire off pucks, which would have made the game much more intense, but I didn't. It's a very easy, calm-feeling game (with not-so-calm menu music, but it works). I feel like players can make the game intense on their own if they want.

Oh, and you can play the game here!

Sunday, March 15, 2015

Week 1: Diamondback

For week 1 I wanted to start with something simple. Something I already knew how to do. I managed to fail at this.

I decided I would make a simple shmup in Unity, but as soon as I was in the editor and seeing what cool things I could do, I immediately did this:

For some reason, I really wanted the player's ship to be pointing up at an angle. I also did this:

Since it felt like the player was actually shooting upward into the air, instead of forward into space, it made sense to have the player's projectiles sort of fall back downward at him or her after reaching their zenith. It ended up being a pretty cool mechanic, but all of a sudden my game functioned 100% on a diagonal plane in worldspace. This proved to be sort of an odd constraint to work with, especially when dealing with enemy behavior. The effect the perspective had on the game was definitely very cool though, and I got to make this thing:

All of these cubes move towards the player in unison, giving the illusion of there being a sort of odd, geometric terrain rolling far below the ship.

I unfortunately didn't have the time to implement any sound effects - chalk that up to poor time management, I guess. For my next project, I think I might start with sound. I've never tried using bfxr before, so starting from there could be very cool.

Anyway, if you're reading this and you want to try the game, it's up right now, right here!


Here's the inaugural post of "Sunday is the Deadline!" This is where I'll be posting links to what I make each week. I want to try to make a game a week for... as many weeks as I can keep that up.

I was definitely inspired to do this by Adriel Wallick's "Year of Constraints" talk at GDC, but the idea's been in my head for years. I really want a process that's going to effectively self-motivate me to spend more time designing MANY more games.

As of writing this, I'm a week in, and it feels good.