English Amiga Board


Go Back   English Amiga Board > Other Projects > project.CD32 Conversion

 
 
Thread Tools
Old 13 June 2014, 06:32   #1
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
Wolfenstein 3D port for CD32

Hi all,

I've been working on a cut down port of Wolfenstein 3D for CD32, based on the "AWolf" source code (http://aminet.net/package/game/shoot/AWolf3D).



[ Show youtube player ]

As you can see I've taken a couple of liberties with the rendering (eg the viewport width), but I've managed to get it fast enough to be playable on a stock standard CD32.

Also it's fully playable on just a stock controller.
  • Red: Shoot
  • Blue: Open
  • Green: Run
  • Yellow: Change Weapon
  • Forward/Reverse: Strafe
  • Play: Quit

There's still a few rendering glitches to sort out, also I want to look at Sound and Music (there's none at the moment), registered version/Spear of Destiny support and rudimentary NVRam saving.

This is my first Amiga dev project and my C is really bad, so I know I've made bit of a hack job of the source code. I'd appreciate any advice or suggestions at all.

Source is here: https://github.com/earok/akikowolf
ISO is here: https://github.com/earok/AkikoWolf/r...are%20CD32.iso

Last edited by earok; 13 June 2014 at 13:20.
earok is offline  
AdSense AdSense  
Old 13 June 2014, 07:00   #2
amiman99
Registered User

amiman99's Avatar
 
Join Date: Sep 2009
Location: San Antonio, TX USA
Age: 44
Posts: 718
Nice to see another port of Wolf3D and for CD32.
I'll try your version soon on my CD32.

I've been following a Wolf3D port for Sega Genesis and it looks like someone got it working and running fairly well on the system and that is on a 8MHz 68000 (in assembly)
http://www.sega-16.com/forum/showthr...genesis/page17

Good luck with the project.
amiman99 is offline  
Old 13 June 2014, 07:13   #3
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
Cheers. I saw the Wolf3D port to Genesis and was impressed by what he had pulled off, actually I was kind of embarrassed that I couldn't get this port working as well as the Genesis one does.
earok is offline  
Old 14 June 2014, 03:53   #4
amiman99
Registered User

amiman99's Avatar
 
Join Date: Sep 2009
Location: San Antonio, TX USA
Age: 44
Posts: 718
I tried it on real NTSC CD32 and it plays not bad.
amiman99 is offline  
Old 14 June 2014, 08:15   #5
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
Thanks for testing it out!

Just published two fixes to the source/iso (fix for screen tinting red after going back into the game from the menu, also fix for the AI occasionally being lethal).
earok is offline  
Old 14 June 2014, 09:45   #6
tom256
Registered User
 
Join Date: Dec 2011
Location: Poland
Posts: 121
Quote:
Originally Posted by amiman99 View Post
I tried it on real NTSC CD32 and it plays not bad.
So far 286 is better, but its still early beat so I'm keeping finger. Cool idea to make Wolf 3D playable on CD32.

[ Show youtube player ]

Does it use Akiko?? Will it run on A1200, without expansions??

Last edited by tom256; 14 June 2014 at 10:01.
tom256 is offline  
Old 14 June 2014, 11:19   #7
redblade
Zone Friend

redblade's Avatar
 
Join Date: Mar 2004
Location: Middle Earth
Age: 33
Posts: 1,048
How many more fps do you get using akiko? surely all the gfx data won't take up too much of the 2mb ram?
redblade is offline  
Old 14 June 2014, 11:30   #8
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
Haha, I don't think I'll ever be able to beat the 286 :P

Published yet another fix (hopefully the last for a week or so), it was running out of memory by the second or third level as each sprite was behind held in memory twice (once for the initial load and and once to "decompile" the shape). I've made it free the ram of the initial load after the decompile, so hopefully it now should be playable right through to Hans Grosse.

It probably won't run on a basic A1200 as it does use Akiko's WriteChunkyPixels functions. If there's any demand for a version that works on a basic A1200 I could look into that - although the source for my version, AWolf (http://aminet.net/package/game/shoot/AWolf3D) should also work on a standard A1200, I was able to get that running on my CD32 as well (although I had to use halfnhalf to create fake fastram in order to get blazewcp working).
earok is offline  
Old 14 June 2014, 20:05   #9
kkgarbod
The Human/Gray Hybrid

kkgarbod's Avatar
 
Join Date: Dec 2009
Location: The Elizabeth Arkham Asylum for the Criminally Insane
Posts: 303
Would this be able tun the registered version?
kkgarbod is offline  
Old 14 June 2014, 21:27   #10
Cobe
Registered User

 
Join Date: Jan 2014
Location: Belgrade / Serbia
Age: 34
Posts: 520
Awesome! Great idea. Tried it on PAL CD32. Runs decent. It's playable. It has those slowdowns when accessing disc but I don't mind, I love ma ol' lady and she can take her time With sound and music it will be nice to play. Little bigger window if you manage to get with same fps would be great.
And a minor thing for later fixes, if you already didn't notice by yourself, on real CD32 you can't get out from high score entry with joypad, obviously need keyboard.
Cobe is offline  
Old 15 June 2014, 01:05   #11
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
@kkgarbod it doesn't currently support the registered version, I tried compiling it with the registered version flag on and it loaded but the graphics were messed up, I'll need to look into why but I presume it's because the texture offsets are different between shareware and registered versions.

@cobe thanks! I guess I didn't get any high scores I'll look into fixing that for the next release.
earok is offline  
Old 11 December 2015, 20:18   #12
Amigajay
醉拳
Amigajay's Avatar
 
Join Date: Jan 2010
Location: UK
Posts: 1,529
Any advancements with this or is it not likely to get any speed improvements?
Amigajay is offline  
Old 11 December 2015, 23:59   #13
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
Quote:
Originally Posted by Amigajay View Post
Any advancements with this or is it not likely to get any speed improvements?
It's already probably the fastest FPS on CD32 with a 1x1 resolution . I haven't touched the code in awhile and to be honest I made a mess of it trying to squeeze out every frame, I might have to start this from scratch someday.
earok is offline  
Old 22 December 2015, 06:34   #14
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 46
Posts: 1,012
Quote:
Originally Posted by earok View Post
It's already probably the fastest FPS on CD32 with a 1x1 resolution . I haven't touched the code in awhile and to be honest I made a mess of it trying to squeeze out every frame, I might have to start this from scratch someday.
Oh, thank you for reviving this thread which I had completely missed!

So many interesting things to try, so little time!
From what I read in this thread, the game is still 100% C code?

I am very tempted to give it a look but my own project moves slowly enough that I should really work on it first. Argh... Temptations!
ReadOnlyCat is offline  
Old 22 December 2015, 08:04   #15
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
Quote:
Originally Posted by ReadOnlyCat View Post
So many interesting things to try, so little time!
From what I read in this thread, the game is still 100% C code
There was some assembly in the base code I used (I think for rendering the wall slices) but I threw it out, not because I thought I could optimise it better but because I was doing a bunch of nasty hacks to get the game to run smoother at the cost of graphical fidelity.

I haven't had a chance to work on it lately and someone else could do a much better job making it cd32 friendly I'm sure.
earok is offline  
Old 22 December 2015, 10:26   #16
Amigajay
醉拳
Amigajay's Avatar
 
Join Date: Jan 2010
Location: UK
Posts: 1,529
Maybe using the Gloom editor removing floor and ceiling textures would result in a faster Wolfenstein 'clone' not the ideal maybe.
Amigajay is offline  
Old 03 February 2016, 07:11   #17
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 46
Posts: 1,012
Quote:
Originally Posted by earok View Post
There was some assembly in the base code I used (I think for rendering the wall slices) but I threw it out, not because I thought I could optimise it better but because I was doing a bunch of nasty hacks to get the game to run smoother at the cost of graphical fidelity.

I haven't had a chance to work on it lately and someone else could do a much better job making it cd32 friendly I'm sure.
Do you have the source code available somewhere?
ReadOnlyCat is offline  
Old 03 February 2016, 07:26   #18
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 46
Posts: 1,012
Quote:
Originally Posted by earok View Post
Cheers. I saw the Wolf3D port to Genesis and was impressed by what he had pulled off, actually I was kind of embarrassed that I couldn't get this port working as well as the Genesis one does.
Note that gasega68k does not make use of the full 64 colours of the MegaDrive/Genesis, only 16 are actually used with dithering which also halves the horizontal resolution. These two things give his version quite a boost.

He has made the source code available so I guess we could compare.
(http://download739..com/2764g5l4zdwg...demo_b2_sn.rar)
ReadOnlyCat is offline  
Old 03 February 2016, 10:24   #19
earok
Moderator

 
Join Date: Dec 2013
Location: Auckland
Posts: 1,550
I've zoned the source, it's very rough (The tweaks were my first real Amiga C project and I wasn't finished). Some tweaks I made from the AWolf (C:\Games\Emulator\WinUAE\SC\AWolf3D_src) base:


- Uses "WriteChunkyPixels" to take advantage of the Akiko chip (won't run well on an A1200)
- CD32 Pad support including strafe
- Narrower aspect ratio (squarer) for speed
- Ugly graphical hacks to try and speed up the wall rendering (glitches are particularly noticiable on doors)
- Fix to distance calculation problem (in some angles it would calculate that a German guard a mile away was point blank, since it was calculating the difference between unsigned ints!)
- Some hacky optimisations to rendering sprites, in particular with the on-screen weapon sprites (so the rendering loop skips most of the empty pixels)
earok is offline  
Old 04 February 2016, 06:36   #20
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 46
Posts: 1,012
Quote:
Originally Posted by earok View Post
I've zoned the source, it's very rough (The tweaks were my first real Amiga C project and I wasn't finished).
Thanks!
And the moment I go fetch the sources on the Zone I realize you included a link to the GitHub project on the first post...

Quote:
Originally Posted by earok View Post
Some tweaks I made from the AWolf (C:\Games\Emulator\WinUAE\SC\AWolf3D_src) base:

- Uses "WriteChunkyPixels" to take advantage of the Akiko chip (won't run well on an A1200)
- CD32 Pad support including strafe
- Narrower aspect ratio (squarer) for speed
- Ugly graphical hacks to try and speed up the wall rendering (glitches are particularly noticiable on doors)
- Fix to distance calculation problem (in some angles it would calculate that a German guard a mile away was point blank, since it was calculating the difference between unsigned ints!)
- Some hacky optimisations to rendering sprites, in particular with the on-screen weapon sprites (so the rendering loop skips most of the empty pixels)
Oki, thanks for these details. If it is all C, then all the better, my assembly is way too rusty to be of use for the moment.

I have a bit of work already "planned" on Catacombs 3D which I expect to be very similar technically to Wolf3D so I will first check if anything I thought about for the former can be applied to the latter. No promises on dates though, I have much to do before I even start looking at it.
ReadOnlyCat is offline  
AdSense AdSense  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
AmiWolf - new 68k Wolfenstein 3D port NovaCoder News 265 17 December 2016 05:05
Unofficial CD32 port of Rally Championships earok Retrogaming General Discussion 1 11 January 2014 04:59
AmiWolf - new AGA Wolfenstein 3D Port NovaCoder project.Amiga Game Factory 100 16 September 2013 02:44
CD32 port 2, fire not working skyldig support.Hardware 5 06 December 2006 18:22
Floppy port of the SX-32 Pro for CD32 Tony Landais support.Hardware 7 10 April 2003 22:44

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 04:58.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.35171 seconds with 13 queries