An artillery style game for the Apple IIgs. But with cats.
Go to file
2024-01-21 14:01:10 -07:00
Art Much nicer 16x16 font 2023-08-06 16:58:32 -07:00
DiskImageParts Smarter disk image management 2023-06-18 16:59:37 -07:00
GSCats.xcodeproj Added some border effects to title screen 2023-07-29 16:31:17 -07:00
Sound Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
.gitignore Font engine refactor 2023-07-16 20:10:00 -07:00
animation.s Added some border effects to title screen 2023-07-29 16:31:17 -07:00
boot_mame.sh Fix scrolling speed 2021-07-24 13:55:16 -07:00
cadius Smarter disk image management 2023-06-18 16:59:37 -07:00
circleTable.s Fixed craters on hi-res terrain 2017-09-17 16:17:27 -07:00
collision.s Optimized span rendering moved to $E1 2018-01-16 12:56:53 -08:00
CompileFont.py Added help screen 2023-08-06 15:55:42 -07:00
crosshair.s Fixed crosshair rendering glitches on turn switch 2023-12-24 12:16:27 -07:00
dirt.s Cooler dirt colour 2023-08-06 17:01:02 -07:00
equates.s Groundwork for graphical loading screen 2023-07-18 20:15:53 -07:00
fan.s Fixed fans disappearing after one turn 2024-01-21 14:01:10 -07:00
fontEngine.s Added help screen 2023-08-06 15:55:42 -07:00
fonts.s Much nicer 16x16 font 2023-08-06 16:58:32 -07:00
gamemanager.s Fixed fan stands capturing cats in protect 2024-01-13 14:34:33 -07:00
gameobject.s Movement climb check replaced with better gap check 2023-12-23 16:43:17 -07:00
GenerateCircles.py Fixed craters on hi-res terrain 2017-09-17 16:17:27 -07:00
GeneratePixelCircle.py Foundation work for aiming crosshair 2023-06-21 20:07:30 -07:00
GenerateRawImage.py Ground work on title screen 2023-07-23 14:59:55 -07:00
GenerateRenderSpans.py Optimization 2017-08-07 22:10:16 -07:00
GenerateSoundBank.sh First implementation of sound 2023-07-04 20:09:17 -07:00
GenerateSpanDataTable.py First working version of virtual stack unrender 2018-01-06 15:30:06 -08:00
GenerateTrigTables.py Basic rendering of projectiles 2017-08-24 21:45:05 -07:00
GenerateVRAMTable.py Optimizations and cleanup 2017-08-06 13:26:31 -07:00
GenerateVRAMYOffset.py Lookup for render span VRAM rows 2017-12-27 10:06:42 -07:00
graphics.s Added help screen 2023-08-06 15:55:42 -07:00
gscats.s Terrain chunk compiler now rectangular! 2023-07-30 11:09:45 -07:00
input.s Added help screen 2023-08-06 15:55:42 -07:00
inventory.s Font rendering is now left justified 2023-07-17 15:53:17 -07:00
linkerConfig Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
loader.s Added help screen 2023-08-06 15:55:42 -07:00
loaderGraphics.s Added palette cross-fading 2023-07-20 19:41:06 -07:00
loadingBar.s Ground work on title screen 2023-07-23 14:59:55 -07:00
macros.s Fixed crosshair rendering glitches on turn switch 2023-12-24 12:16:27 -07:00
Makefile Added help screen 2023-08-06 15:55:42 -07:00
MerlinToCA65.sh Fixed art pipeline bug 2017-10-17 08:21:29 -07:00
ParseMapFile.py Optimized span rendering moved to $E1 2018-01-16 12:56:53 -08:00
player.s Restarting game now resets data properly 2023-12-24 13:42:19 -07:00
progressBar.s Fixed some minor header rendering bugs 2023-07-25 14:45:29 -07:00
projectile.s Fix fan stand not unrendering when scrolling 2024-01-13 14:27:11 -07:00
random.s Dirt clod creation and explosion working 2020-01-05 15:11:14 -08:00
ReadMe.md First implementation of sound 2023-07-04 20:09:17 -07:00
RenumberSpriteFiles.sh Overhaul of art pipeline to support sprite flipping 2018-08-06 13:00:13 -07:00
sharedGraphics.s Added palette cross-fading 2023-07-20 19:41:06 -07:00
sound.s Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
SoundBank#060000 Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
spritebank.s Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
SpriteBank#060000 Added shoot animations and more sound 2023-07-05 20:27:47 -07:00
tables.s Foundation work for aiming crosshair 2023-06-21 20:07:30 -07:00
terrain.s Better clamping for terrain chunk compiling 2023-08-04 19:37:09 -07:00
tinyNumbers.s New font cleanup 2023-07-16 19:01:14 -07:00
titleScreen.s Much nicer 16x16 font 2023-08-06 16:58:32 -07:00
utility.s Added animation system with hit animations for cats 2023-06-30 15:32:17 -07:00

GSCats

Introduction

This is a simple game in the style of Apple II Artilley, Scorched Earth, or Worms but with cats and nobody gets hurt.

This was written as an exercise for me to learn the fundamentals of Apple IIgs game programming, and I certainly won't claim there's anything special here technically. The neatest part is probably the terrain, which is deformable and scrolls at 60fps on stock hardware. Well, sometimes it does, anyway, depending on how you hold your nose. The GS is hard.

Acknowledgements

I'm writing this game now because I'm learning all the things I wished I could know when I was a teenager and playing all the amazing GS games. Games like Rastan, Task Force, Alien Mind, The Immortal, and Sword of Sodan that did things that people said the GS shouldn't be capable of. I was never able to acquire the knowledge of how these things were done back then, but thanks to an amazing modern retro community, I can! In that spirit, thanks to:

  • John Brooks, who has forgotten more about the GS than I will ever know.
  • Rebecca Heineman, who wrote every good game on the platform that you probably played except the ones John wrote
  • Jeremy Rand, who is inspiring to me with his prolific retro programming endeavours and humble spirit. Not to mention I learned a lot from reading his code for BuGS.
  • Brutal Deluxe, who have made so many great GS tools, including Mr. Sprite and Cadius, upon which this game depends. I doubt you could find anyone more consistently devoted to the platform than these guys. Mr. Sprite's Tech Page is probably the greatest single treatise ever written on how to do fast Apple IIgs graphics.
  • Dagen Brock, for tirelessly maintaining the last remaining (as of this writing) good GS emulator, GSPlus. Without good emulators, retro-development dies, so thank you for fighting the good fight, Dagen. Emulating the GS is a thankless job for a platform almost nobody cares about.
  • All of the KansasFest and Apple II community on Slack and elsewhere

Sound Credits: