Sumash (the one level alpha) - SHAMUS fan game


I adore my 64, my Commodore 64...

Back in the early to mid 1980's our family had a Commodore 64. I played a lot of games on the C64 (and made a few very small non-commercial games). Games like Jumpman, Beach Head, BC's Quest for Tires, Bruce Lee, and Phantasie III were among my favourites. One game I enjoyed a lot from that era was Cathryn Mataga's 1982 hit SHAMUS.

Enter my day job...

For the past 18+ years I've been blessed to be able to refurbish computers as my day job. Around 4 years ago our project made the decision to stop buying Windows licenses (MAR/MRR), and switch all our for-sale systems to Linux (Xubuntu Linux-specifically). We've found some people are receptive to Linux, some people are curious, but want to know more, and other's just won't touch it no matter what. For those who are receptive or curious, I've been trying to find ways to show that you can do more with Linux than you might think...

One of those things is game development...

I previously created a game, Fasteroids, an-asteroids-like game, using GameMaker Studio 1.4 and 2.x on a laptop running Windows. For the longest time the GameMaker engine only ran on Windows. Not too long ago they released a beta version that runs under Linux, so I decided to test the engine and see if I could make a game entirely using software under Xubuntu Linux. The resulting game, done in about 12 hours for the Chaos Jam game jam, was Squishy and the Fishes.

Squishy and the Fishes was initially made using Inkscape (for most sprites), GIMP (used to resize the exported artwork), Aseprite (used later to draw the current pirana-like fishes, and Squishy the frog), Audacity (a pre v3 release) for the "wisshhh" sound when you slime the fishes, and the GameMaker Studio beta for Linux.

Squishy was largely based on the "My First Arena Shooter" tutorial in Gamemaker... I wanted to do something completely from scratch.

Mixing a love for older games with making a game from scratch on Linux

Sumash, is my fan take on the Atari/Commodore hit SHAMUS. I love the look and playability of older games, and have always felt that there's a bit of an opportunity to get people interested in Linux if they're able to play some of those retro games on Linux. Of course I'm making Windows-versions of the games available too, but this is after the games are made and running on Linux first (AppImage).

Sumash so far...

On September 22, 2023 I started working on Sumash. At first most of what I worked on was re-creating the sprites from the SHAMUS "cast of characters" screen. The initial "commit" was static representations of the cast of character sprites imported into GameMaker Studio. On the same day I also added some sprites for the walls and bullets. I also added an initial animation for one of the enemies, on the C64 the enemy is known as the "spiral drone," but I think Cathryn called them whirling drones in the Atari documentation.

On September 23, 2023 I redid the mystery treasure and animated it, along with most of the enemy sprites.

I didn't get a chance to work on Sumash again until September 26th. On the 26th more work was done to animated the main player (Sumash/Shamus), and some other sprites. At this point I also started working on sprite movement for Sumash.

September 27, 2023 was a big day. I worked on collisions with the walls (which still didn't animate), and made further progress with player movement. Player movement was a real issue because I was using image_angle in places I needed to use direction. When you right or left, the player sprite would flip 90 degrees and look very strange. This was fixed on the 27th.

On September 28th, 2023 I added a small "death" animation for when the player either collides with the walls, or runs into a spiral drone.

September 29th was important because when the player died, the animation would play, but it would remain on the screen while the player was spawning a new life. That got fixed on the 29th (mostly).

September 30th was another big day. Initially, when the player collided with the spiral drone, they just died and re-spawned at that point. I wanted them to re-spawn at the start of the room. This was also the day the wall sprites got animations to look more like electrified walls. When the player dies, either by colliding with a wall, or by colliding with a drone, a death animation is played in the spot the player died, but the player is re-spawned at the start of the room.

October 1st was the biggest commit of changes: Score and High Score were added (though High Score just == Score at this point). I added the ability to use the arrow keys for movement, previously it was just WASD for movement, now either work. The ability for the player to fire was added, and bullets disappear when they hit an electrified wall. The player can now kill the spiral drone with bullets and the player's score goes up. The player can also now collect the mystery treasure (?) for either points or an extra life (randomly determined). You either get 250 points, 500 points, or an extra life.

At this point the SHADOW (the big boss) isn't active in the game. I've created a static sprite, but it's just on the Cast of Characters screen at this point.

Somewhere in this mess I forgot to mention I created the first room. It actually took about 4 tries to get the first room done correctly.

In my first attempt, I forgot to leave space for the "Lives" text at the bottom of the screen.

In my second attempt, I discovered the room size was 1366x768, not 512 x 288 (the resolution I used for the cast of characters screen).

In my 3rd attempt I discovered I couldn't use the wall objects as I expected, it was better to use tilemaps as laying out zillions of objects was going to bloat the game... but tilemap collisions ended up not being a thing...

But then Gamemaker released a new version with tilemap collisions made easy, so the 4th map got made, and this is what you see in this initial 2 room online version.

But the maps are going to change a 5th time...

If you play this 2 room alpha-version, which is buggy and messed up (the 2nd room really isn't made), you'll see I don't have a good way to continue past the 2nd room. Gamemaker's OutsideRoom event needs to account for 3 exists.

It occurred to me last night while I was resting, just before going to sleep, that I was doing this all the wrong way...

Instead of making 32+ individual rooms, everything should be 1 large room with a 512x288 pixel viewport.

What you see isn't a game, but it's a start...

As it stands now, Sumash is only 10 days old. It's a start. I'm hoping to make a full game, but there's a lot more to SHAMUS than the bits I've assembled for this web version. If you enjoyed SHAMUS in the 1980's I hope this brings back some memories of the fun you had.

Check out the alpha (web version) here: https://chaslinux.itch.io/sumash

Get Sumash

Leave a comment

Log in with itch.io to leave a comment.