We have some Items on the agenda that we must discuss. [Updated: 9/3/2013]

UPDATE 9/3/2013 – The content of this post has been promoted to a full-fledged page here.

As promised in the previous post, I will be talking about the items and power-ups that will be in Gonna Catcha.

Double Shot

Allows the player to have two shots on-screen at a time.

Long Shot

Extends the range of the player’s shots.

Shield

Gives the player an additional hit point.

Ruckus

Causes all spirits and ghosts to stop temporarily.

Bonus Items

Grants the player extra points.
Copyright © Quadolor Games. All rights reserved.

That’s it, you’re going on my Enemies List! [Updated 7/13/2013]

UPDATE 7/13/2013 – The content of this post has been promoted to a full-fledged page here.
Original post:
It’s Pohena’s birthday today!  To celebrate, I’ve made a list of the enemies and whatnot that will be in Gonna Catcha along with some descriptions.
I have settled on six different NPC types for the game, which I decided to sketch up in GraphicsGale (vectors coming soon).  There is a small chance that I will add a few more in the future, but for now, six spirits seems sufficient.
Six spirits seems sufficient.

Six spirits seems sufficient.
Six spirits seems sufficient.

That’s makes a good tongue twister.


Left: Spirit.  Right: Sprite.
Know the difference.  It could save your life.

List of NPCs

Good Spirits

Wandering Spirit

Your standard happy-go-lucky spirit.  They’re so content that they seem to forget that they need to be somewhere.  They move around the level aimlessly; Donum should have little trouble collecting them.  They do no harm to Pohena, but she must take care to not accidentally shoot them.

Bashful Spirit

These spirits are still a little shaken at the news of their deaths and actively try to avoid the player.  As such, these spirits pose little annoyance to Pohena, but Donum needs chase them down in order to catch them.

Evil Spirits

Straying Spirit

Your standard troublemaking spirit.  Like their good counterparts, they move around aimlessly.  However, they are harmful to touch.  They’re spirits Donum won’t want to bump into in a dark alley.  Pohena must shoot them first before collecting them.

Vengeful Spirit

These angry spirits will do anything to avoid capture, even if it means chasing down and attacking the player. Made up of a significant amount of fighting spirit, they take multiple shots to stun or subdue.  These spirits will keep Donum constantly on his toes and Pohena must remain vigilant so she doesn’t get overwhelmed.

Preta

(a.k.a. “hungry ghosts“)
This is a new enemy class.  They are harmful to touch and take multiple shots to stun, but they do not need to and cannot be captured as they are beings and not spirits.  They mainly serve as a nuisance to the player.

Hungry Ghost

In a futile battle against hunger and thirst, these ghosts will eat anything they find, whether it be food or items. Donum and Pohena need to be quick on their feet if they want those items.
(Note:  I’ll be describing the items in a future post.)

Vagrant Ghost

These ghosts hate the outdoors.  Everywhere seems to be either too hot or too cold, never just right.  Hence, they try to seek shelter anywhere they can, even if it’s already occupied.  Good spirits don’t like sharing space with these guys, so they’ll flee if one of them makes it into the shelter.  Similarly, if one of them opens the door to the jail, the evil spirits inside will be more than happy to escape.  Donum and Pohena must boot the Vagrant Ghost out the shelter or jail before they can put the spirits back in.
Copyright © Quadolor Games. All rights reserved.

Is Gonna Catcha the reincarnation of an actual arcade game? More news at 11.

I was just googling for some images of tranquilizer guns, so that I can design Pohena’s more fantastic version of the same arm, when I came across footage of an arcade game called Tranquilizer Gun, made by Sega in 1980.  I don’t know about you, but I the gameplay looked a bit familiar:

Maybe Pohena was a wild game hunter in a past life.  I guess I was much more spot-on than I thought when I decided to make an 80s-arcade-style maze game.  😛

Of course, I didn’t pull the stun-capture-cage game mechanic of Gonna Catcha out of thin air.  It was actually inspired from the game Out to Lunch, a platformer made by Mindscape in 1993 for the Game Boy and SNES and later ported to the Amiga a year later.  You played as a chef who had to round up his escaped ingredients:

I’ll have an update on the progress of the game up in the next few days (I hope).

Copyright © Quadolor Games. All rights reserved.

New Gonna Catcha info page

I created a a new and improved game description page here, to replace the old, outdated blog post describing the game.  You can also reach it by clicking on “Project Gonna Catcha” on the bar above this post.

This way, it’s easier for me to keep it up to date and for readers to find it.  🙂
Copyright © Quadolor Games. All rights reserved.

Let’s look at level design (sorta) and the 鬼. Er, I mean GUI.

This post will be a bit brief, as the things I’ve done with Gonna Catcha are rather simple and better expressed in a series of images.
The first thing was to the grid resolution for the game’s levels.  The old 16 x 16 cell size made the test levels feel small and their designs limiting:
Not that I actually tried designing them.  I mean, putting
Internet speak into a level’s design is SOOOOO gauche.

So I reduced the cell size to 8 x 8, allowing me to cram more details, hallways, twists and turns into a single level:

This might be a little overboard.
Feeling… lonely?
The second thing are some proposed changes to the user interface at the top of the screen:
Possible new user interface.

The addition of a round timer below the round counter.  To my knowledge, all arcade games have a way for it to reliably to bring itself to a game over state, in case the player(s) abandon the machine mid-game.  That way, it wouldn’t waste precious quarter-sucking time.  For many arcade games this comes naturally, by having enemies that persistently chase and/or attack the player(s) until all lives are lost. For games that don’t have that guarantee (Gonna Catcha included), a round timer is used to make sure the game ends.

Also, if the either the number of lives remaining or number of spirits in-hand exceed five, then that counter will switch to a digital counter:

Too…much…stuff…

Copyright © Quadolor Games. All rights reserved.

A Race to Bottom… of Sound Chip Specs [Updated]

Update 3/18/2013 (6:21 PM):

EVERYTHING IS SUPER

HAVE A NICE DAY!

Well, it didn’t take long for things to go back to normal.  Maybe I should’ve held off posting this just for a little while longer.  Oh well.

As a bonus, here’s the coloured image of Pohena I meant to show earlier:

“I’m not a prize, you idiot.”

W-well, I didn’t mean it like that.   Uh… awk-ward.

TECHNICAL DIFFICULTIES

PLEASE STAND BY

Well, it seems that in my attempt to reorganize the files on my “website”, I did something that caused all the images on this blog to break (Dammit, I’m a computer scientist, not a web administrator!).  I’m in the process of getting that fixed.

In the meantime, let talk about something that doesn’t involve anything hosted on my site.

In my introductory post of Gonna Catcha, I posted this music sample from the project:

It was my attempt at emulating the style of music from 80s arcade games, without actually knowing how it was actually done.  Being someone who spent 3 years working on a master’s thesis on computer-generated sound,  this just simply wouldn’t do.  Nope, nope, nope.avi.

As with the graphics, I turned to Pac-Man  for inspiration:


The game used a chip called the Namco WSG to generate sound.  It had 3 channels, each could play one of the 8 waveforms stored in 256 bytes of external memory (PROM).  These waveforms could be customized to the sound guy’s heart’s content, which resulted in the highly-memorable audio of games such as Pac-Man.

This also stands in contrast to early PCs and early home consoles that came around the same time as or after it.  Although some of them did allow custom waveforms either intentionally or via programming exploits, they mainly relied on programmable sound generators (PSG) that only played preset waveforms to generate sound.  Some examples are (off the top of my head):

  • AY-3-9810 – found on earlier models of MSX computers
  • MOS Technology 6581/8580 (SID) – found on the Commodore 64
  • Ricoh 2A03/2A07 – found the NES
For comparison, listen to the NES port of Pac-Man:
Even though the sound generation of these chips weren’t as sophisticated (well, the SID was sophisticated in other ways), it didn’t stop them from being popular even to this day, even more than these old arcade chips.
Enough digression, time for the main event.  After applying the knowledge above, I have created the following early-80s-style arcade-type music:

Track list:  Donum Start ~ Donum Level ~ Donum Defeat ~ Pohena Start ~ Pohena Level ~ Pohena Defeat

I couldn’t find a way to generate 4-bit samples; everything I had to work with had a minimum bit resolution of 8 bits and the bitcrushers (a digital audio effect that reduces the number of bits used in an audio signal) I tried didn’t produce the desired results.  So essentially, I doubled the amount of pretend PROM on my pretend arcade board and used 8-bit samples.  Otherwise, I’m satisfied with the result, at least for now.  Personally, I find both “Defeat” tracks to be quite funny.

Copyright © Quadolor Games. All rights reserved.

I’ve been trying to work for the past week and all I got was this lousy post title.

It’s been a slow week.

I’ve been doing other things in the scary, mystical world known as “outside” that has left me feeling a bit exhausted.  In addition, coding on the Gonna Catcha has temporarily been halted due to the reports I’ve read on Game Maker: Studio-related forums. The latest update broke a lot of people’s projects, namely their games have stopped running after being compiled, similar to the symptoms my projects had last week.  My project only broke once for a different reason, but it was fixed easily.  YoYoGames has suggested rolling back on the software to the previous version for now until they roll out another update.  Since I don’t want my project to break again like last time, I’m still on the fence regarding whether to try the rollback solution or just wait until this whole thing blows over.

Well in the meantime, maybe I can dredge up something to show.

Hmm…

Well, here are some concept sprites for the spirits:

Good
🙁 :  )   -_-   😀   😮   x_x   >_<
Evil (a.k.a., troublesome, vengeful, misunderstood)

>:(   :O   D:<   %P   J:|   x_x   >_<

And here’s a screenshot of the last build of the game:

“A strange cloud is coming from the North. I’m scared!”
(* A cookie for who knows where that’s from)

It might be hard to see from a still image, but the latest build allows the player characters to shoot evil spirits, with different outcomes.  I’ll make a proper video in the future.

Copyright © Quadolor Games. All rights reserved.

Fighting file corruption and tightening up graphics

One of the biggest annoyances I face when coding something is when your program suddenly stops working for no apparent reason.  It happened this weekend when I was working on Gonna Catcha.

I was just going abut my usual business when all of a sudden the game would no longer run after compiling.  My guess was that the project got corrupted somehow, so I decided to make it anew.  GameMaker: Studio‘s ability to easily transfer resources between projects and the fact that the projects themselves are just large collections of image, audio and XML files made this relatively painless.

In the graphical department, I made some major changes.  Not being much of an animator, I had a lot of trouble doing the side walk cycles for each character.  As of my last post, I had something that looked like walking, but it still looked awkward.  After reading this tutorial (which I had previously encountered during my undergraduate studies in game development in the days of yore), I realized that I was missing a “Passing” frame in the walk cycle, and that I made it overly complicated.  So after much tweak, this is the end result:

I haven’t even finished Level 3 and I’ve already tightened up those graphics a little bit.

You may also notice two other changes in the above image: 1) I reduced the amount of arm swinging in the gun-away walk cycle.  I think I’ll reserve that amount of swag for a special occasion :), and 2) After doing a bit of research on the video capabilities of old arcade games (read: Pac-Man, mainly here and here), I’ve modified all the sprite palettes so that instead of each having 4 colours from a 16-colour palette, i.e, this:

I think I need to fix my graphics drivers.
(Source: Wikipedia)

They each have 4 colours from a 256-colour palette, i.e. this:

Ah, 256-colour.  My arch-nemesis in Microsoft Paint back in the 90s. Still dithering?
(Source: Wikipedia)

That should make things a little more, uh, colourful.  Yeah…

Before I finish this, I want to share a few interesting articles and whatnot I came across as I was doing research on ancient video game graphics.  I’ve already introduced three of them above:  a tutorial in animating a walk cycle: idleworm: animation tutorial – walk cycle part 1; and the two articles about the hardware used in Pac-Man machines:  Pacman hardware and Aaron’s MAME Memories Part 3.

Some other things I’ve encountered are this handy Color Bit Depth Reducer, which converts 24-bit TrueColor RGB or web hex values into the nearest values in other bit-depths and back again, and this old but free e-book about game graphics:  Designing Arcade Computer Game Graphics.

Hey, I can’t believe we got jobs doing this.
(Not intended for residents of anywhere.  Offer void in Nebraska.)
Copyright © Quadolor Games. All rights reserved.