Stellaria (Tech Demo) - The best MATLAB shooting game ever

If you think you have played the best MATLAB game before. Think again after you try this one.
Updated 25 Sep 2012

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week


Stellaria: A Figure-Based Space Shooting Game


Stellari Studio, 2011.

Designed and Programmed by Mingjing Zhang


Vision and Media Lab @ Simon Fraser University

* Please note that this is a tech demo and is far from a completed game. *
* All I want to do is to demonstrate what MATLAB is capable of. *
* Stellaria features arcade-style graphics and MIDI music.*

About the Code

I wrote all code myself except for the midi synthesizer.

I apologize for the for-loop overwhelmed, global variable laden, poorly commented, ill-organized and therefore highly inefficient code.

However this is the best I can do for now.


Put the folder StellariaTechDemo anywhere you like,
then Add StellariaTechDemo and all its subfolders in the search path list.

!Run stl_StellariaMain to play!


Stellaria is just like the arcade shoot-em-up you have played before, except for the sad music.

Stellaria supports two players.

Each player has 30 lives and 3 bombs.

There are no power-ups, no boss, no score.

There is only 1 stage.

No text information will be displayed on the screen

The game can be slow when there are over 50 objects on the screen (For my i7 2.8GHz + 6 GB RAM +GTX480 computer,
this number could reach over a 100 without any significant frame dropping). Anyway, you need a better-than-average computer to play this game.


Player 1: WSAD - Movement, U - Fire, I - Bomb;
Player 2: DirKeys - Movement, Insert - Fire, Delete - Bomb;
You may skip the opening scene and credits screen by pressing 1 or 2
. They stands for 1 player and 2 players, respectively.


Most graphical contents used in this game are the creation of Hamukorosama.
You can find his works at this site:


The background music used in this game are composed by Shi Jin (Chinese: 石进)
His Weblog:


The capability of playing midi music is granted by the MIDI synthesizer written by Kenneth Adams, Jr. at GaTech
This synthesizer is available for download at

The synthesizer comes as a part of Stellaria. You DO NOT need to download it separately.

The synthesizer has been slightly modified by the author of this game.


The keyboard processing technique used in the Mario Sim v 0.1
by Ryan Kinnett

The double-plot star scroll technique employed by Dave's shooter game
by David Buckingham,


This game is not intended for commerical purposes and is free for everyone. However, if you decide to use the code

or any graphical or audio materials in your own project, please kindly make sure the original authors (Mingjing Zhang,

Hamukorosama, Shi Jin and Kenneth Adams) are properly accredited.

Contact Info:
If you have any questions, suggestions, comments or complaints
Please do not hesitate to send me an email:

I'll write back as soon as possible.



Update Log:

Sep 24, 2012 (V 1.3):
* An App installer is added
* Now the user can gracefully quit the game simply by closing the figure window without causing any error

Cite As

Mingjing Zhang (2024). Stellaria (Tech Demo) - The best MATLAB shooting game ever (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Video games in Help Center and MATLAB Answers

Inspired by: Mario Sim v0.1, Dave's MATLAB Shooter

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Drastically reduced the size of the program by removing redundant music files

An App installer is added
Now user is allowed to close the window to quit the game without causing any error.

* Removed the unpleasantly depressing messages
* Fixed a minor bug about tic/toc that may cause error before release 2010a