SDL Shooter

Simple space shooter game created using SDL (Simple DirectMedia Layer) and C.  Sprites created with Aseprite.

Energy meter added.  Using any weapon will deplete energy, but it will gradually refill over time.   Each weapon has three strength levels and energy consumption increases with the strength of the shot used.

Below are the weapons in the game.


Weapon Name Weak Attack Mid Attack Strong Attack
Speed Shot Slightly increases fire rate Moderately increases fire rate Greatly increases fire rate
Multi Shot Shoots in two directions Shoots in three directions Shoots in four directions
Wave Shot Shoots one wave projectile Shoots two wave projectiles Shoots four wave projectiles
Blast Shot Damages all enemies on impact within a small radius Damages all enemies on impact within a medium radius Damages all enemies on impact within a large radius
Spin Shot Four projectiles rotate around the ship Eight projectiles rotate around the ship Sixteen projectiles rotate around the ship
Freeze Shot Freezes an enemy in place for 1 second Freezes an enemy in place for 4 seconds Freezes an enemy in place for 20 seconds
Seek Shot Locks on enemies within a small range Locks on enemies within a medium range Locks on enemies within a large range



Enemies will drop various bonuses, such as refill energy, increased attack power, increased defense power, and health refill.

Create your own levels by editing level_00.txt.  Separate waves with a single equal sign ‘=’ on a line.  Place enemies using the numbers 1, 2, 3, and 4.

Create Linux build by running ‘make linux’.  Tested and works on Ubuntu Linux.

Get the source code at



  • Alpha – Moves left and right in a horizontal motion
  • Bravo – Moves to the right at constant speed
  • Charlie – Moves downward in a wave motion
  • Delta – Moves in a circle motion
  • Echo – Moves to random locations;  Vulnerable only when eye is opened


  • Normal shot – 5 energy
  • Fast shot – 8 energy
  • Triple spread shot – 15 energy

Created by LD Smith
Built with: SDL

Scratch Shooter

Scratch Shooter


Scratch Shooter is a simple space shooter game created in the Scratch game development environment.  This game was created as an example for the November 2019 Knoxville Game Design meeting.

Enemy creatures continually spawn at the top of the screen, and gradually move downward over time.  Enemy ships will float down from the top in a curve motion.

Play Scratch Shooter on Scratch website


Created by LD Smith
Built with: Scratch

Mahjong Drop

Play online


Mahjong Drop is a game where you make melds (combinations) of three tiles to score. The three tiles must be together either horizontally or vertically.

Mahjong Drop uses a standard mahjong tile set, without the honor tiles. There are three suits (bamboo, wheel, and character) and each suit has a value from 1 to 9. There are four tiles for each suit/value combination. Once all tiles are used, a new bag of tiles is generated and shuffled and added to the queue of upcoming tiles.

There are two types of melds in Mahjong Drop.

Chi – Three tiles of the same suit in sequence of value, but the tiles don’t have to be in order.

  • Example: bamboo 3, bamboo 4, bamboo 5
  • Example: wheel 8, wheel 6, wheel 7

Pon – The same three tiles together.

  • Example: character 1, character 1, character 1
  • Example: bamboo 8, bamboo 8, bamboo 8

These are the configurable options in Mahjong Drop before starting the game

  • Columns (default 10) – The number of columns on the game board
  • Rows (default 14) – The number of rows on the game board
  • Highlight meld matches – If your current piece completes a meld on the board, then the matching pieces will flash
  • Colored tiles – Uses shades of red, green and blue to differentiate the three suits. Otherwise, all tiles will be white.
  • Preview Count – The number of upcoming tiles to display (0 through 5)
  • Show Guide – Shows a guide indicating where the tile will drop

The following objectives are tracked by the game. Can you get them all?

  • Chi 1 – create 1 chi meld
  • Chi 5 – create 5 chi melds
  • Chi 20 – create 20 chi melds
  • Pon 1 – create 1 pon meld
  • Pon 5 – create 5 pon melds
  • Total Tiles 25 – drop 25 total tiles on the board
  • Total Tiles 100 – drop 100 total tiles on the board

Tools Used

  • Unity 2019.2.8f1
  • Blender 2.80
  • Gimp 2.10
  • GarageBand 10.3.2
  • iPhone for taking photo of mahjong tiles (Yellow Mountain Imports) and curtain
  • Audacity 2.3.1
  • Bfxr 1.4.1

Created by LD Smith
Built with: Unity