visitor@cyantusk.neocities.org:~$ loadinfo --project ipog_mod
Loading page information from: In Pursuit of Greed Mod... Done!
In Pursuit of Greed Mod
Author: William Weber Berrutti
Technologies used: ACS, Audacity, CSS, Decorate, Geany, GIMP, Google
Docs, HTML, Kate, Linux, Slade3, XnViewMP
Visit repository
Check out the
announcement on ZDoom forums
Open Project Decisions and Explanations
(PDF)
Status: Active
Description
It's a classic Doom mod based on a game called "In Pursuit of Greed," from the days of DOS, which had some
distinct features but also had many flaws.
The mod is composed of these parts
-
IPOG Classes: main mod, which has player classes, weapons, inventory items, and so on.
Download Links:
Latest Release
Version,
Development
Version
-
IPOG Enemies: it contains enemies based on In Pursuit of Greed's enemies, including 21 custom
ones, totalizing 36.
Download Links:
Latest Release
Version,
Development
Version
-
Retribution Mode: custom game mode, which consists of creating an invasion-like game mode for
deathmatch maps.
Download Links:
Latest
Release Version,
Development
Version
-
Heretic Patch: this allows people to play this mod on "Heretic: Shadow of the Serpent Riders."
Download Links:
Latest
Release Version,
Development
Version
-
IPOG Enemies - Doom 1 Patch: this balances a bit better the gameplay when playing the IPOG
Enemies pack with "The Ultimate Doom".
Download Links:
Latest
Release Version,
Development
Version
-
IPOG Props: this pack contains props that can be used on map editing.
Download Links:
Latest Release Version,
Development Version
-
Encyclopedia: it contains relevant information about all parts of the mod.
Visit IPOG Mod Encyclopedia
Screenshots
Click to show screenshots
Challenges and Learnings
-
Enemies' spawning from the enemies pack: it was quite challenging to make a mechanic that was
compatible with most map packs. I spent a lot of time on this and got satisfactory results.
- Prisoner's logic: they are friendly units to players. Their mechanic is to alert enemies to
attack them. It was difficult to create his logic because he was frequently breaking teleportation traps on
maps, but I could achieve acceptable results.
- Calculation of the score limit for the Exit Nexus: it was also another challenge I faced
during the development of this mod. The idea is to sum all the enemies' health points right after starting every
map. It's a dynamic calculation, so the score limit isn't too low (discouraging players from exploring the map)
or too high (preventing to spawn the Nexus).
- Boss counting logic for the Exit Nexus: the idea is to count how many bosses are present on
the map, and once this counter reaches zero, satisfy a condition for the spawning of the Nexus. It was hard to
figure out how to do it, but I achieved success.
- Invisible enemy portals: these portals periodically spawn enemies on the map, usually not so
far from where the player(s) went. But, in the beginning, the probability of getting stuck (on a platform edge,
for example) was very high. I managed to develop a logic that reduces this probability dramatically. I don't
know if it is possible to make it null, I think it should be the used source port's engine limitation.
- Make good edits for sprites and sounds: I am not specialized in these areas, but I learned to
work with tools that helped me in these aspects. I was able to fix defects in the sprites and create new sounds
based on existing ones. The final results were satisfactory.
- Using Git versioning since the beginning: I should've used Git to make the development more
organized. But I didn't have enough experience with this tool.
- Manage the time between this project and the obligations of college and life: It was quite
challenging to mentally disconnect from these obligations to dedicate myself to this mod. Even so, whenever
possible, I was able to invest time to work on it.
- Find motivation to continue developing: I didn't know if this mod was going to be appreciated
by players. So even if this mod isn't successful, it made me grow as a person and as a professional.
- Refactor code in scripting languages: it's possible to do that, but I didn't know it until
then.