jval Posted June 25, 2020 (edited) xGreed is a source port of the game "In Pursuit of Greed" General "In Pursuit of Greed" is a 1995 FPS game developed by Mind Shear Software and published by SoftDisk. The game engine is based on the "Raven Engine", a successor of Wolf3d engine, featuring floor and ceiling texture-mapping, variable heights and slopes. xGreed is based on the original DOS source code and an unfinished source port for Windows, that was released by the developers of the game. To run the game you will also need the game data, that can be downloaded at the above link the links found in this post. Downloads (latest version 1.1.12.55 - 20220319) Executable (win32): https://sourceforge.net/projects/xgreed/files/xGreed%201.1/xGreed_1.1.12.55_bin.zip/download Source code: https://sourceforge.net/projects/xgreed/files/xGreed%201.1/xGreed_1.1.12.55_src.zip/download Repository: https://github.com/jval1972/xGreed Current project status The current project status is alpha beta. A lot of things are not tested or not working. This first release intents to gather feedback for further development. Features: Software rendering. Double the original game resolution (640x400). Optionally can use the old 320x200 resolution. Mouse look and WASD move control. Launcher application. DirectDraw blit buffer. BASS.DLL for audio. Screenshots in png format. Cheats: Spoiler From the original game: belfast -> kill all enemies allahmode -> God mode channel7 -> print message 'Rob Lays Eggs' lizardman -> Print message 'Jeremy Lays Eggs' dominatrix -> Print message 'On your knees worm!' cyborg -> Print message 'Psyborgs Rule! mooman -> Print message 'Brady is better than you, and that ain't saying much! raven -> Max shield and max health omni -> Full map kmfdm -> Backpack of Holding (full ammo) beavis -> levelscore 100 and all objectives gulliver -> Makes enemies and sprite smaller, enemies still hurt you the same blammo1, blammo2, etc -> Give weapon 1, 2, etc xGreed specific god -> God mode gimme -> Full inventory game1 -> Start game1 game2 -> Start game2 game3 -> Start game3 score10000 -> 10000 points score20000 -> 20000 points score50000 -> 50000 points go01, go02, etc -> Jumps to map (must be in the gameX maps) Screenshots: Spoiler Edited March 19, 2022 by jval Update download links to latest version 28 Quote Share this post Link to post
Redneckerz Posted June 25, 2020 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) 8 Quote Share this post Link to post
Blzut3 Posted June 25, 2020 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. 3 Quote Share this post Link to post
elend Posted June 26, 2020 Awesome! Another preservation effort, you're doing god's work! 2 Quote Share this post Link to post
taufan99 Posted June 26, 2020 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. 1 Quote Share this post Link to post
jval Posted June 26, 2020 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! 8 Quote Share this post Link to post
Vic Vos Posted June 26, 2020 Funny - just yesterday I was listening to the OST and thinking "Gee, that'd be nice if Greed got a port". Lo and behold! 6 Quote Share this post Link to post
Redneckerz Posted June 26, 2020 (edited) 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 June 26, 2020 by Redneckerz 2 Quote Share this post Link to post
jval Posted June 26, 2020 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!! 4 Quote Share this post Link to post
FractalBeast Posted June 26, 2020 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. 3 Quote Share this post Link to post
MrFlibble Posted June 26, 2020 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? 6 Quote Share this post Link to post
Denim Destroyer Posted June 27, 2020 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! 2 Quote Share this post Link to post
Redneckerz Posted June 27, 2020 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. 2 Quote Share this post Link to post
jval Posted June 27, 2020 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. 3 Quote Share this post Link to post
Redneckerz Posted June 27, 2020 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! 2 Quote Share this post Link to post
NY00123 Posted June 27, 2020 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. 4 Quote Share this post Link to post
jval Posted June 28, 2020 (edited) 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 June 28, 2020 by jval 2 Quote Share this post Link to post
Dark Pulse Posted June 28, 2020 Now I'll get to hold out hope that someone reverse-engineers stuff like PO'ed and ports it to PC. 2 Quote Share this post Link to post
MrFlibble Posted June 28, 2020 A proper recreation of Eradicator would be nice. 4 Quote Share this post Link to post
Redneckerz Posted June 28, 2020 (edited) 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 June 28, 2020 by Redneckerz 3 Quote Share this post Link to post
Dark Pulse Posted June 28, 2020 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? 0 Quote Share this post Link to post
amackert Posted June 28, 2020 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. 0 Quote Share this post Link to post
Redneckerz Posted June 28, 2020 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. 0 Quote Share this post Link to post
Dark Pulse Posted June 28, 2020 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. 1 Quote Share this post Link to post
Redneckerz Posted June 28, 2020 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. 1 Quote Share this post Link to post
MrFlibble Posted June 29, 2020 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? 2 Quote Share this post Link to post
Blzut3 Posted June 30, 2020 (edited) 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 July 1, 2020 by Blzut3 3 Quote Share this post Link to post
CyberDreams Posted June 30, 2020 (edited) 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 June 30, 2020 by CyberDreams 2 Quote Share this post Link to post
jval Posted June 30, 2020 (edited) 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 June 30, 2020 by jval 3 Quote Share this post Link to post
NY00123 Posted July 1, 2020 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. 5 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.