Jump to content

Announcing EDP: The Enhanced Development Platform

Recommended Posts

Methodology/Why I'm doing this

I've spent a lot of time thinking about how the project should be organized. There's two separate, yet important goals that I want to accomplish with this project:

  1. Create a solid platform for people to base their mods off of, similar to OpenJK but taking more risks, breaking compatibility entirely with old save games and so on.
  2. Create the best possible experience for JK2 and JKA yet still retain a similar feel to opening the box for the first time.

However these two goals have wildly different demands and expectations. We'll refer to the game people should play as "the mod" and the game people should develop on as "the platform" in this list:

  1. The mod should be relatively bug-free, and therefore necessitate very strongly-vetted releases. As a platform, this does not matter as much.
  2. The mod should be released in different channels than a platform; a mod should be in public download areas like on JKHub, whereas a platform release belongs more on a forum.
  3. The platform needs loads of documentation to ship with it, so developers know how to use it. This would be completely unnecessary and even confusing on a mod release.
  4. A mod release should ship with all of the best assets, whereas a platform release should come only with testing assets.
  5. A platform release, ideally, should have material relating to both games (JK2/JKA) and all of the different renderers shipped with it. A mod release only should target one game, and ship with two renderers, maximum.
  6. A platform release would be shipping with .map files, model source and source code, which is wholly unnecessary for a mod release.

Therefore, it makes sense to distribute two separate versions. There will be JK:Enhanced (which will have JK2:Enhanced and JA:Enhanced as "child" mods) as well as The Enhanced Development Platform


What is the Enhanced Development Platform?

The Enhanced Development Platform is a modding-oriented codebase. It is based and design on the concept of OpenJK. The main difference between this and OpenJK however is that we're generally going to be breaking savegame compatibility on purpose and be more open to feature requests. The philosophy will also be different, since we are targeting modders specifically, and not players and modders like OpenJK is. (OpenJK is also targeting Multiplayer and Singleplayer. We are targeting only singleplayer.) Releases on the Enhanced Development Platform will be frequent and available for all three major OSes (Windows/Mac/Linux).


The EDP opens up a lot of the hardcoded stuff and makes that more accessible to the modder. Information on this will be forthcoming.


There will almost certainly be a lot of bugs and possibly crashes or worse. We aren't focusing on making the platform stable. However, "stable" releases will be marked as such.


What does the EDP offer me, as a modder?

It's a stable codebase, like OpenJK is, but there's a lot more experimental/interesting stuff that's been implemented. A lot of this breaks compatibility with the original savegames and can't be implemented on the main branch of OpenJK.


A non-exhaustive list of things that will be offered in the EDP, in both JK2 and JKA:

  • rend2 - A modern renderer that utilizes Physically Based Rendering and advanced techniques like normal/bump mapping, real time shadows and specular mapping. (More information / Announcement)
  • Aspect ratio correction for fonts/text/some images
  • SFX Sabers - These saber blades, most notable for appearing in Moviebattles and originally appearing in OJP, are a vast improvement over the original saber rendering technique.
  • JSON Weapon System - Swap out your weapons.dat for a new JSON file which loads faster and can be changed ingame with a cvar. It also has more fields that can be modified.
  • GHOUL2 First Person Weapons - Use the power of the game's GHOUL2 model format to create animated first person weapons.
  • The AI workshop - Manipulate NPCs with console commands (More information)
  • Ingame Navigation Editor - Alter the game's waypoints/point_combat places ingame without recompiling the map.
  • .eent files - Add extra entities to maps without modifying the BSP
  • Weapon Holstering - Weapons can show up on your player.
  • TrueView 2.0 - View your feet in first person, or just view from the third person model's head
  • /spawn command - Spawn entities ingame, like Lugormod's /place command
  • Performance Improvements, Bug Fixes - FPS has been improved across the board. Lots of minor bugs in the game have been corrected, thanks to being based on OpenJK.
  • Sample Library - All of the map samples, sound effects, script sources, etc are wrangled up in one place.


When will EDP be available?

Technically, the code for it has always been available (https://github.com/JKEnhanced/OpenJK) but over the coming months there will be some changes to the code, new documentation written and automatic code deployment to help make things easier.


What does this mean for JK:Enhanced/the mod?

It's a good thing, since the development will be streamlined and we can appeal to modelers/mappers who want to help out. My time will probably be taken up by writing documentation, but I've been idle for a lot of the time anyway because much of what needs to be done is art assets.


Plus it totally gives me a good excuse/motivation to work on actually neat/crazy stuff that will never be seen by the players anyway, like an ingame scripting system or something crazy.


These forums are going to get reorganized as well.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...