PDA

View Full Version : DelphiDoom 1.1.3.489 (beta)



Jimmy Valavanis
19-06-2011, 07:00 PM
EDIT:
Latest version: 1.1.4 built 552
Latest Download: http://sourceforge.net/projects/delphidoom/files/DelphiDoom%201.1.4/DelphiDoom_1.1.4.552_sw.rar/download

DelphiDoom is the complete recreation of the old game Doom by id software using the Delphi programming language.
Latest official release was about 3 years ago (version 1.0.2.383)

Now, after a long time I managed to make a good update to my DelphiDoom project and now is the time for a public beta.

Most noticable new features are:

-Support for external md2 model replacements for sprites. (OpenGL only)
-Dynamic lightmaps. (OpenGL only)
-Support for external high-resolution sprites. (OpenGL only, ignored if you use md2 models)
-A lot of bug fixes and speed optimizations.

Download link: https://sourceforge.net/projects/del...b.zip/download (EDIT: This is an old download)

Inside the zip file you can find:
-Complete source code (DelphiDoom, DelphiHeretic, DelphiHexen)
-Shareware game data
-Models for Doom
-Change log

Instructions:
After downloading unzip the file.
-To run DOOM in OpenGL mode locate the bin\Doom folder. Run gldoom32.exe.
-To run DOOM in software rendering mode locate the bin\Doom folder. Run doom32.exe.
-To run HERETIC in OpenGL mode locate the bin\Heretic folder. Run glheretic32.exe
-To run HERETIC in software rendering mode locate the bin\Heretic folder. Run heretic32.exe
-To run HEXEN in software rendering mode locate the bin\Hexen folder. Run hexen32.exe (sorry, no OpenGL version for Hexen )
-To run HEXEN in OpenGL mode locate the bin\Hexen folder. Run glhexen32.exe

Attached screenshots are using the DooM Hi-Res Texture Pack (http://dhtp.freelanzer.com/?page_id=17)

Enjoy!

Traveler
19-06-2011, 08:44 PM
Sweet! I played it for a bit again and it was just as old times. I think I favor the software renderer over the opengl version though. Anyway, pretty neat stuff!
Thanks!

WILL
20-06-2011, 12:20 AM
Hey Jimmy! Long time. :)

Glad to see that you've gotten another version of DelphiDoom out. I think one of your old sites when down, didn't it?

Any chance of seeing you take part in the PGD Challenge? :)

Jimmy Valavanis
21-06-2011, 02:56 PM
Well, I think I'll give it a try, if I'll manage to make something ... worth - playing....

Jimmy Valavanis
20-03-2013, 08:20 AM
I've recently released a new version (1.1.4 built 552).
The most significant changes are:

-Multithreading software rendering (A system with 2 CPU-cores or more recommended)
-Software rendering speed optimizations to take advantage of modern hardware
-Widescreen support
-A lot of game-logic new features

Download link:
http://sourceforge.net/projects/delphidoom/files/DelphiDoom%201.1.4/DelphiDoom_1.1.4.552_sw.rar/download (includes shareware game data)

The following screenshots are using the software renderer in true color mode using external textures (the DHTP package - download link is http://dhtp.freelanzer.com/?page_id=17)

You can click the images for fullhd resolution.

http://s20.postimage.org/t3xtju2el/img006.jpg (http://postimage.org/image/nfrisxy21/full/)

http://s20.postimage.org/qb4lzt225/img007.jpg (http://postimage.org/image/h3cdj3uzt/full/)

http://s20.postimage.org/bcm75dmzx/img005.jpg (http://postimage.org/image/juvn9ptih/full/)

To take full advantage of the new multithreaded software renderer I recommend a system with 2 CPU-cores or more with multi/hyper-threading technology. The engine will utilize all the available CPU-cores (up to 16 cores/threads). Multithreading mode will switch off automatically the first time you run it if a single core system is detected. A single core with multi/hyper-threading technology will not give any (noticable) advantage. In addition if you manually switch on multithreading in a singe core system you will notice poor performance.

Programming issues about the new software rendering design
Due to the way the engine works the software rendering "bottleneck" are the walls. Floors and ceilings can be renderered significally faster than walls with less time-consuming calculations. So I had to deal with the time-consuming walls to boost performance. I used the application thread to render the floors/ceilings and additional threads to render the walls simultaneously. In addition I implemented new methods to gain performance even in a non-multithreaded enviroment.
As a result I came up with a smooth gameplay experience even in fullhd resolution using hi-resolution true color external textures, lighting effects, etc.

The threads I use are:
-Application thread (game loop, game AI, thread syncronization and also non-time consuming rendering of floors/ceilings)
-Music playback thread (also in older versions)
-"numCPUs - 2" additional threads (minimum 1) for time-consuming rendering of walls.
-Additional threads for less significant tasks.

I'm also working on a version compatible with FPC-lazarus.

Rodrigo Robles
20-03-2013, 11:36 AM
Great work dude.
Lazarus compatibility would be good, it's my favorite tool.

User137
20-03-2013, 12:14 PM
This gives some ideas. Maybe i could try supporting some already existing map format such as doom or quake, for my game stuffs. There are pretty neat editors available for them and could make better looking maps with less effort.

ericlangedijk
23-03-2013, 10:03 AM
Wow, impressive! Thanks!

laggyluk
24-03-2013, 06:12 PM
thanks, brings back memories ;)

Jimmy Valavanis
03-05-2013, 06:22 PM
This gives some ideas. Maybe i could try supporting some already existing map format such as doom or quake, for my game stuffs. There are pretty neat editors available for them and could make better looking maps with less effort.

IMO you can create levels for Doom very easy, but render them needs more complex programming, it's a 2.5D engine and needs work to 'upgrate' it to 3D. On the other hand Quake has more complex level editing but rendering is much simpler :)