Quinn's Quarrel: Global Cat-astrophe!

Quinn’s Quarrel: Global Cat-Astrophe! is a non-diegetic classic top-down shooter game developed with Java. The role of the player is to act as an intelligent cat named Quinn owned by a mad scientist. One day the world is suddenly flooded and the humans are incapacitated, so the main protagonist has to battle the forces of evil and save the world from the fish trying to take over. In order to achieve that goal, Quinn uses his jetpack and weapons to thwart his scaly opponents. This game will use comic-book-like cut scenes and additional text between levels to bring the player into the story. Game elements include an engaging storyline with a likeable protagonist, various enemy types and movement patterns requiring strategic thinking. It also features a charming and comical character style. Game mechanics include adjustable difficulty, online score database, several game stages with unique bosses and enemies, temporary boosts, multiple lives, consumable items and so on.

I highly recommend reading through tutorial carefully! High Score database requires an internet connection, top 10 scores are kept and displayed. Difficulty level is accessible in the options menu during game start. If you forgot some controls, you could always pause the game and look them up in About menu. The game was made with AWT java elements.

Controls:
WASD or Arrow Keys
Hold space to shoot
Escape or P to pause the game
Q activates a mu-bomb charge
E activates a timelaspe clock charge
R shifts the angle of mouse sidekick

Windows 64-bit EXE
Windows 32-bit EXE
Jar file

Hehe, i like that story ;D

I enjoyed the intro a lot, but I completely sucked at the actual game. Also:

Nyan nyan nya-nyan, nya-nya-nya-nyan nyan nyan nyan nyanyanyanyanyanyanyanyanyanyanyanyanyanya!
Nyan nyanyanyanyanyanyanyanyanyanyanyanyanyanya nyan nyanyanyanyanyanyanyanyanyanyanyanyan nyan nyan!

mm barbecue :smiley:
Nice game, I like the music.
At the beginning of the game when I die and press space to restart the game its start playing intro movie and tutorail again which is I think unnecessary and a little annoying.
Why is name length in high score limited to 8? I couldn’t enter my nick name.
I get “Database Error! Would you like to try to connect again?” when submiting high score, I pressed Yes and enter name again and then it sent and open High Scores window and when I close it, it throw me again database error and I could submit that same score again and overwrite places with lower score than mine.
It would be nice if I could save the game progress. :smiley:

I’d recommend switching the game to easy then, maybe you’d have an easier time :slight_smile: Thanks for the kind words about the intro!

You can skip the tutorial and intro, just press escape, so it shouldn’t be that inconvenient.

The name length is limited to 8 to prevent some MySQL errors, it could be longer of course, but not unlimited. I thought 8 would be enough for most people. Yeah the free online MySQL hosting can get slow and buggy sometimes, that’s a price I pay for not paying for a better one. It shows database errors based on some packets lost, if I had a better hosting it wouldn’t have that problem. So hopefully people won’t reenter their score 10 times on the honor system, it doesn’t occur that often :slight_smile:

The game saves all your data when the level ends, so if you die it restarts the level with the same number of boosts/health and other information you have. So it’s possible to make a save file I guess in order to come back to the game, I’ll think about. The game used to have limited amount of restarts, but now I believe you can keep trying over and over until you manage to beat the level.

Thanks for the feedback, let me know how far you manage to get and whether you like a particular boss!

You’re paying a price for not paying. Wierd, then neither is free. Maybe free is an illusion?

Looking great, downloading :smiley:

‘not paying for a better one’, doesn’t by itself imply that he’s not paying anything at the moment.

It’s very cute.

“Yeah the free online MySQL hosting can get slow and buggy sometimes” does however.

:persecutioncomplex: :slight_smile:

Anyway, I rarely use anything else than ‘VARCHAR(255)’ when I need a string in MySQL. Why limit the input to 8 chars? It doesn’t have any advantages, it will only cause either sql errors or data truncation when very reasonable user input is handled.

“Linux is only free if your time has no value.” – jwz

To be honest I don’t think that 8 character limit is a huge downside or an important issue. Old arcade games had what 3-5 character limits to record your high score and number of variations with 8 characters is great enough to leave your footprint and your nickname to be unique and recognized.

Thanks! The artwork was partially borrowed and photoshopped but mostly self made from scratch and was by far the most time consuming game element.

Yeah, ~ 64^8 is a lot. Is it enough? No, because nobody wants to be known as ‘La63WIjw’, as ‘theagentd’ already pointed out to you. Why don’t you do yourself a favor and simply raise the limit to 255? Then you don’t have to ‘fix’ the clientside MySQL errors (which are unforgivable) and you don’t have to write elaborate UI that ‘solves’ the problems that arise from this limitiation.

Thanks, I’ll take it into consideration. I will definitely not make it 255, because people like to abuse the system and displaying 255 character name will not look good for sure. The mysql errors are not exactly clientside. When the hosting has low connectivity and loses packets it throws an exception and reruns the query. If the connection to the server is stable that error doesn’t happen. Generally it is not a bug that can be consistently replicated, most of the time it doesn’t happen. Perhaps I should modify my throw catch statement to prevent repeat entry better.

In any case it’s not game breaking and I’d rather talk about the game itself than just the high score online Database, which is a very small part of it. Thanks a lot for your advice though.

Here’s my mini feedback telegram:

  • well done overall
  • can’t stand the music
  • quite difficult for me even on easy setting

I get lots of these:
java.io.IOException: mark/reset not supported
at java.util.zip.InflaterInputStream.reset(InflaterInputStream.java:286)
at java.io.FilterInputStream.reset(FilterInputStream.java:226)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(SoftMidiAudioFileReader.java:135)
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1111)
at quinn.Sound.death(Sound.java:496)
at quinn.ObjectPool.getColision(ObjectPool.java:1005)
at quinn.MyCanvas.gameMain(MyCanvas.java:1207)
at quinn.MyCanvas.run(MyCanvas.java:830)
at java.lang.Thread.run(Thread.java:722)

(Java 7)

Running the EXE doesn’t work. The JAR worked fine though. Awesome game!

@OP, for 65K’s errors, look at this fix.

??? Uh, when did I say that…? =S

Thank you for your feedback!
Sorry to hear that the music is not your cup of tea :wink: It’s in Midi format, took quite a while to pick out the songs.
Yeah the difficulty is pretty steep and some patience required to get a little better to progress through the game. Some bosses are quite tricky.

The EXE files created by IExpress contain a shell script that creates a classpath to the default location of java folder on a C: drive. So if you don’t have the latest Java or it is installed on some other drive, it probably won’t work. I guess it’s quite a crude way to do it, but I didn’t know a better way to make an executable.

Very interesting, so it’s the InputStream class that causes the errors, I see. I’ll see if I can safely replace it without causing stack memory issues.

The sound doesn’t work when I play the game on Ubuntu 11.10. It’s only played the music and even that weird. In Windows I also use jar and it worked fine. Why did you do the exe version?

I’ve just had time to play one level, but I didn’t find it soo difficult as the other guys said. I could finish the first level without problems.

One thing that bothered me a little is that often (like 1 time per minute) I get a hangup. I bet it’s the garbage collector. You should definetely check your object creation and avoid creating too much objects.

I’ll post as I play more.