English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 07 June 2016, 02:25   #1
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Blocky Skies - My first Amiga game

I am getting close to finishing my first Amiga game and I thought I would post some details here for other newbies thinking of doing something similar.

TLDR - download demo from blockyskies.com. Full game/tools source code https://github.com/alpine9000/blockyskies.

@nobody came up with the idea for doing this game and he did all of the artwork. @saimon69 is the musician.

The game is 100% assembler/hardware. It is cross compiled on a mac using vasm/vlink and a handful of tools that I wrote in C to convert the graphics assets into Amiga format data.

In order to actually get something finished in a reasonable timeframe, I banned refactoring unless the frame rate fell below 50fps or the code compromised the game. This rule has resulted in some quite hard to understand routines but I did get something finished. In around 8 weeks of working a handful of hours a week a basic game was ready.

It uses quite a lot of the Amiga hardware features including:
  • Two Independently scrolling play-fields (foreground/background).
  • The copper switches screen modes mid-screen for the status/message panels.
  • The copper switches palettes many times each frame.
  • The blitter is used for all drawing (probably in some cases where it should not be ).
  • Hardware sprites are used for all of the items that appear on the board. Sprites are re-used vertically (not horizontally).
  • Three audio channels are used for the P61 music player, the other channel is used for sound effects.
  • A hardware track loader (thanks Photon) is used to load data directly from the floppy.

The build creates both a trackloaded ADF and a Workbench launch-able executable. At the moment the trackloaded version runs with 512kb of ram and the Workbench version requires about 650kb of free chip ram.

I used FS-UAE and WINUAE extensively to debug the game. This saved me a lot of time. Learning the full power of the UAE debugger would be my #1 recommendation for anyone thinking of developing a trackloaded hardware game. My hacked version of FS-UAE makes this even easier by giving me debug symbols and command line history/completion.

The other slightly different thing I did was to use a vlink linker script to keep track of ram usage, making it very easy to know when I had blown the 512kb chip ram limit.

I found coding asm on Amiga hardware to be super fun and surprisingly painless, so I can't wait to get started on the next game.
alpine9000 is offline  
Old 07 June 2016, 10:17   #2
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Good effort and nice write-up :-)
hooverphonique is offline  
Old 07 June 2016, 11:28   #3
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by hooverphonique View Post
Good effort and nice write-up :-)
Thanks, I probably should have mentioned that I am close to releasing a test of the workbench launch-able version.

If that tests out OK (and we have finished the levels/music) then I will put out the final version and it will be time to start on the next game
alpine9000 is offline  
Old 07 June 2016, 13:41   #4
Steve T
Registered User
 
Steve T's Avatar
 
Join Date: May 2013
Location: UK
Age: 44
Posts: 351
Good effort all! Great to see more software coming along.
Steve T is offline  
Old 07 June 2016, 13:46   #5
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Nice to see a new Amiga game, and with the source code congrats!
Kamelito
kamelito is offline  
Old 07 June 2016, 13:49   #6
DamienD
Banned
 
DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 47
Posts: 20,420
Very good work indeed alpine9000 (and nobody + saimon69)
DamienD is offline  
Old 07 June 2016, 15:41   #7
Amiga1992
Registered User
 
Join Date: May 2001
Location: ?
Posts: 19,645
This looks interesting!

I have to ask though: what is the main sprite supposed to be? I can't figure it out :/

Great job!
Amiga1992 is offline  
Old 07 June 2016, 17:00   #8
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by Akira View Post
This looks interesting!

I have to ask though: what is the main sprite supposed to be? I can't figure it out :/

Great job!
In the full release there is a different sprite each level.

The sprite in the video on the site (kaboom level) is a tank, and for the demo version it's a flying pig
alpine9000 is offline  
Old 07 June 2016, 17:30   #9
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
Nicely done!
alkis is offline  
Old 07 June 2016, 17:49   #10
Amiga1992
Registered User
 
Join Date: May 2001
Location: ?
Posts: 19,645
Quote:
Originally Posted by alpine9000 View Post
In the full release there is a different sprite each level.

The sprite in the video on the site (kaboom level) is a tank, and for the demo version it's a flying pig
I see, taking after crossy road and stuff.
Nice one.
Amiga1992 is offline  
Old 07 June 2016, 18:35   #11
amiman99
Registered User
 
amiman99's Avatar
 
Join Date: Sep 2009
Location: San Antonio, TX USA
Age: 50
Posts: 1,184
Looks interesting, I'll try it for sure.
amiman99 is offline  
Old 07 June 2016, 20:31   #12
Mrs Beanbag
Glastonbridge Software
 
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,243
oh! looks nice! i love the idea... a memory game
Mrs Beanbag is offline  
Old 07 June 2016, 21:34   #13
Franchute13
Registered User
 
Franchute13's Avatar
 
Join Date: Feb 2013
Location: Argentina
Posts: 281
Hi Alpine9000!
Excelent!
Thank you for the source code and the game!!!
Franchute13 is offline  
Old 08 June 2016, 08:30   #14
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by alpine9000 View Post
The game is 100% assembler/hardware. It is cross compiled on a mac using vasm/vlink and a handful of tools that I wrote in C to convert the graphics assets into Amiga format data.
That's the way to do it!

I see you used the free portable Tiled editor for the maps. I also plan to do that for my next game.
phx is offline  
Old 08 June 2016, 08:35   #15
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by phx View Post
That's the way to do it!

I see you used the free portable Tiled editor for the maps. I also plan to do that for my next game.
Yes Tiled is cool. I didn't really use many features and ended up using hard coded tile addresses to determine tile properties which I might not do again if I had my time over again.
alpine9000 is offline  
Old 08 June 2016, 09:16   #16
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
I uploaded a test release of a hard drive installable version to the website. It requires about 600kb of free chip ram.

I tested it as thoroughly as I could in UAE, but my workbench knowledge is 20 years old and only extended to 2.0....

So if anyone is brave enough to try it on real hardware I would be very grateful
alpine9000 is offline  
Old 08 June 2016, 11:13   #17
andyhants
Registered User
 
Join Date: Nov 2013
Location: Hampshire England
Posts: 184
Great little game mate well done!
andyhants is offline  
Old 08 June 2016, 11:20   #18
Superman
Super Member
 
Superman's Avatar
 
Join Date: Sep 2014
Location: Wakefield
Age: 48
Posts: 1,334
HD version works fine on my A1200 with CF drive.




Superman is offline  
Old 08 June 2016, 11:49   #19
alpine9000
Registered User
 
Join Date: Mar 2016
Location: Australia
Posts: 881
Quote:
Originally Posted by Superman View Post
HD version works fine on my A1200 with CF drive.
Thanks, I appreciate you taking the time to test it

Did it quit back out to workbench OK ?
alpine9000 is offline  
Old 08 June 2016, 11:57   #20
Superman
Super Member
 
Superman's Avatar
 
Join Date: Sep 2014
Location: Wakefield
Age: 48
Posts: 1,334
Quote:
Originally Posted by alpine9000 View Post
Thanks, I appreciate you taking the time to test it

Did it quit back out to workbench OK ?
Yes it did indeed.
Superman is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Reach For The Skies lordofchaos Games images which need to be WHDified 18 27 August 2023 12:35
Workbench backdrop is blocky and jagged Leandro Jardim support.Apps 2 24 May 2013 16:17
Blocky ? blade002 support.Hardware 8 18 May 2006 15:48
Reach for The Skies manual Fred the Fop request.Old Rare Games 0 24 January 2003 22:05
Reach For The Skies manual Fred the Fop request.Old Rare Games 1 19 January 2003 14:22

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 17:04.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.20230 seconds with 15 queries