English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Amiga Game Factory (https://eab.abime.net/forumdisplay.php?f=69)
-   -   Catacomb 3D Amiga port, is anyone up for the challenge? (https://eab.abime.net/showthread.php?t=77276)

Rebel-CD32 02 March 2015 00:40

Catacomb 3D Amiga port, is anyone up for the challenge?
 
I just noticed that Catacomb 3D for the PC went open source last year. Since it's an even earlier "FPS" (in a way) than Wolfenstein 3D, and only using 16 colours perhaps it wouldn't be such a tough challenge to port to the Amiga for some experienced C coders. I don't know, but it'd be cool to have a port of it on the Amiga.

https://github.com/FlatRockSoft/Catacomb3D

BSzili 31 May 2015 22:51

I plan to do a Catacomb 3D port sometimes in the future. It does planar 4-bit EGA graphics, which is a nice match for Denise/Lisa. Not having to do C2P will free up some CPU cycles too. A stock A1200 could be a realistic target.

s2325 31 May 2015 23:00

Behind the Iron Gate was smooth and fast on A500, maybe parts of code may be usable if it's released somewhere. For me Catacomb 3D had great gameplay, it may be only better with Amiga sounds instead of PC Speaker or Adlib. Amiga version should have level and gfx editor like Doom :great

BSzili 01 June 2015 07:55

And MOOD was playable on a C64, one can always bring up examples like that.
Anyway, replacing the sound effects will be necessary, because the AdLib emulation would slow things down too much. If someone else wants to port the TED5 editor, I won't stop them :)

Devlin 02 June 2015 20:01

I'd really like to see a port of Catacomb 3D across to the Amiga, with better colours. I enjoy the game but that EGA palette = yuk.

BSzili 02 June 2015 21:19

I don't think changing the colors arbitrarily would work well with the existing graphics. That being said small tweaks to the palette might work.

I hacked together a quick port based on Reflection Keen, which is a merge of the Keen Dreams and Catacomb 3-D engines. As expected it runs very slow due to the per-pixel updates and lots of function calls. I'm looking for someone with experience, who could rewrite the original optimized scaling and drawing routines in m68k assembler.

edit: I recorded a proof of concept video of Catacomb Abyss running in WinUAE:
https://youtu.be/sXc5JdpUyLw

utri007 04 June 2015 20:41

Are these usefull? http://aminet.net/search?query=c2p

There is many c2p rountines on aminet with sources. Though none of them are 4bit.

BSzili 04 June 2015 21:27

They are not, because Catacomb 3D already produces planar graphics, which can be directly displayed by the Amiga chipset :)

edit: Now with horrible PC speaker sound: https://youtu.be/WxdkyQKLpJI
Source on Github, patches and pull requests are welcome: https://github.com/BSzili/refkeen/tree/amiga

ReadOnlyCat 16 October 2015 07:18

Quote:

Originally Posted by BSzili (Post 1023579)
They are not, because Catacomb 3D already produces planar graphics, which can be directly displayed by the Amiga chipset :)

edit: Now with horrible PC speaker sound: https://youtu.be/WxdkyQKLpJI
Source on Github, patches and pull requests are welcome: https://github.com/BSzili/refkeen/tree/amiga

Funnily, I was browsing the Catacomb 3D sources tonight and after a quick google search to see if there was an Aminet version I found this thread instead which I had completely missed!

The sources are very easy to read and understand, it is just crazy how simple this game was overall. Compared to nowadays games million lines code bases it is just a breeze to browse through and understand. \(^^)/

Nice effort BSzili by the way! What is the config you are running it with in UAE?

I am not sure I can afford to spend much time on it since I have my own project to move forward but given that the sources are so simple and that the required specs (1MB, 286) seem within reach of an A500 I definitely will have a deeper look at the github fork.

In passing, an interesting mention of the possibility of a port on the Sega16 forums: http://www.sega-16.com/forum/showthr...and-Raycasting.

I also noticed that the owner of the copyright seems disposed to sell or license the rights (http://www.flatrocksoft.com), would be nice to have an official port! ;)

BSzili 16 October 2015 17:05

I have to agree, the codebase is easy to read for the most part, except for the scaler, which is incidentally the part that needs to be rewritten. In UAE I'm using the "fastest possible" CPU setting, otherwise the game runs painfully slow even on a real 68060 (it was tested on an A2000 w/ a 060). The scaler in its current state executes the x86 machine code generated by the game in an interpreter, and does per-pixel C2P to emulate EGA write mode 2.

The A500 as a target machine is unrealistic. The original game requires at least a 386 to get a playable framerate. It's a bit choppy even on a 386SX. And most importantly on PC hardware you can do hardware C2P for the 3D graphics using the aforementioned EGA feature. An unexpanded A1200 sounds more like it, but feel free to prove me wrong. I'd be the happiest to play it on my A500.

Regarding an official release, it should be possible now that the game is in the hands of FlatRockSoft. After all, the open sourcing was done by them too, and they seem to be open for further developments. I'd be nice to have it released on physical disks, but first the game would have to be playable on real hardware :)

saimon69 16 October 2015 21:39

@BsZili
Game in its simplicity is interesting, i guess updated sound effects and music (possibly custom mods) might increase atmosphere :)

ReadOnlyCat 17 October 2015 00:27

Quote:

Originally Posted by saimon69 (Post 1045966)
@BsZili
Game in its simplicity is interesting, i guess updated sound effects and music (possibly custom mods) might increase atmosphere :)

Absolutely, there is potential and it is completely left untapped.

What I find interesting is the fact that, despite an RPG like setting, the game is essentially an almost pure shooter.

Although it is nice to watch as the first entry in the First Person Shooter genre it is also a step back when compared to games such as Dugeon Master or Eye of the Beholder: it moves and plays faster but its gameplay is very primitive and lightweight compared to these games.

The world is - on some aspects only - better rendered than these two RPGs but what it gains in movement, pace and """realism""" it loses in depth and richness of the interaction as well as overall ambiance.

A pure coder game in a sense. Typically Carmack-ish. ;)

saimon69 17 October 2015 00:59

@ReadOnlyCat

if someone can make it moddable i could envision potentially an use for Dungeon Master style playability with the 3d view, more than what nittamitutaki is doing with the Gloom mods so far

ReadOnlyCat 17 October 2015 03:29

Quote:

Originally Posted by saimon69 (Post 1045988)
@ReadOnlyCat

if someone can make it moddable i could envision potentially an use for Dungeon Master style playability with the 3d view, more than what nittamitutaki is doing with the Gloom mods so far

I have been flirting withe a similar idea in the past few months as well.

The problem with Catacomb 3D lies in the fact that it spends most of the time in the rendering loop to the detriment of all other aspects of the game. Given that making it run on an A500 would require quite a few additional compromises that would leave really very little time to run gameplay code. This said, an RPG does not really need to be fully real time so possibly the gameplay logic could be distributed over a few frames.

If I coded an OCS 3D RPG I would probably opt for an Amiga oriented approach to rendering rather than Catacomb 3D's pure CPU approach since the latter really does not play to the strengths of the Amiga. The game seems to have been designed to require at least a 286 at 20MHz and even though the 286 isn't too far ahead of the 68k in terms of computation power the higher frequency really helps it churn out pixels to the screen. The Amiga memory bus does not reach 8Mhz so in terms of raw memory writes it will necessarily be about 2.5 times slower than the PC's.

There might be ways around that as Wilczy Szaniec (= Wolfenstein A500) shows with its 2x2 pixels and relatively smooth frame rate but with some compromises.

And... damn, i just talk too much. ;)

BSzili 17 October 2015 09:38

The gameplay is minimal, but the first game in the series, which was done by id Software had an interesting twist. Level 9 is a hub, which branches out to 4 levels. One of these will let you to progress, and you can solve it by brute force, killing a plethora of Trolls, or you can venture out to the other levels, collect the scrolls, and solve the puzzle that way.
The later games by Gamer's Edge had a much more straightforward key-hunting gameplay, although you can find interesting elements in each one. Overall despite of their simplicity, I prefer these games to Wolfenstein 3D, which is much more of a twitch shooter, where you can die in seconds if you don't memorize the enemy placements.

ReadOnlyCat 17 October 2015 13:44

Quote:

Originally Posted by BSzili (Post 1046013)
The gameplay is minimal, but the first game in the series, which was done by id Software had an interesting twist. Level 9 is a hub, which branches out to 4 levels. One of these will let you to progress, and you can solve it by brute force, killing a plethora of Trolls, or you can venture out to the other levels, collect the scrolls, and solve the puzzle that way.
The later games by Gamer's Edge had a much more straightforward key-hunting gameplay, although you can find interesting elements in each one. Overall despite of their simplicity, I prefer these games to Wolfenstein 3D, which is much more of a twitch shooter, where you can die in seconds if you don't memorize the enemy placements.

Oh, nice.
Now, I really want to play it on my Amiga. ;)

BSzili 17 October 2015 22:38

Quote:

Originally Posted by ReadOnlyCat (Post 1046036)
Oh, nice.
Now, I really want to play it on my Amiga. ;)

You better get someone to fix the scaler then :p

ReadOnlyCat 23 October 2015 05:20

Quote:

Originally Posted by BSzili (Post 1046086)
You better get someone to fix the scaler then :p

I will give the code a look this week end, promised. ;)

ReadOnlyCat 09 July 2016 04:06

Quote:

Originally Posted by ReadOnlyCat (Post 1046974)
I will give the code a look this week end, promised. ;)

Damn, that is quite the unfulfilled promise. :(

I will make an effort this week end. ;)

BSzili 18 July 2016 09:22

I did some work on it this weekend. I started changing the scaler to use a chunky back-buffer for the 3D part of the screen. Walls are already working, sprites (or shapes, as the game calls them) will be a bit harder to bodge in. Once the x86 interpreter is out, a talented programmer has to write fast drawing routines, and we are set.


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.08410 seconds with 11 queries