Thursday, March 27, 2014

Hey buddy, spare an extra life?

Gonna Catcha 1.1.0 is out now! Short version, here are the changes since v.1.0.0-B:

  • Added life-borrowing in co-op mode. If one player has lost all their lives but the other has some in reserve, then the first player can borrow one and resume playing the current round.
  • Added "Online Help" in Service Mode. Opens an online copy of the documentation in a web browser.
  • When player(s) die due to the timer expiring, their spirits-in-hand are released one at a time instead of all at once. This makes it consistent with the game's other death scenarios.
  • Background music in tutorials now loop.
  • Reduced startup time for Preta tutorials.

Looooooooong version...

  • Added life-borrowing in co-op mode. If one player has lost all their lives but the other has some in reserve, then the first player can borrow one and resume playing the current round.

In many of my co-op mode playtests, I would often see the following scenario: one player would lose all their lives quickly due to inexperience while the other managed to keep on trucking and finish a round by themselves, allowing the other player to come back. However, the first player would lose their "continue life" very quickly and would have to again wait for the other player to beat the round by themselves before they could come back. And the cycle repeated. This seemed like a very boring and passive experience for the inexperienced player, but at the time I couldn't think of a way to alleviate it.

It wasn't until it happened again a few days after v.1.0.0-B was released, during a playthrough with me playing with someone new to the game, that the solution came to me: allow life-borrowing between players. It was so simple and done many times before in other games; I was surprised that I didn't think of it sooner. Now if one player loses all their lives, they can borrow (read: take) a life from the other, provided that they have extra lives in stock, and continue to play the current round.

But take note, just because you have the opportunity to borrow lives doesn't mean it's always tactful to do so. If one player borrows a life and then both players finish the current round alive, the player that borrowed a life won't get a "continue life" in the next round (or the "single point of shame"), because they are only granted to players in a "game over" state, i.e. is dead and have no lives remaining. So think carefully about the pros and cons before you borrow one of your partner's lives. Or not.



I added this to future-proof the game, if I decide to bring the game to platforms that don't allow or don't have easy access to an external manual file on a local drive, e.g. HTML5, Steam Workshop. It also adds redundancy for the platforms that have local help files, which is... good.... in this particular case? I think.


  • When player(s) die due to the timer expiring, their spirits-in-hand are released one at a time instead of all at once. This makes it consistent with the game's other death scenarios.

This was an oversight of a rare occurrence; the timer rarely went down to zero in all my playtests, so I didn't notice that a death in that case resulted in the (really) old spirit-releasing behaviour.


  • Background music in tutorials now loop.
Small bug fix.


  • Reduced startup time for Preta tutorials.

I noticed that nearly all first-time players skipped the first preta tutorial (the one after the first bonus round) by mistake. My best guess as to why this was happening is: there were several seconds of inactivity at the beginning of the tutorial, which made it look like the game was frozen or required some kind of player input to start. This lead to players pressing random buttons to try to "fix" the problem but it only lead to them skipping the tutorial completely and have no idea how to deal with the pretas. Hopefully by speeding up the start of the tutorial, I can prevent people from accidentally skipping it.

Thursday, March 13, 2014

Going Gold [Updated 3/14/14]

WARNING!!
A HUGE 80S-STYLE ARCADE GAME
GONNA CATCHA
IS APPROACHING FAST

That's right, Gonna Catcha is being officially released at the end of this week! Available now!


Woot!
Woot!
Woot!


It will be available on itch.io starting tomorrow (March 14, 2014).

Even though I did get the game working on an Ubuntu virtual machine (Linux Mint) a while back:


I still need to do some more work to prepare the game for distribution on that platform, so the game will be Windows-only for the time being.

Boo

What else...? Oh right, the issue of payment. The exchange of money for goods and services. Gonna Catcha will be available as a pay-what-you-want title with no minimum.

Yay!
Yay!
Yay!

Whoa, it's being a while since I posted here. I've been so busy getting Gonna Catcha ready for release that I haven't had the time to make posts. Well, I tried but the post got so long that I got bored of writing it.

There was a video I wanted to accompany another post I wanted to write, but I think I'll just show it here. During the development of the game, I noticed that the attract mode demo would end in one of two outcomes seemingly at random, despite there being only one set of input files and a fixed seed for the random number generator. Eventually, I discovered what determined which outcome would occur, whether controller input was enabled or not.

WAT
WUT
HI



LOL
LOL
That was okay.

I did fix a bug that allowed a player to control/interfere with the attract mode demo using a controller, but this glitch didn't go away. Here's the kicker: even non-deterministic elements of the game, the ones influenced by the RNG, i.e. the paths the Wandering and Straying spirits take and the random item that appears near the bottom of the maze are also different between the two outcomes, even though the RNG seed was fixed. Oh well, I think I'll leave it in; it gives the game character.

Can we go now?
No
Nope
Aww

Thursday, February 20, 2014

Excellent, it's all falling into place.

Gonna Catcha 0.9.2rc is available for download. The "rc" is for "really cool!". Actually, no, it stands for "release candidate", meaning it's ready to go, barring it destroying the world in the next few days somehow. You can find the download link on the game page.

For now, the download is only available on IndieDB because I got tired of Comodo Dragon (Chromium-based) and Internet Explorer (lol) telling me the downloads from my domain (quadolorgames.com) and Dropbox are "dangerous" because they're new kids on the internet block. Firefox doesn't seem to care though.

I haven't had time to prepare a proper blog post to describe the release of v0.9.2rc in detail; I had been going out and getting people to playtest the game. And no, I don't feel like getting in a debate about whether this post is technically "proper" or not. In any case, I'll be making another soon, which will include something peculiar I've noticed about one part of Gonna Catcha.

While I wait to see if Gonna Catcha will trigger the apocalypse, I'll be focusing on trying to increase the marketability of the game. In other words, the description pages of this game on this blog and IndieDB are a mess and really need to be updated and cleaned up. That should be fun.

Sunday, February 9, 2014

Spit shinin' the ol' game, make 'er all nice and pretty.

Gonna Catcha v.0.9.1 is now available for download from the game's info page. It is largely a "polish" update; I'm tweaking things here and there to start finalizing the game. Here is a summary of what was updated:


Improved movement around corners, as discussed in my previous post.


Bumped up the score requirements for getting extra lives, from 20k/40k/60k... to 20k/50k/80k... I felt that getting extra lives was a bit too easy in previous versions, especially in the later levels where points are more abundant. Players are reminded of the requirements on the title screen.


Updated the user interface. If either player gets more than 5 lives, the lives counter just draws one icon and then the number of lives. (Shown in above screenshot, sort of. Just imagine a number beside Donum's icon on the lower-left.) Before it would keep drawing icons the more lives a player has, eventually intruding on the space of the round counter and the other player's life icons. I was surprised it took me this long to realize this problem. In addition to that, I've added small indications that appear when a player picks up a power-up item (P): "LOnG" for the first pickup that extends shot range, and "DBL" for the second that gives the player a double shot. Before this friendly reminder, the power-up item was the only item that did not obviously indicate what it does.


Rewrote the help manual and changelog as a Compiled HTML Help file (CHM). Now in colour! Images, links, and an index! Multimedia for the win! But seriously, the manual looks much better and easier to use now.


Lastly, I updated the "Starring" screen to include the new, and possibly finalized, Chinese names for the characters. This time I opted for a transliteration than is biased towards the pronunciation of each Hanzi rather than the meaning,, using this chart as a basis. 

Pohena Das: 波伊娜 ・ 達絲 (Trad.) / 波伊娜 ・ 达丝 (Simp.)
Mandarin (Pinyin): bo1 yi1 na4   da2 si1
Cantonese (Yale): bo1 yi1 naa4   daat6 si1

Donum Dono: 多南姆 ・ 多儺 (Trad.) / 多南姆 ・ 多傩 (Simp.)
Mandarin (Pinyin): duo1 nan2 mu3   duo1 nuo2
Cantonese (Yale): do1 naam4 mou5   do1 no4

The problem I had with Pohena's old name (魄伊娜) was that the Cantonese pronunciation for it didn't sound very nice (paak3 yi1 naa4), and being the Chinese dialect I grew up with, it was gnawing at the back of my head. It does work very well in Mandarin (po4) though and its meaning is relevant (魄 = "soul, spirit"), but still. As a compromise, her name is now 波伊娜. I had a similar problem with Donum old name; actually, it was much worse: 當納睦 ・ 當儺, dong1 naap6 muk6   dong1 no4. I also decided to simplify his name and came up with 多南姆 ・ 多儺. Fun fact: his last name, 多儺, can be interpreted as "many exorcisms of evil spirits". It would fit Pohena better, but meh.

I plan on rewriting the bio pages on this website, not just to update the names, but because the info on there is out-of-date. The lore of the Gonna Catcha universe has changed since I put that page up. I've also considered incorporating it and the other extended descriptions of the game linked on the game's info page to the manual. That will be part of my next update.

P.S. The Japanese transcriptions for their names are unchanged for now: ポイナ・ダス (Poina Dasu) and ドナム・ドノー (Donamu Donō). I don't know why I decided to put that out there.

P.P.S. Wish I knew something about transcribing to Korean Hangul... and Vietnamese.

Wednesday, February 5, 2014

Today: Improving movement around corners in Gonna Catcha. Tomorrow: Humour check-up

In my various playtests of Gonna Catcha, I have noticed that many players were having difficulty trying to turn at intersections, going from one corridor to another perpendicular corridor. The solution I came up with was simple, yet I still managed to write this whole blog entry about it, so here goes.

Gonna Catcha uses a smooth, grid-based movement system, as in, even though the players move smoothly, they will always be aligned with the grid that divides the play area when stopped. This is to facilitate players in lining up properly intersections and going around wall corners, instead of having the player painstakingly line themselves up with pixel-perfect precision. Even with this alignment aid, I've noticed in my playtests that players were still having problems negotiating those corners.

To explain this better, below is a figure showing five different cases where a player is approaching an intersection (click on it and any other figure to expand):

Figure 1. Five cases of a player approaching an intersection

The figure shows two horizontal corridors linked by an opening between them. In cases 1 and 5, the player is not aligned with the opening; in cases 2 and 4, the player is partially-aligned, and in case 3 the player is fully-aligned.

The next figure shows what happens when the player holds [Up] to try to move upwards in each case:

Figure 2. Results of holding [Up]

As expected, in cases 1 and 5 the player cannot move upwards since they are completely blocked by the wall; and in case 3, the player is free to move upwards since there are no obstructions in the way. The problematic cases are 2 and 4; where the player is partially obstructed by a wall, which for all intents and purposes counts as being fully-obstructed by the game. In most of my playtests, players end up in cases 2 or 4 when they try to turn too early, and they end up getting snagged in corners, which was a bit frustrating to them.

For a long time, I've thought about whether to fix this problem, or just leave it in as a "quirk" of the game's movement system that players need to get used to in order to get good at the game. Many games in the 1980s did have control schemes that had quirks or little annoyances that players needed to learn to in order to master them (I'm looking at you, Bubble Bobble, Ice Climber and Super Mario Bros.).