Jump to content

Clarification on Xbox code WIPs (no builds)


Recommended Posts

I want to ensure that I'm being safe and clear and not making waves within the community. I am in the process of building personal builds for the original Xbox. I have both SP and MP executables building in VS2003, which I've had on hand since my early days at university. My first task is to rip out all commercial library code, such as Goblib (which is Vicarious Vision's property), as well as MP3, etc and replace it with free libraries as OpenJK has done. I plan on uploading the source to GitHub after I've pulled all I can, and to note to people that people will need a legal XDK to compile it. As it is I have to go somewhere to compile it as I personally don't own a copy of the XDK. Even though it's ancient news to Microsoft, it's a personal responsibility to ensure that you actually own the XDK (thus these will be source-only releases on Git).

 

The master rules thread has the following to say:

You are not allowed to use the original release code that was linked by Kotaku and others. This code contains Rad Game Tools code, as well as Feelit, Xbox Development Kit code and Carmack's Reverse. Using that code requires redistribution of your source code, which contains illegally relicensed code. I hear Microsoft has great lawyers.

 

So, all that being said, what's the policy on posting work in progress videos and forum posts? I don't want to be out of bounds here, but the plan is some support for mods:

  • Deflate assets.gob to loose files (already done with QuickBMS, so it's done outside of the game)
  • Ability to run loose files and PK3s
  • Cosmetic mod support (characters, sabers, etc)
  • MP map support
TL;DR -- I'd like to be able to post forum updates on Xbox executables/mods. No actual executables would be provided, and individuals will have to compile the updated source code themselves -- all commercial libraries will be removed before the first GitHub commit. PK3 mod links will be provided as long as the contributing community members deem it okay to port their work (which consists of converting textures to DDS and little else).

 

Thoughts? I'm guessing that even given what I'm doing it's still frowned upon.

 

***EDIT***

 

In case anyone was wondering, here are some specifics I want to ultimately do:

  • Assets update: More hilts and colors, including some unstable colors (no RGB for simplicity's sake)
  • Assets update: Kitbashed species (updates to originals as well as new)
  • Assets update: More MP characters
  • Assets update: Select any MP character for SP (on-screen toggle between species and MP characters. Have a version of this on PC already built)
  • Assets update: Official JA Bonus Pack maps
  • Code/Assets update: Blaster Pistol/sidearm customization a la lightsaber hilts. All blasters on one key, with the player able to select their chosen pistol model and possibly bolt color and secondary fire mode
  • WISHLIST: In-game SP mod loader. High priority after the above would get done
  • WISHLIST: KotF 2.1-styled "Training" module. Available in both the SP and MP executables, but it's more of a vs NPC instead of bots. Gives more of a campaign feel
  • WISHLIST: Dedicated server browser. Totally doable. Totally a huge project and, in the end, might not be worth the effort
  • WISHLIST: MP character grouping. If you select Luke, for example, a sub-menu with all the different Luke variants appears. Saves from having a never ending list of characters, and organizes them into one place. Another example might be clicking on a clone trooper, which then puts an icon list of all available clone troopers below it. Again, very doable. Very time consuming.
Alvar007, minilogoguy18 and Smoo like this
Link to comment

Why take the time to do this?

 

I owned the console version of this console, it's terrible to the point in which I'm sure no one is playing it.

Because everyone I play with plays exclusively on a console. I have a modded original Xbox, there are two that are system linked at my parent's house, and I've built one for each of my siblings' kids. Holiday get togethers often lead to 16 player mulitplayer matches in Halo, Battlefront, etc. And frankly any day of the week I'll take a gamepad over mouse and keyboard, which is the same reason I did my Battlefront II mod for the Xbox. Couch/splitscreen multiplayer is in our DNA.

 

In regards to nobody playing, the gameplay is no different. The only major change is in the UI, which admittedly is pretty lazy. Everything else is still great fun to play if you're a console gamer. Also my Xbox Battlefront II mod has over 20,000 views collectively on TheIsoZone -- admittedly one drawback is that nobody likes to outright host console mods aside from ModDB (which I've never bothered to submit to). It's no PC popularity, but that's enough to tell me there are plenty of folks like me that like to run on consoles. Plus its only five points below PC in Metacritic score. In the end the PC's moddability is the reason it's more popular. 

 

To add to that I enjoy doing it for the challenge. I guess it's hard to understand, but on the inverse I often don't understand putting so much time into HD-ifying such an old game over getting content moving at a mid-2000's quality, but so many people here spend tons of time doing it. I suppose my inverted views are why I don't feel like I fit in here. 

Alvar007, Lancelot and Jeff like this
Link to comment

But what about the drag/drop of PK3 files? Doesn't not having that easy ability along with hardware now a days so easily being able to run JA not kill the console community?

 

I like console for the controller mostly because I never had a good PC growing up but I just use a PS3 controller with MotionInJoy to make it emulate the XBOX control style.

 

Also, some MASSIVE changes are about to be made to the PC game with the render engine which would probably make the console version obsolete.

Link to comment

Is it easy to mod the XBOX? I used to play JA on it all the time back in the day.

There are software-based exploits out there. With a memory card, usb adapter and a copy of Splinter Cell the process takes about 30 minutes. Replacing the hard drive with a bigger one can also be done, but that's a bit more involved. I keep an old PC in my garage whose only job is to prep bigger Xbox hard drives from old used PC drives. I used to use it quite a bit. Now its maybe once a year.

 

But what about the drag/drop of PK3 files? Doesn't not having that easy ability along with hardware now a days so easily being able to run JA not kill the console community?

FTP is nearly as quick. Turn on the console, FTP into it, drag and drop to transfer. PK3 support is the biggest focus I have. But again, so much of my personal interest level comes in at couch gaming. One TV/monitor, up to four friends on that TV, super easy system linking (way easier than a LAN party). PC is great, don't get me wrong, but I want to talk to people while I play. So that being said I'm going to do it in the same room, or I'll do it online via a modern console that has that functionality built in.

 

Also, some MASSIVE changes are about to be made to the PC game with the render engine which would probably make the console version obsolete.

Again this is where I feel I don't fit in with this community. Where most people see new visual updates I see the requirement to go back and update a bunch of old assets to then take advantage of those enhancements. It becomes this endless feature creep cycle where, yes, things get more visually appealing, but on the other hand no other type of progress is made. Eventually the pipeline becomes so difficult for anyone but the super seasoned modders that there aren't enough people to support it.

 

That's why I love these 90's and 2000's games. They're visually appealing enough to draw players into the gameplay without being so incredibly complicated that you can't just sit down and make content for them. In my mind I look at the way JO/JA look as a sort of art style rather than some aged engine. I see nothing wrong at all with 2003 visuals, and frankly prefer them.

 

Now all that said I say if people want to spend their time doing that then that's part of the joy of modding. I don't understand it, but then again I realize a lot of people might not understand my own motivations. Hopefully I don't come off as a huge jerk. People should feel free to mod in the way that makes them feel accomplished and happy.

Jeff likes this
Link to comment

I agree with you on all points. I guess it's just about when you started gaming. I'm old so a controller is always preferred and these new games, such as the new Battlefront are absolute shit to me. Graphics are nice but the gameplay in the new stuff sucks, give me good games like the first two BF games, Jedi Outcast, Jedi Academy, hell even Republic Commando was ok. I prefer the 2003 era graphics as well, no need to fix what isn't broken in my opinion. 

Teancum likes this
Link to comment

Good to see that, Jeff. I realize not everyone agrees with our views. I'm cool with that, but it's really nice to see someone like me in that sense.

In case anyone was wondering, here are some specifics I want to ultimately do (this list is also in the first post):

  • Assets update: More hilts and colors, including some unstable colors (no RGB for simplicity's sake)
  • Assets update: Kitbashed species (updates to originals as well as new)
  • Assets update: More MP characters
  • Assets update: Select any MP character for SP (on-screen toggle between species and MP characters. I have a version of this on PC already built)
  • Assets update: Official JA Bonus Pack maps
  • Code update: JO MP gametypes
  • Code/Assets update: Blaster Pistol/sidearm customization a la lightsaber hilts. All blasters in one weapon slot, with the player able to select their chosen pistol model and possibly bolt color and secondary fire mode
  • WISHLIST: In-game SP mod loader. High priority after the above would get done
  • WISHLIST: KotF 2.1-styled "Training" module. Available in both the SP and MP executables, but it's more of a vs NPC instead of bots. Gives more of a campaign feel
  • WISHLIST: Dedicated server browser. Totally doable. Totally a huge project and, in the end, might not be worth the effort
  • WISHLIST: MP character grouping. If you select Luke, for example, a sub-menu with all the different Luke variants appears. Saves from having a never ending list of characters, and organizes variants into one place. Another example might be clicking on a clone trooper, which then puts an icon list of all available clone trooper variants below it. Again, very doable. Very time consuming.
  • WISHLIST: Additional weapons. I'd love to have the Dark Forces mod weapons in as either added to the campaign or as easter egg weapons. A more DF saga-esque array of weapons would be too cool. The Mortar Gun is already done, and it might motivate me to complete the Fusion Cutter and Assault Cannon. And in my mind the Rail Detonator/Seeking Rail Detonator from JK/MotS is a must (and, off-topic, but it's cooler than JO/JA's rocket launcher)
Jeff likes this
Link to comment

Yeah but hosting say a Lugormod server or something like that?

 

Talking is OK I guess but a packed PC server is loads of fun.

 

We may be updating the visuals but the original gameplay that makes these games so unique isn't going anywhere. The modern pipeline is just something people are going to have to get used to, nothing stays the same, apathy is death. I'm not used to a modern art pipeline and it's why I modded this game for so long rather than something newer but as a artist it severely crippled me because now I'm having to play catch up. No more making everything is Softimage, now I'm having to sculpt in ZBrush, retopo then only use SI to do some of the smaller steps to get the low poly model game ready. PBR texturing workflow replaces simple diffuse+spec using a simple .shader text file to blend them.

Link to comment

We took the Xbox code out of the source in OpenJK because it violates the GPL2 license. The XDK is not compatible with this license so can't be a requirement of the code.

 

I would say you have the same problem but if you're happy to overlook that then go ahead :)

Link to comment

Been meaning to check out the gamecube version on dolphin see if it runs as well as xbox's lol edit: was it just outcast on gamecube?

Yes, Jedi Outcast released for Gamecube. I actually own that version. It might not be the greatest way to experience Jedi Outcast, but it is something unique in a way.

Some of the menus are different from the PC version and it has that Alzoc III demo map as a bonus stage. The only downside is that the cutscenes, while being identical to the

PC version, are FMVs.

Smoo likes this
Link to comment

I owned JO on GameCube too when I was first married. It's still a solid experience, and given that both the GameCube and Xbox were pretty powerful for their day it runs buttery smooth. What you'll probably notice more than anything are the way it feels, being controller-based. Still great fun, but it can be jarring for people who play mainly on PC.

 

Directly on topic, I have Xbox compiling for both SP and MP now. So far I haven't been able to switch over to PK3s. Visual Studio 2003 doesn't like the outright switch, so I'm probably going to go loose files. The entire GOB format (which replaces PK3) API is included, but I'm not sure I'll get the chance to build out make-you-own-gob system, so I'll probably just start with the ability to play with all the files extracted. Xbox GLMs crash the PC version, so odds are that the inverse is true, which is super disappointing. I found the code for the tool that splits up BSPs into the Xbox MLE entity format, and after compiling it seems to work, for the most part. It errors out after the final MLE. No idea whether it would actually work on PC maps, of course, but I'm guessing they wouldn't build a tool to separate the BSP into manageable chunks otherwise -- they'd just alter the BSP structure itself.

 

Of course, none of this matters if I can't get files to run outside the GOB.

Smoo likes this
Link to comment

It is illegal to develop for the Xbox. The Xbox requires software (XDK) that can only be pirated to access, because of how old they are (Microsoft doesn't sell them anymore for the Xbox 360 or the Xbox original). XDKs are the property of Microsoft and they cannot legally be sold, either.

The Xbox version of the game requires the XDK to compile.

 

When you talk about developing stuff with the Xbox in mind, talk is certainly allowed, but the RAD game tools, XDK, etc were stripped for a good reason - you need to make sure not to include the sources for that or you open another can of worms. Also, you can't distribute executables or disks openly (you'd actually need a factory-sealed disk and API key I think in order to get them to run on unmodified Xboxes, but that may just be the case for the 360). You're going to be pretty hard pressed to find a place to actually do that, because Microsoft filters Hotmail pretty stringently and I can't allow (what amounts to) pirated software being distributed on this forum.

 

I looked into this stuff a long time ago, it's really not worth the effort when you have Steam Machines and the ability to hack modern consoles to run Linux, as well as the controller support being improved anyway. You'd be running a graphically toned down version of the game for no benefit.

Smoo likes this
Link to comment

Fair enough. It was an incredible headache anyway. As far as running executables though -- you can run unsigned versions on software-modded original Xbox, and on hardware modded 360s. It's been a hobby of mine to mess with that stuff. I will say that though the original Xbox can run linux, OpenJK doesn't run on it, so for that part of it the idea is out. As far as Bink, etc all that would have been replaced with open versions (MPEG replacing bink, with the users having to find their own way to get the movies). The main reason for my interest was the simplicity and inexpensive family LAN parties we have with four old Xboxes. It's way cheaper (and space saving) to fill a basement with 16 people, four Xboxes & TVs, and one network switch than 16 computers all all the related gear.

 

But in the end if Microsoft has recalled hardware then realistically the software would be part of that package. Message received.

Link to comment

Fair enough. It was an incredible headache anyway. As far as running executables though -- you can run unsigned versions on software-modded original Xbox, and on hardware modded 360s. It's been a hobby of mine to mess with that stuff. I will say that though the original Xbox can run linux, OpenJK doesn't run on it, so for that part of it the idea is out. As far as Bink, etc all that would have been replaced with open versions (MPEG replacing bink, with the users having to find their own way to get the movies). The main reason for my interest was the simplicity and inexpensive family LAN parties we have with four old Xboxes. It's way cheaper (and space saving) to fill a basement with 16 people, four Xboxes & TVs, and one network switch than 16 computers all all the related gear.

 

But in the end if Microsoft has recalled hardware then realistically the software would be part of that package. Message received.

That's fair, I think splitscreen support is a viable OpenJK feature though.

Teancum likes this
Link to comment

That would be amazing. I have some Android HDTV computers that I could then convert over to Linux. I know someone ported it to Android and iOS, but I must admit I'd love to see OpenJK on Android someday. Android set-top TV boxes are dirt cheap and nice and compact for travel. In fact, if anyone on the OpenJK team is interested in an Android port I have a spare HDMI Smart computer I could just send to them.

 

On one last Xbox note, I contacted Chris McEvoy of Vicarious Visions shortly after the source release (knew him from elsewhere) about the GOB format. He said he had already talked with then-VV boss Guha Bala about the accidental leak and the GOB format. What he replied with was that the format was no longer used, but they couldn't officially support it with a tool of any kind. He did say that pretty much all the code was there (read, write, create, etc) for a tool aside from a wrapper, and that it wouldn't be hard for the community to make a tool. That might be a better solution for me to pursue. I would effectively just need to make a wrapper to invoke the different processes. I might be able to update content going that route and won't need the XDK, avoiding any "Imperial entanglements". Between that and BSPthing (whith splits the BSPs into the Xbox's formats) there is some potential at new content on Xbox. But admittedly if there are better avenues (like Android) I don't see a reason to stick with Xbox.  

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...