Swift Project: Space Shooter "Asteroid Blast"

posted 14 Oct 2016, 04:39 by Alexander Wegner

I've started with Swift programming some month ago. After some simple "Hello world!" programs, I've started with a game. It's a Shoot'em Up with a space setting. The game genre is classic. You control a tiny space ship through an asteroid field. You can shoot the asteroids with your lasers and earn points for your score board. The game speed and the asteroids increase over time. The game is over when your ship is destroyed. Seeking new high scores and fulfilling achievements ist the motivation for new runs.
The game name is just a working title and there are still some game features missing. The newest version is ver. 0.40. The whole project can be found in my repository on GitHub under:
Some weeks ago, I've recorded two gameplay videos. There are massive changes in the meantime, but the core game features is shown in the videos. Enjoy them :)

Gameplay Video - Asteroid Blast ver. 0.35

Gameplay Video - Asteroid Blast ver. 0.21


- enemies
- nebulas
- Add new game features to tutorial
- Improve sprites
- Different ship sprites?
- More Shields
- Horizontal movement

ver 0.40
- Number of destroyed asteroids is tracked for achievements
- Data for achievements is saved
- 6 achievements added
- Achievements:
01: "Master Blaster"
Task: Destroy 100000 asteroids
Reward: New skin

02: "Wreck-it NAME"
Task: Get hit 30 times in one game
Reward: Shields +1

03: "Gunslinger"
Task: Hit 300 asteroids without missing in one game with standard laser
Reward: New weapon: Disruptor

04: "Dodge this!"
Task: Surviving 300s without hitting and being hit
Reward: Vertical movement enabled

05: "I'm T.N.T., I'm dynamite"
Task: Get killed by own bomb explosion
Reward: Bombs +1

06: "King of the impossible"
Task: Score 100000 points in one game
Reward: New skin

ver 0.39
- Migration to SWIFT 3.0
- Sounds added for shields being hit
- Achievements menu added
- Scrolling trough achievements

ver 0.38
- New ship sprites
- Options can be changed from "Pause" menu
- Pause layout and functions moved to TLPause
- New app icon based on new ship design

ver 0.37
- Score can be tweeted on Twitter
- Score can be tweeted on Facebook
- New sprites for power ups
- Back button texture problem solved

ver 0.36
- Controls improved

ver 0.35
- High score list added
- High score are persistently saved
- Small bug fixes

ver 0.34
- Game settings are saved to and loaded from file

ver 0.33
- Game pause added
- HUD has now icons for game pause and weapons
- Game can be quitted
- Ship inventory added
- Player can switch between weapons

ver 0.32
- Adjustment in spawning times
- Bug fixes
- Power ups added: Laser sphere and laser cone
- Weapon can be picked up and will be equipped
- Inventory class added

ver 0.31
- New weapon: Laser cone
- Laser cone implemented
- New sound effects added
- Nebula added

ver 0.30
- Laser sphere implemented
- Shooting sound added

ver 0.29
- New weapon: laser sphere
- Animation for laser sphere added
- Basic mechanics for laser sphere added

ver 0.28
- Bomb hits objects in explosion radius
- Ship can be destroyed by bomb explosion
- Shields light up when being hit by meteorite or bomb explosion

ver 0.27
- New game font for longer text passages
- Bombs added to tutorial
- Info of power ups will be displayed when picked up
- Game pauses when home button is triggered
- Touch gesture for firing bombs added
- Bombs explosion sprites added
- Bombs have now two hit boxes (bomb body and explosion radius)
- Bomb dropping and exploding sounds added

ver 0.26
- Power ups: Bombs and shield power
- Power up sound added
- Bombs added to HUD
- Minor bug fixes

ver 0.25
- Shields for the space ship
- Health points for the space ship
- Slower background scrolling speed

ver 0.24
- Tutorial menu added
- Tutorial demo added, which shows the important game functions
- Minor bug fixes

ver 0.23
- Player name input in options
- Click sounds are adjusted with sound effect options
- About menu complete
- Twitter and website added to about menu
- Highscore menu added
- Highscores are read from array
- Highscores can be switched between time or score based data

ver 0.22
- adjustable volume of sound effects
- adjustable volume of music
- sound effects and music can be muted
- laser shooting interval adjustable
- issue with rotating scores has been fixed

ver 0.21
- Sprites and fonts sizes are now dynamic to screen sizes
- Game objects sizes and positions are now dynamic to screen sizes
- Options menu added
- About menu added

ver 0.20
- Error with explosions fixed
- Sound problems fixed
- New HUD design
- Game menu with new design

ver 0.19
- Title screen added
- Menu screen added
- Hit sounds
- minor bug fixes

ver 0.18
- improve background transitions
- different backgrounds
- different textures for meteorites
- different health points for meteorites
- minor bug fixes

ver 0.17
- meteorites appear random sizes
- meteorites have now random rotation speed and direction
- meteorites spawn time and speed increase slower
- space ship size reduced

ver 0.16
- meteorite speed and spawn time increases while playing
- experimental HUD
- custom fonts added
- minor code improvements

ver 0.15
- meteorites renamed
- more meteorites
- game speed increased
- minor bugfixes
- minor code improvements

ver 0.1
- basic concept
- sprites and backgrounds
- movement of ship
- movement of backgrounds
- moving object: meteorite
- laser weapon
- collision detection
- explosions
- game score
- destroyable ship
- sound effects
- background music

The Hoverboard is coming

posted 23 Oct 2014, 00:57 by Alexander Wegner   [ updated 23 Oct 2014, 03:02 ]

So an unusual post from me, but the I HAVE to spread the word. Finally there is a working hoverboard in the making. 
See this beautiful Kickstarter campaign:

They have set an event on 21 October of 2015, so the date to which Marty McFly travelled (or will be travelling oO, stupid time travelling grama) in the beloved movie "Back to the Future". Check out the awesome videos and concepts on their Kickstarter site. It's only working on sheet metals of copper and aluminium...for now :)

"Roads? Where we're going, we don't need roads."


File BackUpper v01

posted 20 May 2014, 02:01 by Alexander Wegner

I had some problems at work with some huge EXCEL files which like to crash sometimes. I've searched for some backup solutions on the internet, but unfortunately I couldn't find a suitable and free tool. 
Long story short, I wrote a small tool, which keeps periodically backupping a chosen file to a defined destination. It's also possible to backup on request.

The tool is filed under:

Have fun while using it.


Comments now available

posted 22 May 2013, 06:19 by Alexander Wegner   [ updated 22 May 2013, 06:21 ]

I had some issues with the comments section for each project. I found a solution, which should work now. I'm updating all project sites to make a comments functionality available.

You can still send me mails, but it's recommended to share your questions/improvements with others within the comments.


Update: RBG LED Matrix controlled with Java via HC-06 Bluetooth Module

posted 28 Jan 2013, 11:52 by Alexander Wegner

I've finally added a separator made of cardboard to the frame. There are some new videos and pictures on the project page.


Update: RBG LED Matrix controlled with Java via HC-06 Bluetooth Module

posted 9 Jan 2013, 23:44 by Alexander Wegner

I have finally moved to another city and my flat is almost finished. I had some time to work on the LED matrix project. I've wrote a new program to control the LEDs, but it's not finished yet. The software will be added soon, but for now I have some new pictures and videos.



Hopefully I can continue to work on this project soon.

Thesis log: Weeks 11 to 14

posted 22 Sep 2012, 05:36 by Alexander Wegner

Finishing the hardware

This is the first update for a couple of weeks. I was very busy working on my thesis and the hardware for my project. I've almost finished and installed all hardware in the car. Next steps are to finish the software.


Thesis log: Week 10

posted 28 Aug 2012, 01:08 by Alexander Wegner

Nothing happened

This is the tenth week and nothing really happened. I'm currently writing my on my thesis so there is no picture to upload or information to write. I've ordered some parts I need for implementing the BMS into the eBuggy. I hope they will arrive soon. Maybe I can post some progress next week.

Thesis log: Week 09

posted 21 Aug 2012, 06:40 by Alexander Wegner

Test with three stacks

The next has passed. This is what happened in my ninth week.


Update: RBG LED Matrix controlled with Java via HC-06 Bluetooth Module

posted 15 Aug 2012, 00:43 by Alexander Wegner

This is just a small update to this project. I decided to use Delphi 7 instead of Java for programming the desktop application. The first version is working.

Here are some pictures:

 This is my test pictures to see the color resolution.

The same picture as a reflection in my desk lamp :)

I'll post a big update with the desktop application, source codes, videos and more pictures after I'll handed in my thesis.


1-10 of 45