English Amiga Board


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

 
 
Thread Tools
Old 02 February 2023, 14:53   #1
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 139
Tech demo of my game

Hello everyone!

I have assembled an ADF image on my little game/tech-demo I have been working on for the past few months. This is my first C/ASM Amiga game, so it took a fairly long time and was very challenging and fun to work on.

I would be extremely grateful to have your input, comments, suggestions about it. Should it be useful to others, I could put the whole project and source code on GitHub, but otherwise I would be happy to answer any questions too. As I mentioned, this being my first serious game project on an Amiga, it is certain that a lot of things could be done better, safer, more compatible, more efficient, etc.

Here's a screenshot of what it looks like:


The technical specs:
- Detects PAL and NTSC, so it should work on both systems
- Runs at full frame rate (50Hz or 60Hz), scrolling in 8 directions
- Uses lowres HAM 6-bitplane mode
- Dynamic sprite management system: it groups sprites by pair, and recycles sprites across the screen vertically: the system can display a maximum of 104 sprites.
- On an example screen like the one in the screenshot, there is about 80 visible moving sprites, some are animating
- Sprites are being recolored by the copper: 12 colors per scanline to be precise. This means a theoretical limit of 2880 colors could be displayed just for the sprites. With the current sprite sheet I used, the sprites are using 265 colors.
- The background tiles are in HAM, which means up to the full palette of 4096 colors, and arranged in such a way show fringeless horizontally scrolling
- The tiles are shaded at runtime according to light sources (i.e., torches) with a scanline-dithering technique to allow approximately 30 level of darkening
- There is a single bitmap buffer (i.e.: no double buffering), so everything is rendered with carefully timed 'racing-the-beam' blits.
- The copper list is also a single list, so all real-time modification of the copper list is done with careful timing
- joystick control (port 2) and keyboard are supported
- I tried to make it as system friendly as I could: the game can be directly booted from floppy or installed on RAM: or hard drive or anything else and should work correctly.
- It works on kickstart 1.2 and anything above. However, on Amiga 1000 with a kickstart older than that, my startup-sequence is doing run <NIL: >NIL: RemGame.exe >NIL: which is not supported so it fails to start; but removing that and it works fine (tested in WinUAE)
- So far, I've only tested it on WinUAE: my only attempt to run it on hardware was on my Vampire V4, and it crashed horribly. I cannot fully trust that the V4 implementation is 100% compliant with a real Amiga, so for now I do not know how well my game would fare on real hardware.
- Technically it should boot and work on a real CDTV and Amiga CD32, but I've only tested on WinUAE for now.
- It runs on OCS, and requires only a 512KB chip ram Amiga, so normally any plain Amiga 500/2000, or Amiga 1000 with 512KB should work

In the screenshot shown here, there are 1458 colors displayed on the screen and it scrolls at full framerate on any Amiga model.

EDIT: I fixed a graphic glitch on several fast amiga models but I left the original ADF package here in case of future reference. The new and fixed version is called v2:
https://eab.abime.net/attachment.php...1&d=1675381348
Attached Thumbnails
Click image for larger version

Name:	screenshot_1400_colors.png
Views:	6912
Size:	58.6 KB
ID:	77974  
Attached Files
File Type: zip RemGame_2023-02-02.zip (106.9 KB, 577 views)
File Type: zip RemGame_2023-02-02_v2.zip (106.9 KB, 1608 views)

Last edited by remz; 03 February 2023 at 00:44.
remz is offline  
Old 02 February 2023, 15:17   #2
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,631
When you posted a screenshot I didn't think it would work even as a tech demo. Congratulations Just tried it and it looks amazing Will be interesting if you can implement basic interactions (pick stuff up, open doors) and enemy movement.
TCD is offline  
Old 02 February 2023, 15:45   #3
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 389
This looks really lovely.

It'd be interesting to see how the Ham tiles hold up with a more organic background like a Zelda style forest. I'm sure it'd look great!

Really hope you'll keep going and turn it into a finished game.
Jobbo is offline  
Old 02 February 2023, 16:04   #4
khph_re
Registered User
 
Join Date: Feb 2008
Location: Northampton/UK
Posts: 525
Blimey! lovely looking work. We don't get many games involving HAM, let alone copper recolour.

I'll find a blank disk for my A500 and report back (Kick 1.2)
khph_re is offline  
Old 02 February 2023, 17:36   #5
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,113
That's very cool! Awesome job. It crashes very shortly after starting on my A1200 though (with or without accelerator - more quickly with). Seems to work in WinUAE A1200 quickstart (with a glitchy screen during loading).
paraj is offline  
Old 02 February 2023, 17:37   #6
Aardvark
Registered User
 
Join Date: Jan 2019
Location: Finland
Posts: 635
Working on 68060 when cache is disabled with somewhat glitchy graphics.
[ Show youtube player ]
When running under generic WHDLoad slave all these glitches are fixed.
Aardvark is offline  
Old 02 February 2023, 17:53   #7
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,770
Only ran it on WinUae, but if it runs well on an A500, then it's very impressive indeed Would love to see more of this
Thorham is offline  
Old 02 February 2023, 17:58   #8
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 139
Quote:
Originally Posted by paraj View Post
That's very cool! Awesome job. It crashes very shortly after starting on my A1200 though (with or without accelerator - more quickly with). Seems to work in WinUAE A1200 quickstart (with a glitchy screen during loading).
Thank you, crashing on A1200 is certainly unexpected. I'll have to investigate.

Side note: The glitchy brief loading garbage is "normal" at current stage and will happen on any Amiga models.
remz is offline  
Old 02 February 2023, 18:00   #9
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 139
Quote:
Originally Posted by Aardvark View Post
Working on 68060 when cache is disabled with somewhat glitchy graphics.
[ Show youtube player ]
When running under generic WHDLoad slave all these glitches are fixed.
Ah, very nice to know: I manage to see that similar color glitch in WinUAE when using a certain combination of AGA workbench + fast system + not waiting for blitter: I'm expecting my code is doing something incorrect. I'll have to dig more into it!
remz is offline  
Old 02 February 2023, 18:01   #10
StingRay
move.l #$c0ff33,throat
 
StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
This looks really nice indeed, you should definitely turn it into a finished game.

Quote:
Originally Posted by Aardvark View Post
When running under generic WHDLoad slave all these glitches are fixed.
Cache is disabled when WHDLoad starts a slave, the slaves have to enable the cache or it is not used.
StingRay is offline  
Old 02 February 2023, 18:04   #11
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,539
If you decide to make it a game i can help with the audio part
saimon69 is offline  
Old 02 February 2023, 18:13   #12
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,770
Checked it on my A1200 with Blizzard 1230 MK4 and getting similar graphics glitches as seen in the video.
Thorham is offline  
Old 02 February 2023, 18:26   #13
Aardvark
Registered User
 
Join Date: Jan 2019
Location: Finland
Posts: 635
Quote:
Originally Posted by StingRay View Post
Cache is disabled when WHDLoad starts a slave, the slaves have to enable the cache or it is not used.
This demo works without glitches under GenericKick31.slave with or without Cache option. Only when running natively it crashes with cache.
Aardvark is offline  
Old 02 February 2023, 18:34   #14
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,356
Looks very good. Hoping to try it on real hardware (A1200 + Pistorm32-Lite) in the near future.
alexh is offline  
Old 02 February 2023, 19:00   #15
zzbylu
Saberman
 
zzbylu's Avatar
 
Join Date: Dec 2016
Location: Kielce/Poland
Posts: 330
Great tech demo! Time for a beta version of the game!
Gameplay: [ Show youtube player ]
zzbylu is offline  
Old 02 February 2023, 19:01   #16
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,113
Quote:
Originally Posted by remz View Post
Thank you, crashing on A1200 is certainly unexpected. I'll have to investigate.

Side note: The glitchy brief loading garbage is "normal" at current stage and will happen on any Amiga models.
Could be that my amiga is going bad. Retried a bunch of times (maybe 50) and couldn't reproduce the crash. Now it seems to work fine most of the time, but sometimes I get persistent glitches after moving (like in the screenshot).


You can probably ignore it if it doesn't show up for anyone else. System is ancient KS3.0 A1200+Blizzard 060(disabled)+gotek.
Attached Thumbnails
Click image for larger version

Name:	IMG_0199.jpg
Views:	464
Size:	189.4 KB
ID:	77978  
paraj is offline  
Old 02 February 2023, 19:18   #17
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 139
Quote:
Originally Posted by paraj View Post
Could be that my amiga is going bad. Retried a bunch of times (maybe 50) and couldn't reproduce the crash. Now it seems to work fine most of the time, but sometimes I get persistent glitches after moving (like in the screenshot).


You can probably ignore it if it doesn't show up for anyone else. System is ancient KS3.0 A1200+Blizzard 060(disabled)+gotek.
The glitch your screenshot shows looks like if one the palette was incorrectly set: I would guess palette #1 (since if it was palette 0, the border wouldn't be black).
Because the game is in HAM, every pixel using palette #1 is shown with an incorrect color and it "fringes" up until the next color index pixel because of how HAM works. Very strange indeed.
remz is offline  
Old 02 February 2023, 19:26   #18
Torti-the-Smurf
Registered User
 
Torti-the-Smurf's Avatar
 
Join Date: Dec 2018
Location: Earth
Posts: 1,065
This looks very cute and i really dig the Chiptune Music

Torti-the-Smurf is offline  
Old 02 February 2023, 19:46   #19
pixie
Registered User
 
pixie's Avatar
 
Join Date: May 2020
Location: Figueira da Foz
Posts: 370
Played it on WinUAE, but still I have to say that I'm quite impressed!
pixie is offline  
Old 02 February 2023, 19:46   #20
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 139
Quote:
Originally Posted by Torti-the-Smurf View Post
This looks very cute and i really dig the Chiptune Music

For those that likes that music, it is a chiptune version from CError of the lovely KT Tunstall song: [ Show youtube player ]
remz 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
Menace - HD Tech Demo - Vampire Remake invent Amiga scene 45 01 August 2022 18:22
Turrican MSX WIP 4 (video and playable tech demo) thegeps Retrogaming General Discussion 2 03 February 2022 02:42
Mispronounced game/game company/tech stuff names lilalurl Nostalgia & memories 50 12 January 2021 00:28
SVLCVSS Side Track Test Run Tech Demo Cobe project.Amiga Game Factory 19 10 September 2019 21:38
LN2 tech demo gimbal project.Amiga Game Factory 63 02 October 2008 20: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 03:28.

Top

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