Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Raven Software releases source code for Jedi Academy, Jedi Outcast (polygon.com)
171 points by GuiA on April 4, 2013 | hide | past | favorite | 57 comments


There is some interesting code in this release:

  void FuckingWellSetTheDocumentNameAndDontBloodyIgnoreMeYouCunt(LPCSTR psDocName)
  {
          if (gpLastOpenedModViewDoc)
          { // make absolutely fucking sure this bastard does as it's told... //
                  gpLastOpenedModViewDoc->SetPathName(psDocName,false);
                  gpLastOpenedModViewDoc->SetTitle   (psDocName);
          }
  }
My heart goes out to whatever programmer had to meet that deadline.


And thank God that Adria Richards didn't work at the company.


No reference to "dongle", so it is probably safe.


Note that this also includes the second version of GHOUL, the ragdoll system Raven originally developed for Soldier of Fortune. IMHO, Raven was way ahead back then when it came to believable interaction between characters (and light sabres ;) ).


The comments in the code a golden. Nicely formatted and easy to read, hats off to the programmers behind the game.


I'm not sure how good the ragdoll system was but I loved how the engine could model damage. I don't think I've seen a game since SoF2 that can render effects as good as that.


L4D2 is the only other game series that came as close.

SoF2 is still the bloodiest game I can recall playing, and not really in a fun way--kind of disturbing, actually.


A bit off-topic, but if anyone remembers Raven Software for games like Hexen, Heretic, Shadowcaster, Black Crypt - the creators of these games have abandoned the developer many years ago. They work together at HumanHead Studios.


I still think the Serpent Riders trilogy is one of my top 3 franchises. The atmosphere, puzzles, etc all made my childhood. I hate how there is practically nothing in that geek-fantasy FPS genre with swords and sorcery that takes it seriously (besides Edge of Chaos).


Zeno Clash is the closest thing in my opinion. I don't think they take anything seriously, but it's not necessarily a flaw.

By the way, Hexen II initially had a different name. The game was later re-branded to Hexen II. This explains why so few things connect Hexen II and the other games, and why the setting is so generic medieval fantasy complete with Devil as the main opponent.

The 3rd game in the trilogy was meant to be Hecatomb. http://www.johnromero.com/wiki/index.php/Hecatomb

Another bit of trivia - Heresiarch from Hexen was initially meant to be the final boss. Check out the ending animation of Heretic. And Korax looks more like D'sparil's mount, not a boss. I read somewhere that was the original plan and they've changed it over the course of development.

Hexen, while a game with deep flaws (extreme switch hunting and "haha, you're stuck!" puzzles, repetitive combat, lack of class diversity, lame instadeath traps with no warning) is a game with charm. I made a gameplay mod for it, but then realized nobody cares about the game anymore and stopped developing it. If you're interested in it, I can send you the latest (unfinished) version. Highlights include:

- Disc of Repulsion actually pulls enemies closer and down (flyers) if you're a warrior

- Hammer of Retribution is a huge mana hog, but is reusable because it produces 20(depends on difficulty setting) mana where it hits. This was done to change the playstyle of Warrior class to be more in-your-face while still allowing him to kill enemies at a distance.

- Quietus, the 4th Warrior weapon, has a railgun-like effect meaning projectiles pierce multiple enemies. This finally gave it a niche and it's a great weapon against swarms up close.

- spiked gauntlets (fists) only have strong punches (called "critical hit" in the engine) for finishing blows.

- flechette items work more like grenades and require good timing, they explode 1 second after first bounce

- sapphire wand of Mage is severely nerfed in range to make room for other weapons.

- Frost Shards deal 50% more damage

- Bloodscourge (4th mage weapon) overhauled. Each projectile is guaranteed to home on a different enemy. Second, it deals extreme explosive damage, especially to the user. With Hexen's cramped level design, it makes it THE best weapon in the open and extremely dangerous in corridors. I also modified the homing algorithm, now it has no problem hitting enemies on high ledges. And a cosmetic effect - big clouds of smoke. Tim the Enchanter would LOVE it.

- Wraithverge (cleric's 4th weapon) no longer attacks inactive enemies through walls, which used to wake half of the level and was obnoxious. Additionally, instead of killing enemies outright, it reduces them to 1 HP. Nice synergy with mace. Ghost AI makes them ignore crippled enemies.

Monsters: - afrits (fire imps) have short-ranged flamethrower with interesting projectile physics.

- stalkers (water lurkers) have very mean and currently unbalanced attack where they grab and immobilize you when they emerge. Any hit will break the grab.

- fixed obnoxious bugs with Dark Bishop and Stalker Leader which caused them to attempt shooting through walls (sent the patch upstream)

The goal of the mod was to make enemies and weapons more varied and interesting, and to challenge a modern FPS player. It utilizes the obscure Vavoom source port, which is technically very advanced, has engine written in a scripting language, but is unfortunately quite buggy and poorly documented. I had some more ideas I wanted to implement, such as alternate effect for Chaos Device (shuffles positions of all monsters on the level using Knuth's algorithm). Overall, I love how the 4th weapons of Cleric, Warrior and Mage turned out, they're now a joy to play with (especially mage).


> I made a gameplay mod for it, but then realized nobody cares about the game anymore and stopped developing it. If you're interested in it, I can send you the latest (unfinished) version.

I still love the series. Send me it, it sounds interesting! Reminds me of Carnage Galore or Wrath of Cronos and how it modifies all the weapons and mixes them between games.


Okay, I've wrapped up the mod. Sorry that it took so long. The last real changes are actually from 2011. The first change common to all clesses, in detail: damage reduction from armor is no longer rounded down, actually based on chance proportional to AC, but the result is the same as with a float integer in the long run. Anyway, classes have innate AC - 1 for mage, 2 for cleric, 3 for fighter. This is very little and rounding errors mean it very rarely kicks in in vanilla Hexen.

http://www.sendspace.com/file/0hsrgd

Three main goals: - improve balance - improve variety of classes - make classes play differently and have different pros and cons; the failure of vanilla Hexen is that all classes become plain ranged classes eventually.

Have fun ! I really appreciate feedback, I might even try working on it again. Feel free to tinker, and ask questions. The "progs" directory has more files than needed, I'm afraid there's some boilerplate because I wasn't 100% sure what's necessary.


Some of them are still at Raven. A group of them did a panel discussion at a recent gaming event in Milwaukee, talking about working on some of the old games.


Outcast is still one of the best FPS Melee implementations I have ever played.

Excellent balance between melee and guns, matrix style fights, many hours lost in duel games. You felt like your skill in saber combat mattered.

If someone could only make an Star Wars MMO based on this core engine...


Agreed. That game is a gem. Have you seen Open Outcast? http://www.openoutcast.org/


I only played Jedi Academy, but I concur to all you said, it is still one of my most favorite games.



Raven did this for Elite Force quite a number of years ago (after much pestering from the RPG-X team and myself).

Our copy of that engine (heavily modified over the years); https://github.com/UberGames/rpgxEF


If someone doesn't release a version of Jedi Outcast with g_saberRealisticCombat enabled by default, this whole thing will be a complete letdown.


So cool! How long do you think it will take 'till we can

  apt-get install jedi-games
from a major repository?

Thank you, Raven! It'll be fun to read the code.

Edit: Not sure I ever expected to have a 'jawa' directory on my computer....

Edit2: Just one more gem.

   // Just give him normal pain for a little while


Forever. They only released the source code without assets.


The assets are relatively easy to get -- Steam has both games. You could either pay $9.99 for each of the games, or buy the Jedi Knight Collection, which includes Jedi Academy and Outcast, plus the Dark Forces games as well as Jedi Knight: Mysteries of the Sith for $19.99.

http://store.steampowered.com/sub/2103/


I'm not sure, but wouldn't it be possible to get the assets from an original installation of the game ?


Sure, but how would apt handle that? Releasing an apt package with the assets would be copyright infringement.

All ID games suffer from the same problems.


Separate data and engine packages, engine package distributed by Debian, data left as the responsibility of the user. That way the iD games are in debian too.

eg. http://packages.debian.org/wheezy/quake


It could be packaged, without assets, but with an "installer" that prompts for a cd/source to copy from (along the lines of what ttf-mscorefonts-installer does, for instance -- or freecraft[1] for a more similar example: "FreeCraft needs a lot of data (maps and artwork), that can come from WarCraft II CD, or from the FreeCraft Media Project, codename fcmp, that has support for almost all the data present in WarCraft II. (...) WarCraft II is a registered trademark of Blizzard Entertainment.").

[1] http://manpages.ubuntu.com/manpages/dapper/man6/freecraft.6....


Yes, but they're presumably still owned by LucasArts or something along those lines.


Well, perhaps someone will create some assets :D


Mandatory plug for freedoom: http://www.google.com/url?sa=t&rct=j&q=&esrc=s&#...

Off the top of my head, I know Heretic and Doom have custom models and textures from the Doomsday guys, I know there is a high res quake texture pack, there is a high res Jedi Knight pack, but none of those include levels / models / sound / etc, so they are all addons to the base games.

Freedoom is the only total conversion of a FOSS'd major game engine with FOSS assets that is actually playable that I know of. If anyone knows another, let me know, I'd love to play them.


Probably not long, considering the Outcast series were a spinoff story, and the community is brimming with assets to re-create players, lightsabers, and maps from the films


Now how long until someone who know's what they're doing can tell me if it will work on OSX and write some install docs?


Right now. Both games with their full assets are available for OS X on Steam. It will be a while (if ever) these source releases become get free, re-distributable assets and platform-specific ports.


And how log until someone makes a browser-based version using EMSCRIPTEN, à la BananaBread?


It's a msvc++ project, so I guess that depends on how much work a person is willing to put into it.


I hope someone starts working on releasing an improved and more modern version of Jedi Academy. It thought it was great for playing in multiplayer.


Agreed. It's the only multiplayer game I've found that had really fluid movement.


Jedi academy was one of my favorite games. This is very cool.


These games were based off idTech3, I wonder if ioquake3 will refactor to support them.


Why Sourceforge > Github these days? Sourceforge just feels messy in comparison


Haha, 1829 instances of the comment //FIXME:


I remember the multiplayer in Jedi OutCast and Academy were amazing. Before their time. It was so much fun playing (without the obnoxious kicks and force powers)

I remember the cheat code to have single player enemies die on "1 hit" with the light saber, you could cut arms and legs and heads off.


That's awesome. I really wish this had happened with jedi knight though. It was so much better than academy and outcast, especially for multiplayer.


sourceforge...seriously?


Someone is gracious enough to release their code base, and choose to make a snide remark about their choice of hosting?


It's cool they released it, Raven is apparently totally rad. But still, why not criticize where they host it? GitHub is the better choice (for me at least).


> But still, why not criticize where they host it?

Because criticizing a no-strings-attached gift to the public is obviously rude? "Don't look a gift horse in the mouth" is not some subtle gotcha of social interaction. It's basic politeness.

If their choice of hosting is so terrible, you're entirely able to upload it wherever you please.


Is that how americans say it?

Sounds funny and like a direct translation from German: Einem geschenkten Gaul schaut man nicht ins Maul.


Earliest known version of the saying is Latin "Noli equi dentes inspicere donati" from Saint Jerome around 400 CE/AD. Most European languages are going to have a version. I agree the modern English is peculiar, it likely derives from Middle English. Would that be closer to the German?


Men moet een gegeven paard niet in de bek kijken.

Is Dutch. German rhymes much better though!


A caballo regalado no le mires el dentado (Spanish)


There is a time and place for all criticism. A standalone criticism of their choice of hosting on the very first day is most definitely out of place. Have some common courtesy.

Don't be that guy.


If you would prefer to grab the code from GitHub, I have uploaded it to a public repo:

https://github.com/dpiers/Jedi-Outcast

https://github.com/dpiers/Jedi-Academy


Hi, maybe you could add a README.md that says where the source comes from and how it is licenced? (it's GPLv2)


Done!


Nice just for a quick browse, thanks.

It seems the renderer is based on OpenGL (at least in Outcast), which is a nice surprise.

The code even contains "#elif defined( __linux__ )" which is always encouraging. :)


Both are based on id Tech 3 (fka the Quake 3 engine); id didn't touch Direct3D until 4/Doom 3


Yeah, thanks. I didn't realize until Carmack tweeted about it (https://twitter.com/ID_AA_Carmack/status/319840740723286016).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: