Jump to content

xGreed - Source Port of the game "In Pursuit of Greed"


Recommended Posts

Can you knock it off with being awesome?!?!

 

What. The. Fuck.

 

Amazing.

 

So this does not use DelphiDoom code but its based on the direct Raven source code.

 

Damn. XGreed.... 2020 reallly is the year of epic source ports, is it not? (Raze, RAD, ZGloom, XGreed)

Share this post


Link to post

Nice to see the source release being put to use finally. :D

2 hours ago, jval said:

featuring floor and ceiling texture-mapping

If I could be pedantic for a second: the Wolf3D engine does have floor and ceiling texture mapping as part of the source code release.  See WHACK_A.ASM.  Blake Stone, Rise of the Triad, and Super 3D Noah's Ark use a variation of this code which is presumably they they all have the same limitation of one texture for the whole map.  My point being that this was apparently a feature of the engine as given to licensees.

Share this post


Link to post

Glad to see you work on another source port! Although, I also wonder how much effort it took to port the entire initial source code to Pascal.

Share this post


Link to post
6 hours ago, Redneckerz said:

Can you knock it off with being awesome?!?!

 

What. The. Fuck.

 

Amazing.

 

So this does not use DelphiDoom code but its based on the direct Raven source code.

It actually uses something about 0.5% of DelphiDoom's code :) , mostly the DirectDraw code and the script-engine class code for parsing the map's script.

To be honest, at the very beginning of the project, I was tempted to use DelphiHexen's code as a base (due to polyobject support and multiple player classes) to make a Hexen - Greed cross - port, but the development time would be very longer and the final product would be "vanilla-less". So, I preferred to stick with the original code, which also gave me the opportunity to have a better look of the insides of the game and it's engine. The small size of the original source code (~30k lines) also made me make that decision.

 

6 hours ago, Redneckerz said:

Damn. XGreed.... 2020 reallly is the year of epic source ports, is it not? (Raze, RAD, ZGloom, XGreed)

Last days I was thinking how feasible is to preserve old DOS games, there are countless open source ports and source code releases to have a base for start working. I hope to see some more by the end of the year!

 

6 hours ago, Blzut3 said:

Nice to see the source release being put to use finally. :D

I was surprised that Greed, despite it's source code have been released for some years, there is no source port for it, besides the unfinished source port that the original developer provided. It was a pity not to have a fully working port. So I took the chance!

 

6 hours ago, Blzut3 said:

If I could be pedantic for a second: the Wolf3D engine does have floor and ceiling texture mapping as part of the source code release.  See WHACK_A.ASM.  Blake Stone, Rise of the Triad, and Super 3D Noah's Ark use a variation of this code which is presumably they they all have the same limitation of one texture for the whole map.  My point being that this was apparently a feature of the engine as given to licensees.

Well, that's a thing about Wolf that I just found out! I assume that this code stayed dormant in the original DOS executable due to CPU power limitation of 286 processors.

 

4 hours ago, elend said:

Awesome! Another preservation effort, you're doing god's work!

Thanks @elend The preservation of old DOS games is so much fun!

 

3 hours ago, InDOOMnesia said:

Glad to see you work on another source port! Although, I also wonder how much effort it took to port the entire initial source code to Pascal.

Well, I didn't mentioned it at first post, but xGreed is coded in Pascal. I used the h2pas tool of FreePascal to convert the header (*.h) files. To convert the C files I tried some tools found on internet but I was not pleased by the output quality of the code, so I spend a couple of hours to write my own naive C code parser and converter to Pascal. The output of the above initial conversions is the 3rd commit in the repository. Of course the sources took another week to be fully converted by hand, when I had the first successful compile. An another week for making things work:

  • Added music and sound support
  • Added DirectDraw blit buffer
  • Corrected menu drawing
  • Corrected input handling
  • Rewrite the map's script parsing

So today 26th June of 2020, xGreed is a 14 days old little baby!

 

Share this post


Link to post

Funny - just yesterday I was listening to the OST and thinking "Gee, that'd be nice if Greed got a port". Lo and behold!

Share this post


Link to post
13 hours ago, jval said:

It actually uses something about 0.5% of DelphiDoom's code :) , mostly the DirectDraw code and the script-engine class code for parsing the map's script.

To be honest, at the very beginning of the project, I was tempted to use DelphiHexen's code as a base (due to polyobject support and multiple player classes) to make a Hexen - Greed cross - port, but the development time would be very longer and the final product would be "vanilla-less". So, I preferred to stick with the original code, which also gave me the opportunity to have a better look of the insides of the game and it's engine. The small size of the original source code (~30k lines) also made me make that decision.

So basically original source with a tiny bit DelphiDoom in it :)

 

Stupid question time! Being that Raven was an intermediate engine between Wolf and Doom, and considering in RAD you had WAD support going on, what's the off chance for this kind of support? Can Doom Builder be modified to create Greed maps that run in XGreed?

 

I imagine its less compatible than RAD is, but i am curious.

 

Also, what future developments do you want to use with this here?

Quote

 

Last days I was thinking how feasible is to preserve old DOS games, there are countless open source ports and source code releases to have a base for start working. I hope to see some more by the end of the year!

 

I was surprised that Greed, despite it's source code have been released for some years, there is no source port for it, besides the unfinished source port that the original developer provided. It was a pity not to have a fully working port. So I took the chance!

The spirit of a true open source developer :). As with all your (criminally underrated!) work, i thank you.

 

Edited by Redneckerz

Share this post


Link to post
15 hours ago, Vic Vos said:

Funny - just yesterday I was listening to the OST and thinking "Gee, that'd be nice if Greed got a port". Lo and behold!

Now it has!

 

1 hour ago, Redneckerz said:

So basically original source with a tiny bit DelphiDoom in it :)

Obviously, I was too lazy to re-implement some things :)

 

1 hour ago, Redneckerz said:

Stupid question time! Being that Raven was an intermediate engine between Wolf and Doom, and considering in RAD you had WAD support going on, what's the off chance for this kind of support? Can Doom Builder be modified to create Greed maps that run in XGreed?

I imagine its less compatible than RAD is, but i am curious.

Unfortunately the answer is no. They are different engines, the only way to do this is to use the Doom engine to recreate the game. Probably a new dedicated editor sounds a good idea, since the map format is very simple.

 

1 hour ago, Redneckerz said:

Also, what future developments do you want to use with this here?

The first priority is to eliminate possible bugs. (Today I've already corrected a serious one)

In order to speak for enhancements I must first gain some experience with the code. Converting from C to Pascal helped, since I was forced to inspect every line of the code, but I'm too far from understanding it's mechanics. There are some ideas (e.g. correction of the blocky elevators movement etc)

 

1 hour ago, Redneckerz said:

The spirit of a true open source developer :). As with all your (criminally underrated!) work, i thank you.

 

Let's make a source port!!

 

Share this post


Link to post

I've never played it, but I've seen screenshots of it before, and it certainly had a unique "let's throw shit at the wall and see what sticks" charm to it. D&D monsters? Sure. Walking heads? Sure. Japanese mecha? Sure. Female bikini Stormtroopers? Sure.

Share this post


Link to post

IIRC the guys at Channel 7 had no real experience in making FPS games, their previous title, Iron Seed, is a space strategy/adventure game somewhat similar to Star Control 2 (BTW, recently they released a remastered version). I think Greed was commissioned by Softdisk, in the wake of Doom clone mania, and the developers came up with some really interesting ideas for their game. I played quite a bit of the full thing and the early demos (which have unique monsters that did not make it to the final version BTW), and I can say that it is, in part, rather enjoyable, if it were not for:

  • some levels being a chore, e.g. most of the first episode (space station) is made of very repetitive levels
  • many low-tier monsters (each episode has its own cast) are weak and pose little to no threat -- unless you're swamped by them
  • the player is at the mercy of the randomly generated powerups -- there are spots where items keep spawning but you can never tell what they are going to be, and you can run out of ammo, health and shields very quickly
  • the interface design is clumsy and unhelpful; your shields are represented by shades of blue, and it's very hard to tell if you are at max or not; when you receive damage there is very little feedback, and you can lose a good chunk of shields/health without even noticing that
  • the game generally lacks the dynamic gameplay typical to id engine titles. It's probably using the most advanced derivative of the Wolfenstein 3D engine but feels way more sluggish and less responsive than let's say Rise of the Triad which is on a par with Doom in this department

But for all this there are quite interesting gameplay ideas. For one, each level has a set of objectives to complete, mostly dealing with item collection (primary and secondary objectives; but some levels have other winning conditions). But on top of that, you need to score a certain number of points to get out, with the main objectives alone not giving you the amount. So you can either hunt the endlessly spawning enemies for score and/or collect bonus items that are spawned in random locations on the map (but you know where) for a limited time.

 

This setup could actually result in a rather fun multiplayer game, but I don't think Greed was ever played extensively online even though it did have multiplayer upon release IIRC. Perhaps this can yet be rectified with the port and the game being freeware now.

 

Did I mention Greed was scored by Andrew "Necros" Sega of Unreal and Crusader fame?

Share this post


Link to post

While I have no interests in the game the effort you went into preserving this game is commendable. Also if it weren't MrFlibble's comment I never would of noticed how cool the games soundtrack is!

Share this post


Link to post
13 hours ago, jval said:

Obviously, I was too lazy to re-implement some things :)

 

Unfortunately the answer is no. They are different engines, the only way to do this is to use the Doom engine to recreate the game. Probably a new dedicated editor sounds a good idea, since the map format is very simple.

If laziness means creating new ports then that's a unique kind of being lazy ;)

 

If the map format is simple, could that be recreated in a Doom map format, similar to Merdian 59 using a modified Doom Builder for this specifc map support? Or perhaps can existing Wolf3D editors work with it?

13 hours ago, jval said:

 

The first priority is to eliminate possible bugs. (Today I've already corrected a serious one)

In order to speak for enhancements I must first gain some experience with the code. Converting from C to Pascal helped, since I was forced to inspect every line of the code, but I'm too far from understanding it's mechanics. There are some ideas (e.g. correction of the blocky elevators movement etc)

 

Let's make a source port!!

 

So strictly put QoL enhancements to make the game more playable on modern systems. I realize this is pure heresy what i am about to say, but you aren't aiming for accelerated graphics with this similar to all your other projects, right?

 

Coverage will be found next weekend.

Share this post


Link to post
14 hours ago, MrFlibble said:

Did I mention Greed was scored by Andrew "Necros" Sega of Unreal and Crusader fame?

 

6 hours ago, Denim Destroyer said:

While I have no interests in the game the effort you went into preserving this game is commendable. Also if it weren't MrFlibble's comment I never would of noticed how cool the games soundtrack is!

Indeed, the music is awesome! There is a relevant note from the creators of the game. (click the link and search for "music")

 

48 minutes ago, Redneckerz said:

If the map format is simple, could that be recreated in a Doom map format, similar to Merdian 59 using a modified Doom Builder for this specifc map support? Or perhaps can existing Wolf3D editors work with it?

The map format (and the engine) is strictly in rectangular blocks, the walls are always at 90 degrees and all the logic is tight to this limitation. A modified Wolf3D editor would be the appropriate choice.

 

48 minutes ago, Redneckerz said:

So strictly put QoL enhancements to make the game more playable on modern systems. I realize this is pure heresy what i am about to say, but you aren't aiming for accelerated graphics with this similar to all your other projects, right?

At the moment OpenGL is not a priority, first there are other problems to be solved. After eliminating possible bugs the next think that comes into my mind is to get rid of the DOS gameloop philosophy that unnecessarily squeezes the CPU and the second next think is to explore the possibility of a (multi-threaded ?) high screen resolution (software) renderer. The later needs the usage of additional 320x200 buffer(s) for menu and hud drawing, while the primary buffer will be at higher resolutions.

 

Share this post


Link to post
6 hours ago, jval said:

 

The map format (and the engine) is strictly in rectangular blocks, the walls are always at 90 degrees and all the logic is tight to this limitation. A modified Wolf3D editor would be the appropriate choice.

Any considerations in this department? EisenEdit, perhaps? I could bring this up in the Wolf Discord if you aren't a part of it yet.

6 hours ago, jval said:

 

At the moment OpenGL is not a priority, first there are other problems to be solved. After eliminating possible bugs the next think that comes into my mind is to get rid of the DOS gameloop philosophy that unnecessarily squeezes the CPU and the second next think is to explore the possibility of a (multi-threaded ?) high screen resolution (software) renderer. The later needs the usage of additional 320x200 buffer(s) for menu and hud drawing, while the primary buffer will be at higher resolutions.

 

Definitely going the DelphiDoom route by going for the highly advanced software approach :) I am liking where this is heading!

PS: R667 coverage is schelduled for next week (Saturday) so save the date!

Share this post


Link to post

Great to see someone porting another less commonly played game! To clear things up, I'm comparing here to these other games made for Softdisk, i.e., the 3D Catacomb titles; These games were ported by Arno and me; There's also NotStiller who experimented with a separate Catacomb 3-D port, for another example. When it comes to the 2D games, I know that the second of them was ported by Blzut3, with some help from Havoc.

 

I'm actually wondering which game was a bit more well-known: In Pursuit of Greed or any of the Catacombs; My hunch is currently that it's either one of the Catacombs, or there's virtually no difference.

 

I can't say that, as a low priority idea, I didn't think about trying to make a port of this in the past; In fact, it's actually someone else who asked me about this; Wondering if this individual knows who I'm referring to :). It's good to see that someone else is porting the game instead, then.

 

Using Pascal is an interesting choice; It's quite impressive to see you cobbling up your own converter for the C files, albeit I can understand the reasoning for doing this.

I think that the compiled code as present in the EXE should still be native code for most, right?

 

Pascal was actually the first general-purpose programming language that I properly learnt (albeit not self-learnt), at least partially.

Share this post


Link to post
13 hours ago, Redneckerz said:

Any considerations in this department? EisenEdit, perhaps? I could bring this up in the Wolf Discord if you aren't a part of it yet.

No, unfortunately I'm not familiar with Wolf3d editing tools. But I assume it could easily fit since it's the same engine.

 

Quote

Definitely going the DelphiDoom route by going for the highly advanced software approach :) I am liking where this is heading!

I 'm positive that the game 's appeal will rise using high screen resolution rendering. I'm so eager to see the levels in high screen resolution!

 

Quote

PS: R667 coverage is schelduled for next week (Saturday) so save the date!

That 's great, thanks!

 

12 hours ago, NY00123 said:

I can't say that, as a low priority idea, I didn't think about trying to make a port of this in the past; In fact, it's actually someone else who asked me about this; Wondering if this individual knows who I'm referring to :). It's good to see that someone else is porting the game instead, then.

 

Using Pascal is an interesting choice; It's quite impressive to see you cobbling up your own converter for the C files, albeit I can understand the reasoning for doing this.

My confession time: The Windows source port at the developer's site is the only source port written in C/C++ that I 've managed to compile the last decade, despite the fact that I've tried a lot of times to compile (Doom mostly) source ports. That's why I was tempted to make xGreed in C but I dropped  the idea, since I can work in Pascal more efficiently.

The simple converter I wrote was mostly to avoid bugs that could appear by making the whole conversion by hand (such bugs had been the cause for many bugs in early DelphiDoom development).

 

Quote

I think that the compiled code as present in the EXE should still be native code for most, right?

Both Delphi and Free Pascal Compiler (FPC) produce native code.

 

Quote

Pascal was actually the first general-purpose programming language that I properly learnt (albeit not self-learnt), at least partially.

Pascal was my first programming language too! Unfortunately in my professional carrier as a software developer I've never had the opportunity to use it.

Edited by jval

Share this post


Link to post
6 hours ago, jval said:

No, unfortunately I'm not familiar with Wolf3d editing tools. But I assume it could easily fit since it's the same engine.

I don't think existing editors provide support for Greed's file formats since although its clearly more looking towards the Wolf3D site of things than Doom's, its really quite an half-way engine.

Quote

 

I 'm positive that the game 's appeal will rise using high screen resolution rendering. I'm so eager to see the levels in high screen resolution!

*Imagines a visual of the game running in high screen resolution and is impressed*
 

Quote

That 's great, thanks!

You are welcome. Its all set and ill look further in this later this week.

4 hours ago, Dark Pulse said:

Now I'll get to hold out hope that someone reverse-engineers stuff like PO'ed and ports it to PC.

It uses the AnyWorld Engine and it got used later for some other titles, but that's about as far as i know. It was an impressive engine for the time though. But yeah, a reverse engineering of that game would be quite brilliant.

2 hours ago, MrFlibble said:

A proper recreation of Eradicator would be nice.

Sadly no source code exists, but yeah. Id love to learn more about the Eradicator tech since so many mistook it for a Build Engine title.

Edited by Redneckerz

Share this post


Link to post
18 minutes ago, Redneckerz said:

It uses the AnyWorld Engine and it got used later for some other titles, but that's about as far as i know. It was an impressive engine for the time though. But yeah, a reverse engineering of that game would be quite brilliant.

I didn't even know the engine had a name, much less that it wasn't a one-off!

 

What else used it?

Share this post


Link to post

This is pretty sweet, I'll definitely be giving it a try. I have the original game and run it on an old machine, but the controls seem to not function properly and the game feels nearly unplayable as a result. Which is a shame because it seems like a cool game.

Share this post


Link to post
2 hours ago, Dark Pulse said:

I didn't even know the engine had a name, much less that it wasn't a one-off!

 

What else used it?

Can't remember but it was the next game (two games, i believe) by Any Channel. They marketed it even as a engine to license if i recall correctly.

Share this post


Link to post
3 hours ago, Redneckerz said:

Can't remember but it was the next game (two games, i believe) by Any Channel. They marketed it even as a engine to license if i recall correctly.

Mobygames only lists one other game, a 1998 third-person shooter called Vigilance. And that engine looks hella different from PO'ed.

Share this post


Link to post
8 minutes ago, Dark Pulse said:

Mobygames only lists one other game, a 1998 third-person shooter called Vigilance. And that engine looks hella different from PO'ed.

That's the one. They retooled the thing to support tps gameplay.

Share this post


Link to post

I vaguely remember Greed being re-released as Assassinators with selectable chapters (and possibly the first one being shareware and/or sold separately for a low price), but I have no idea if this was legit or some bootleg release. Does anyone know anything about it?

Share this post


Link to post

It's been a long time since I've looked at it so I could be totally wrong, but if my memory serves the Assassinators game data looked the same besides the resources that had the name of the game in it.  Pretty sure it's just a regional title difference.  Of course it never hurts for someone to do a more in depth analysis.

Edited by Blzut3

Share this post


Link to post

Neat! I do have a boxed copy of this game but since it's DOS and mine is still sealed i haven't tried it lol. Now's my chance! Thanks for the hard work :)

Edited by CyberDreams

Share this post


Link to post
12 hours ago, MrFlibble said:

I vaguely remember Greed being re-released as Assassinators with selectable chapters (and possibly the first one being shareware and/or sold separately for a low price), but I have no idea if this was legit or some bootleg release. Does anyone know anything about it?

 

35 minutes ago, CyberDreams said:

Neat! I do have a boxed copy of this game but since it's DOS and mine is still sealed i haven't tried it lol. Now's my chance! Thanks for the hard work :)

 

Judging by the original source code,  Assassinators has minor differences, just the help screen and a couple of more animations. I have preserved the differences for future use (planning to detect the different game versions).

Edited by jval

Share this post


Link to post

For the ones who don't know, here's a Duke4.net thread about In Pursuit of Greed, created by Lunick around the time the sources were uploaded: https://forums.duke4.net/topic/7845-in-pursuit-of-greed/

 

There are a few posts of MrFlibble and Blzut3 referencing the title "Assassinators", which you may find interesting. A notable example is the following response of Robert Morgan to Blzut3 about the title:

 

Quote

Never heard of "Assassinators" until today.

 

Also, some things which I didn't get to write in my preceding post, of course:

 

While I don't recall myself playing any of the Catacombs back in the day, I did have a chance to try a demo of In Pursuit of Greed, found in a shareware games CD. It's essentially version 2.0 from September 1995, as available from here: https://www.classicdosgames.com/game/In_Pursuit_of_Greed.html

 

I don't think that I was trying the single player campaign for very long, but I accidentally turned out to have at least 1-2 deathmatches in a LAN with 1-2 more players.

 

I otherwise don't recall trying this game again, at least not before it became open-sourced. During 2015, I had at least one deathmatch over the internet, and later, I did complete the single player campaign. The latter was done across at least a couple of separate time periods, but I eventually finished all episodes.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...