Release

*drum roll*

After much deliberation, the team behind Cowboy Turbo has decided to wrap up what we (I) had so far, and release it as a type of illustrative concept/prototype/skeleton of what could have been. Unfortunately, indefinitely this project will be put on hold so I can proceed to work on other games. There’s a saying in the game design industry that your first ten games will suck, so get them out of the way. So I want to do just that.

You can play the latest version here (best in Chrome/Safari/Firefox).

Press Z and X to shoot left and right, and SPACE to reload.

I learned a tremendous amount about the “programmer’s mindset,” basic JS and ImpactJS up to this point. The most important lesson of all is probably that of time/resource management–I simply don’t have the time/attention to be a one-man army.

I’m now officially looking for a pixel artist to work with for future projects. In the coming weeks I’ll be changing this domain/website a bit and turn it into an overarching dev blog behind all games I work on. So long, and Happy New Year!

Let there be light

So the darkness of the wooden floors makes it super difficult to see the darker parts of the enemy’s clothing, so I’m strongly considering adding two slightly diagonal “lanes” of light coming out from two sets of tavern doors, on which the enemies will travel.

Also, a random game balance thought: I think the player should be able to “get rid of” townies safely (i.e., without penalty) by shooting towards them twice. After the first shot, the front-most townie will “freeze” and put his or her hands up. From here, the player can shoot again to force the townie to roll sideways out of danger (and disappear from the game). If it’s been two seconds or so and the player has not shot a second time in that lane, then the townie will exit the “freeze” mode and merely continue walking down towards the player. However, if an enemy collides with the townie while the townie is standing still, then the enemy will shoot the townie–forcing the player to take a massive score hit–and continue marching down. And if two townies collide in a lane, then the townie behind will begin his or her respective “freeze” mode as well.

This way, the player has more options (and more options with strategic tradeoffs = more depth… and hopefully more fun). Given a status quo, the player can just do nothing and, for instance, let a townie in the left lane march down into the “Eek!” zone, in which the townie will roll sideways and exit the field. During this entire time, a queue of enemies/townies/powerups has now built up behind the townie, and the player has a short window of time to juggle all of them. And of course, the player had all that time to concentrate solely on the right lane.

Alternatively, the player could shoot once in the left lane to freeze the townie. Of course, this should never happen if there is an enemy close behind. That means it would merely make the townie freeze for two seconds at the expense of one bullet. Not really useful.

Therefore we can conclude that the first-shot townie-freezing capability for the most part is useless; there’s no benefit to wasting just one bullet to pause a townie for two seconds. It’d make more sense to double-tap, firing that second bullet to get them out of the way and out of mind.

In conclusion, if I choose to move forward with this new mechanic, then the player will basically have two options when dealing with townies: spend 2 bullets getting them out of the way, or allow a queue to build up behind them.

+100

  • Scoring system (a lot of ideas for this)
  • Combos/”player skill rewards”
  • Weapon upgrades (e.g., hold up to 8 rounds, shoot through enemies [may hurt townies!], higher damage), perhaps as an example of the above
  • Story
  • Micro-popups (“bang!”, “+2 Ammo”, “-1000 Points”, etc.)
It’s a celebration! Not that it was very hard to code them but it was very rewarding getting them to “float up” for a moment before disappearing. It did take about 20 minutes of stupidly trying to troubleshoot why they weren’t showing up at all in the beginning, but that was just me being careless and forgetting to pass into the function of the scorePopup entity.

Get in on the ground floor!

Happy belated Thanksgiving, all. Last weekend I was tied up with a big work event, and then spent the next few days recouping and catching up on sleep.

Anyway, I spent way too long studying hardwood floors and trying to figure out how to draw convincing wooden floor tiles for the tavern interior. Anyway, here’s a solid first draft, I think:

Floored me

This engine’s got cylinders

Much simpler solution than I expected.

  • Code spinning cylinder as ammo count on HUD

I won’t post a screenshot of it since it’s godawful but sure enough, it works! It’s based on a very simple sprite sheet with 7 frames (0-6 bullets loaded). I’ll have to play around with it much later in the polishing/art stage to see if it’ll look better with more refined rotation animations (and/or smoke puffs/”Bang!” and the like). I may also have to add something special during reloading instead of just some text being drawn to the screen. Perhaps an icon of an hourglass filled with gunpowder.

Impact is excellent with sprite sheet handling, so implementing this was quick and easy. This is in my main game loop:

They shoot back?

I’m calling it a night. Almost all of the core gameplay is coming together pretty well. I noticed the fifth and last bullet point on the list below are the same: oops.

  • Code basic “spawning”
  • Code bandit/townie movement south
  • Code wave spawning
  • Code two revolvers
  • Code bandits shooting you
  • Code reloading
  • Code basic HUD with bullet counters
  • Code scoring
  • Code civilian killed count
  • Code bandit shooting when too close

Next steps, in no particular order: hopefully find time to fill in some more art (yes, I know), title screen, game-over screen, more enemy types, spinning cylinder as ammo count on HUD.

I think a lot of difficulty arises from perfecting the wave spawning system. Currently they do spawn in both lanes independently (earlier today they were spawning in tandem). The pseudorandom number generator also needs a ton of polishing/perfecting which I have a feeling I’ll leave to that phase where 90% of the game is done and you’re just wrapping up loose ends.

There’s a lot I’m (not) looking forward to during that later phase, including:

  • Scoring system (a lot of ideas for this)
  • Combos/”player skill rewards”
  • Weapon upgrades (e.g., hold up to 8 rounds, shoot through enemies [may hurt townies!], higher damage), perhaps as an example of the above
  • Story
  • Micro-popups (“bang!”, “+2 Ammo”, “-1000 Points”, etc.)

Shots fired

Mean bandits

Excuse the graphics. The still screenshot obviously doesn’t show much, but so far…

  • Code basic “spawning”
  • Code bandit/townie movement south
  • Code wave spawning
  • Code two revolvers
  • Code bandits shooting you
  • Code reloading
  • Code basic HUD with bullet counters
  • Code scoring
  • Code civilian killed count
  • Code bandit shooting when too close

There’s a lot more, but this was my to-do list for today. It’s beginning to look like some sort of Dance Dance Revolution. Next up is some sort of wave spawning system.

Another (and hopefully the last) core gameplay revision

Because I’m absolutely terrible at sticking to a game idea, I’ve recently come up with yet another tweak to the core gameplay. This time, I’m anchoring myself down to the title: “Cowboy Turbo.” That strongly implies fast-paced gameplay, which in turn implies an arcade-game atmosphere. Easy to pick up and easy to put down (edit: well, hard to put down because it should be extraordinarily fun, duh).

So here’s the latest bare-bones version of the game summary:

  • One “level” increasing in difficulty ad infinitum (think Tetris, Duck Hunt)
  • Top-down perspective, static scene
  • Hero (Cowboy) planted towards bottom of screen with two revolvers
  • Enemies (Bandits) and Civilians (Townies) spawn from the top of the screen, through the saloon doors
  • Player has to shoot Bandits to score and avoid shooting Townies
  • Player input consists of three buttons: fire left revolver, fire right revolver, and reload [both]

Saturday is typically my coding day so we’ll see how far I get tomorrow. I have a quick and dirty “task list” written up already, which I’ll post when I update it a few times.

Howdy World!

Cowboy Turbo will be a game about identifying the bad eggs walking around town and shooting them in the heart. You’ll need sharp observation skills and quick gunslinger reflexes! Be careful out there.