Where to get started with making homebrew for Xbox?

StrayGuitarist

A genuine feline disaster.
OP
Member
Joined
Mar 28, 2019
Messages
638
Trophies
1
Location
Pallyfornia
XP
1,530
Country
United States
I've been part of the Xbox modding community for a long time, but always as a consumer rather than a creator. I finally got a spark of inspiration, I want to see if it's possible to port Half-Life 1 to the original Xbox. I know Quake and Doom have been ported, so I know it's theoretically possible to bring the code over, but I'm a little concerned with the potential issues with the limited hardware capabilities of the console, but Half-Life doesn't seem too intensive for the console if downscaled and optimized right.

Mainly, I'm curious if this idea is too farfetched, and if not, where I should start to make that a reality. I'm not really familiar with coding, but I have a lot of hardware experience, if that affects.. anything.
 
  • Like
Reactions: Alexander1970

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
34,099
Trophies
2
Website
trastindustries.com
XP
22,987
Country
United Kingdom
The xbox has two main homebrew approaches, three if you count the various versions of Linux made available for it but that does not play here and any scripting afforded by XBMC or something is also not going to be enough.

That being the xbox official SDK, aka the XDK. Various versions of this made available, the last one being an internal one some of the Halo peeps used.

There is also a standard homebrew SDK based on all the usual open source compilers. It was not developed as well for quite a while into the xbox life.
https://github.com/XboxDev/nxdk is probably where I would start today, though I am not sure how developed its 3d libraries are so might want to investigate that.

The XDK was overwhelmingly the most popular during the xbox lifetime. Being made on this is why original xbox homebrew tends not to be downloadable as a simple zip file from a website but hidden in FTP servers, behind walls and on torrent sites like it was a ROM, or only distributed as source code.

As for the specific project of porting a game.
Generally speaking you want either
1) The game to have had source released (be it officially, leaked or recreated)
2) The game to use an engine similar enough to either an existing game or an engine that is open sourced such that you can figure out the differences and port it across.

You can reverse engineer a whole game (be it by playing with a disassembler, decompiler, call viewer and the like or by extracting assets and recreating the physics to match by observing play) but whatever approach you take for something of that vintage and base language (some older stuff is easier, some newer stuff is easier) it is a years long process most of the time even for veteran coders.
Some have kind of gone there as Valve did make and variously authorise certain mods for its Source engine (Source being their own engine a la Unreal, Quake, Doom, ID Tech, Unity and the like are for other companies and time periods).

To the best of my knowledge there are no source releases of any version of Half Life 1. A cancelled Dreamcast port was leaked online but that was a build rather than any source code that might be useful. There was famously a leak during development (and that course of events ultimate gave us Steam) for 2 but it is way different to final. https://combineoverwiki.net/wiki/Half-Life_2_leak
As mentioned above Half Life has gone on to be remade in newer engines, Black Mesa being the most notable of those. The original xbox quite notably had a version of Half Life 2 made available (fairly stripped back as these things go) so some might consider that approach here.
 

StrayGuitarist

A genuine feline disaster.
OP
Member
Joined
Mar 28, 2019
Messages
638
Trophies
1
Location
Pallyfornia
XP
1,530
Country
United States
As for the specific project of porting a game.
Generally speaking you want either
1) The game to have had source released (be it officially, leaked or recreated)
2) The game to use an engine similar enough to either an existing game or an engine that is open sourced such that you can figure out the differences and port it across.

You can reverse engineer a whole game (be it by playing with a disassembler, decompiler, call viewer and the like or by extracting assets and recreating the physics to match by observing play) but whatever approach you take for something of that vintage and base language (some older stuff is easier, some newer stuff is easier) it is a years long process most of the time even for veteran coders.
Some have kind of gone there as Valve did make and variously authorise certain mods for its Source engine (Source being their own engine a la Unreal, Quake, Doom, ID Tech, Unity and the like are for other companies and time periods).

To the best of my knowledge there are no source releases of any version of Half Life 1.
I’m actually pretty knowledgeable about the Source engine. Half-life 1 was made with a slightly altered version of Quake’s engine, that Valve dubbed “GoldSource.” One original Xbox game that uses something very close to (if not exactly) GoldSource is Counter-Strike. Aside from that, Half-Life: Source does actually exist on Steam, released around the same time as Half-Life 2. I own a copy of it, but I don’t think the source code for it has been released.

So the question is whether I should try to port HL: Source with code from Half-Life 2’s Xbox port, or try to port the original with Counter-Strike’s Xbox port, and where I should start down either of those routes.

HL1 in its original form got ported to PS2, so I could probably use its assets to reduce the usage of resources. But I feel like it’d be easier to try to recreate the campaign in Half-Life 2 rather than try to port the entire game through Counter-Strike. I’m just not sure.
 
  • Like
Reactions: Alexander1970

StrayGuitarist

A genuine feline disaster.
OP
Member
Joined
Mar 28, 2019
Messages
638
Trophies
1
Location
Pallyfornia
XP
1,530
Country
United States
If you want to port HL1, you may be better off porting Xash3D, I know MVG a short while ago did a video about porting something to the Xbox.

Huh. This might actually be my best bet. Not to mention its source code is freely released by the developers. И это в России! Хорошо! I’ll try to look into the MVG video to see what I should do..
 
  • Like
Reactions: MrCokeacola
General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: I got Emerald for free "because I'm so neat" or some bullshit.