16 December 2016, 16:51 | #41 | |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
|
Quote:
(Seems to me Wolfenstein has very little actual palette variation.) Skickat från min LG-H850 via Tapatalk |
|
16 December 2016, 17:41 | #42 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
Reserving 16 colors for sprites is the only clean way to do it, the first row with the standard 16 color PC palette looks a prime candidate for that:
http://diehardwolfers.areyep.com/bun....htm#appendixb There might be some graphics using them, or they could have some special function. In that case remapping is necessary, which would complicates things a bit, especially for sprites. Anyway this is a bit too early, first I need an example C program on how to do AGA sprites. |
17 December 2016, 16:53 | #43 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
|
If you can squeeze 15 colors per row of pixels and allocate 2 banks of 15, you can double buffer the sprite palette with the Copper list.
|
17 December 2016, 17:53 | #44 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
Ok, I more or less have a clean base to work with. I have two Intuition screen buffers, latched images are drawn with BltBitMap, the fonts are drawn with BltTemplate. I have a continuous chunky buffer converted directly with Akiko with the starting offsets and pitch precalculated.
Now the quest to find fast drawing routines for the 3D portion (walls, sprites, weapon) starts. I gave the original sources another look, and I was wrong, it still uses compiled scalers. In fact it looks quite similar to what was in Catacomb 3D with some extra compacting for the table. First I'll check if I can reuse the code from Catacomb 3D. edit: Compiled scalers for the walls work now, this is a good start. Wall scaling now works at copy-speed, I got a 50% speed increase from 3 FPS to 6 FPS The huge AsmRefresh function eats up a lot of CPU time. In the original game it was in assembly, hence the name, and for a good reason. Last edited by BSzili; 17 December 2016 at 19:26. |
17 December 2016, 22:28 | #45 | |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
|
Quote:
Do you have a target fps towards which youll optimize against or just make it as fast as you can and see what you end up with, so to speak? Skickat från min LG-H850 via Tapatalk |
|
18 December 2016, 11:28 | #46 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
I think 12-15 FPS would be the minimum for this type of game to be playable, the Mega Drive version is in that range. How to get there is anybody's guess, I'll start with stripping down the AsmRefresh function to see what makes it so slow.
|
19 December 2016, 21:11 | #47 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
I tried cleaning up the function, I even looked up an older C version which is as lightweight as it gets. It's no good, it's still dog slow, I only got a couple FPS with the actual drawing dummied out.
The SNES and Mac version of the game used BSP trees instead of ray casting, which is said to be faster. Fortunately the Mac version is open source, I'll have a look at how it works. |
19 December 2016, 21:30 | #48 |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
|
Come on man you can do it, look :-)
http://mashable.com/2016/12/19/wolfe...2#LXT1dcDNCqqs Edit: (Kind of cheating with a custom CPU in the cartridge, but still ;-) |
19 December 2016, 22:59 | #49 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
Yes, I can reduce the view area to ~160x90 too.
|
19 December 2016, 23:09 | #50 |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
|
|
19 December 2016, 23:49 | #51 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
I think the other trick we can take from that is that the game skips lines to be rendered. Can you draw every two? might look weird on a CRT, but we can try, right?
|
20 December 2016, 00:25 | #52 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
Skipping lines in this case wouldn't help since drawing the individual columns is fast, but the horizontal resolution could be halved so the raycaster has less work. Still, it bothers the heck out of me that the raycaster is this slow. I really want to try BSP trees, but I don't have a node builder or the original SNES/Mac levels for that matter.
|
20 December 2016, 06:14 | #53 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
|
|
20 December 2016, 09:45 | #54 | |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
|
Quote:
The AKIKO chip never gave more than... what... 25% boost for C2P? From some old forum post I have these numbers for AGA Copper chunky: 330×256 in (3×2pixel mode) or 220x256 in (2×2) I think 220x256 (2×2 pix) sounds acceptable? Skickat från min LG-H850 via Tapatalk |
|
20 December 2016, 09:54 | #55 | |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
|
Quote:
As for the resolution of non-overscanned Copper Chunky on AGA, the resolution is 160x256 PAL or 160x200 NTSC. I would not suggest doing the bottom panel in Copper Chunky though. Also, if you don't do horizontal overscan, the sprites remain active so you don't need to redraw the hands holding the gun and the palette registers used by the sprites remain completely available. |
|
20 December 2016, 10:02 | #56 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
I was sarcastic. He sent me a video of a custom written version running on a custom hardware in a tiny, tiny screen. The C2P is as good as it gets, I need fast rendering for the walls.
|
20 December 2016, 10:20 | #57 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
|
Ok. I get it now. Unfortunately, the Wolfenstein level editor I saw back in the day shows the levels being stored as tile maps.
Will this help? http://www.afadoomer.com/wolf3d/about.html Last edited by Samurai_Crow; 20 December 2016 at 10:32. Reason: added link |
20 December 2016, 10:42 | #58 | |
Registered User
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 2,946
|
Quote:
I want to cheer you on in your efforts! Skickat från min LG-H850 via Tapatalk |
|
20 December 2016, 11:49 | #59 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
Don't worry, I wasn't put off by it. In the meantime I found the source code of WolfEdit 2 for Mac, which has a node builder. It's in Pascal, so I either translate it to C so I can include it in the game, or touch it up for FreePascal keep it as a separate utility. We'll see.
|
31 December 2016, 21:01 | #60 |
old chunk of coal
Join Date: Nov 2011
Location: Hungary
Posts: 1,289
|
I managed to write a mostly working node builder based on WolfEdit2. It was a good idea to rewrite it, the level format of the DOS version differs quite a bit.
The pushwalls are going to cause some trouble because the console/Mac version has simplified levels, where only one pushwall side is visible to the player. The original DOS version on the other hand has levels where you can see up to 3 sides, some has two pushwalls next to each other, etc. Then came the horrors, the DOS version of Wolf3D still uses degrees for its angles. The bsp renderer needs to calculate many angles, so before I can do anything I have to switch to BAMS. What have I got myself into... |
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 | 322 | 04 August 2023 12:21 |
Unofficial CD32 port of Rally Championships | earok | Retrogaming General Discussion | 1 | 11 January 2014 03:59 |
AmiWolf - new AGA Wolfenstein 3D Port | NovaCoder | project.Amiga Game Factory | 100 | 16 September 2013 01:44 |
CD32 port 2, fire not working | skyldig | support.Hardware | 5 | 06 December 2006 17:22 |
Floppy port of the SX-32 Pro for CD32 | Tony Landais | support.Hardware | 7 | 10 April 2003 21:44 |
|
|