Starcraft Ghost prototype

Discuss any beta and abandonware games.
Gurluas
User avatar
Posts: 297
Joined: Mon Dec 13, 2010 10:30 pm

Starcraft Ghost prototype

Post by Gurluas »

It appears that a Starcraft Ghost prototype has leaked. Starcraft Ghost was a cancelled Xbox/Ps2 Starcraft spinoff featuring a ghost called Nova.
It was a third person shooter and was anticipated in it's day but never came out.

See here:
https://archive.org/details/starcraftghostxbox

EDIT: Seems like our friend Borman is involved in this one. Thanks again! ^^
Last edited by Gurluas on Mon Feb 17, 2020 7:24 pm, edited 1 time in total.

dezodor
User avatar
Posts: 424
Joined: Wed Apr 06, 2011 8:03 pm
Contact:

Re: Starcraft Ghost prototype

Post by dezodor »

Wanted to play this so much back then. Glad someone uploaded it :)
S.T.A.L.K.E.R.: Lost Alpha

lordofdepths
Posts: 37
Joined: Sun Sep 04, 2011 11:28 am
Contact:

Re: Starcraft Ghost prototype

Post by lordofdepths »

It's worth to try running it with CXBX :) Apart from the irritating transparency issue at the top of the screen, it is actually somewhat playable with emulator. I noticed that it stopped crashing so often on my PC once I disabled sound in the emulator. I'm running it on 640x480 with 4x render resolution. I was able to finish both "Zergling Rush" and "Canyon Advance" and to be fair, it was quite fun :)

Overall, it is a very interesting piece of history. You can clearly see how they were not sure whether to create MGS-style stealth game or HALO-esque shooter.

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

Interestingly, one of the exe's is actually intended to run on Win32 - Star_u.exe - dumping in WineD3D to try and get around any sort of DirectX 8 issues, it loads the menu with the logo (sorta). I haven't bothered figuring out if there's any means of getting past the menu into the game while running it directly on Windows, but given that it gets even this far is promising.
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

yourepicfailure
User avatar
Donator
Posts: 1317
Joined: Mon Jul 23, 2012 9:40 pm
Location: Lufthansa DC-10

Re: Starcraft Ghost prototype

Post by yourepicfailure »

I may actually try to run this on a RGH 360. Would be worth a try.

Any details I'd probably need to take note of?
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Image
You will never tear me from the grasp of the Pentium M!

Gurluas
User avatar
Posts: 297
Joined: Mon Dec 13, 2010 10:30 pm

Re: Starcraft Ghost prototype

Post by Gurluas »

jimmsta wrote:Interestingly, one of the exe's is actually intended to run on Win32 - Star_u.exe - dumping in WineD3D to try and get around any sort of DirectX 8 issues, it loads the menu with the logo (sorta). I haven't bothered figuring out if there's any means of getting past the menu into the game while running it directly on Windows, but given that it gets even this far is promising.
Let me know if you make any progress. During those days games were developed on PC first, then ported to consoles...so there's hope.

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

I managed to find all the command-line switches. /devmode, /console /window - all useful to some degree, but I have yet to get further into the menu system. I suspect there's missing files, there are some files related to the menu system, and it might be possible to add some placeholders to make the menu functional (or find a way to force it to use the xbox's menu - not sure if that's hard-coded in the xbe or not).

The game is based on Nihilistic software's NOD engine, and upon executing the Win32 binary, a file "masquerade.ini" is created, which indicates that this iteration of the game's engine is based upon their other game, Vampire Masquerades.

I'm going to go through finding more bits and pieces and try to make the menu functional to some degree.
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Leon
Donator
Posts: 557
Joined: Tue Feb 19, 2008 1:52 am

Re: Starcraft Ghost prototype

Post by Leon »

Odd, the Star* exes have a PE header timestamp sometime in 2002, while the Ghost* XBEs have an XBE header timestamp of 2004... very weird.

Guess it could be possible that the Star files are a remnant from an older build, would explain why it seems to have problems with some of the data files at least.

Also I found a way to let the other Star exes run: just edit the Misc\game.nls file so that it's no bigger than 1024 lines, seems both the Star/Star_d exes have a limit to 1024 strings while I guess the Star_u doesn't for some reason.

All of them end up with the same result though: glitchy menu screen which might display a logo using WineD3D, couldn't get any further than that, and the date inconsistency kinda put me off looking any further into it :/

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

I went further. It detects the upper-left button on an xbox one controller as either the A or Start button, so I'm able to get past the initial menu-looking screen, and then onto a secondary menu that allows you to select other things that end up crashing the app upon pressing the upper-left button again.

EDIT: It ONLY works with joystick input devices, not keyboard!

Additionally, adding the command-line switch "/tgs" enables the demo mode for the Tokyo Game Show, which seems to be what these EXE files are - the 2002 demo build that Nihilistic showed off to Blizzard. On startup of the game, the menu is replaced with a glowing "Press START" image. Upon pressing the button on the controller, it crashes after showing one of the loading screens for a split second.

It appears that the assets for the TGS version of the game are in the data files, so I suspect there may be a way to get it running. Maybe. One of the issues I have to resolve is that a lot of the assets - sounds - are packed as xbox sound banks - the actual wav data is still inside these packages, so it should be possible to extract them and make them available to be utilized by the EXE version of the game. Oddly, there are some bits in the debug build that relate to Xbox-specific header files linked in.

I've been debugging it within IDA with the debug build as the 'input file', and the 'application file' set to the Star_u.exe file. This seems to work just fine, as the Star_u.exe file appears to just be the stripped version of the _d file (I may be incorrect in this assumption, but it's close enough).

It seems that the fonts are missing, which is why the menu shows no text. I aim to try and figure out how to fix that, and possibly get a debug mode working (probably only available through the _d.exe).
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Leon
Donator
Posts: 557
Joined: Tue Feb 19, 2008 1:52 am

Re: Starcraft Ghost prototype

Post by Leon »

Huh, taking a look at all three Star exes shows they're actually from different dates, Star_u.exe is from 08/05/2002 while Star.exe/Star_d.exe are both later ones from 10/21/2002, just a few minutes apart from each other.

I was thinking maybe Star_u worked fine with the unmodified game.nls because it was maybe a later build than the other exes, but it's actually earlier :/

Oozer on OG also found that all the XBEs are from different dates too:
Ghost.xbe is May 8th, 2004
GhostR.xbe is April 12, 2004
GhostU.xbe is September 19th, 2003
I guess this dump is probably just a folder where they'd copy the latest build into to try out, hopefully that'll mean they didn't remove any files across builds, but I guess they did overwrite things.

Another possibility is that maybe the dump was recovered from deleted data, AFAIK a lot of recent releases did come from FATX undelete tools.
If the graphic files used by the Star builds were deleted, partially over-written, then recovered by the devkit owner, maybe that could explain the glitched out menus.

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

There's really no FATX recovery tools - the best we have is TestDisk, which can only run on a drive pulled from a devkit, in another machine. FATX is, however, close enough to FAT32 that undeleting files would just be a means of finding unallocated chains on the disk and re-allocating them by hand. (And yes, I've done that to recover data from old diskettes, prior to DOS 6.2's undelete command).
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Leon
Donator
Posts: 557
Joined: Tue Feb 19, 2008 1:52 am

Re: Starcraft Ghost prototype

Post by Leon »

There has been this released recently: https://github.com/aerosoul94/fatx-tools (AFAIK some of the builds OG have been releasing in their recent release-a-thon posts might have come from using that, not 100% sure about that though, just saw some mentions about it on their Discord)

It's a good thing that people might be able to recover previously-gone builds now, but now we really don't know if any Xbox/Xbox360 builds are 100% complete, or maybe modified/over-written like these might be :/

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

I managed to get a bit further into this. the menu system seems to function to a degree with a controller plugged in. It seems to be looking for loose files, not packed into xbox xdk-packaged files, so sounds are all extractable from the xwb files, but remain unnamed. I really need to hook up one of my xbox's to see how it looks running on there - according to all the debugging I can do on the PC exe, it's trying to load the xbox font files (mapped tga textures), so the issue with the menu not displaying text is either an issue with d3d8 on win10, or it's just broken in the Win32 executable...

I created a live stream of what I've found so far, available to view here -
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Gurluas
User avatar
Posts: 297
Joined: Mon Dec 13, 2010 10:30 pm

Re: Starcraft Ghost prototype

Post by Gurluas »

You're making great progress so far! ^^ Hopefully we can get it running on pc! :3 I'm counting on you, hang in there!

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

Slowly sorta getting somewhere. Sorta.
Image
I don't think this will ever run as a PC game - the majority of the files it's expecting to find are either not present, or, ARE present, but are of a much later version, and are thus unsupported by the version of the engine in the Win32 executable.
I'm trying to track down the font issue now. Once I can actually read the text on the screen, it may make more sense as to what is going on.
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Leon
Donator
Posts: 557
Joined: Tue Feb 19, 2008 1:52 am

Re: Starcraft Ghost prototype

Post by Leon »

jimmsta wrote:I don't think this will ever run as a PC game - the majority of the files it's expecting to find are either not present, or, ARE present, but are of a much later version, and are thus unsupported by the version of the engine in the Win32 executable.
I'm trying to track down the font issue now. Once I can actually read the text on the screen, it may make more sense as to what is going on.
Yeah I came to the same conclusion too sadly, seems both model & level-sector formats are newer than what this EXE expects :(

Comparing the model-loading code from the Xbox build to the PC, it seems like it's actually pretty similar (I had some success just nopping out the version check from Star), but the level-sector stuff seems like it might be a lot different though...

Since we have symbols for both builds I wouldn't be surprised if a converter for the formats could be made, it'd probably still be a tough effort though.

If anyone is interested here's some notes I put down, maybe can come in helpful:

Code: Select all

crash that happens on the 3rd/4th menu option is because of something in the 3D\Motions\nova.nms, emptying that file lets it get passed that crash... 

but then there's another crash due to a missing weaponKatana.nag file (that the game always seems to assume exists, and then tries doing something with the non-existing file), a quick jz -> jmp at 534B69 lets us get around that.

and then there's a problem with the level not being loaded - seems this menu option is trying to load into a "multilevel" level file, which we're also missing... we can just mod the string for that to a level we do have - eg. 1_2_1_Miners_Bunker

now the game starts spitting out "NAD Bundle has incorrect version!" errors at us... it's checking that the version inside the file is 1, but our data files have version 2 - looking at the NAD related code in the Ghost.exe Xbox EXE shows it doesn't seem too different to version 1 though, so we can just nop out the version check.

then we don't get any error, but game still won't load the level - gameWorld_LoadWorld is returning null, again because of a version check: it checks for version 33 inside the levels .nil, but our data files are version 35.

editing out the version check doesn't work here since it makes the level sector loading code crash a little later on, so I guess the structure of the sector stuff has changed between them..

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

So, I've gone ahead and bought myself a copy of Vampire Masquerade: Redemption from gog.com, and it looks like a lot of the 'missing' files that the Starcraft EXE is looking for are in fact assets from this game. We know that Ghost was likely built off of this earlier Nihilistic game, and this cursory look into the assets in the Vampire game seems to correlate to some of my assumptions.

Now it's time to try and merge the two...
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Gurluas
User avatar
Posts: 297
Joined: Mon Dec 13, 2010 10:30 pm

Re: Starcraft Ghost prototype

Post by Gurluas »

jimmsta wrote:So, I've gone ahead and bought myself a copy of Vampire Masquerade: Redemption from gog.com, and it looks like a lot of the 'missing' files that the Starcraft EXE is looking for are in fact assets from this game. We know that Ghost was likely built off of this earlier Nihilistic game, and this cursory look into the assets in the Vampire game seems to correlate to some of my assumptions.

Now it's time to try and merge the two...
Good luck! Also what about those 16-bit executables? What's their date? If they're newer perhaps they can help with the format porting.

Leon
Donator
Posts: 557
Joined: Tue Feb 19, 2008 1:52 am

Re: Starcraft Ghost prototype

Post by Leon »

jimmsta wrote:So, I've gone ahead and bought myself a copy of Vampire Masquerade: Redemption from gog.com, and it looks like a lot of the 'missing' files that the Starcraft EXE is looking for are in fact assets from this game. We know that Ghost was likely built off of this earlier Nihilistic game, and this cursory look into the assets in the Vampire game seems to correlate to some of my assumptions.

Now it's time to try and merge the two...
Not sure if you know about this but there was apparently a NOD SDK for Vampire released too, the docs for it seem to go into detail of the file formats etc quite a bit, maybe could come in useful: https://e-mods.net/nodsdk/

Only found those SDK documents so far but hopefully there's a full SDK laying around somewhere.

hogsy
User avatar
Posts: 1114
Joined: Sat Oct 18, 2008 6:17 pm
Location: UK
Contact:

Re: Starcraft Ghost prototype

Post by hogsy »

The model format has changed a bit since Vampire, though the basic structure is somewhat the same. I've been in the process of writing a tool to convert the models.

Most of the basic models are out of the way and I'm now working to get some others sorted, so I hope to have something I can release soon!
Administrator @ TalonBrave.info; The Dedicated Video-Games Archive
Developer @ OldTimes Software

jimmsta
Donator
Posts: 823
Joined: Sat Sep 09, 2006 6:43 am
Contact:

Re: Starcraft Ghost prototype

Post by jimmsta »

I got as far as I'm willing to go with this - the underlying engine definitely got some major updates from the Vampire RTM - at least 2 years more development work. There exists "TGS" files and commandline switches in the EXE, which indicates that these builds still contain the guts of the Tokyo Game Show demo that Nihilistic showed off to Blizzard prior to getting the go-ahead on development of the game in the first place. This is as close to a pre-alpha build as we're going to get - and it's missing a lot. It's actually expecting quite a few files from the Vampire game directory - specifically the Katana file an Foley sounds.

We didn't just get a playable Xbox build, but one of the demo builds that they showed off to Blizzard in Tokyo in order to get the bid to develop the game. That's pretty awesome on it's own, even if it doesn't run beyond a menu system.
16 years of BA experience; I refurbish old electronics, and archive diskettes with a KryoFlux. My posting history is 16 years of educated speculation and autism.

Yoshi2
Posts: 1
Joined: Sat Feb 29, 2020 12:49 pm

Re: Starcraft Ghost prototype

Post by Yoshi2 »

I was really happy to hear when I heard that a build of StarCraft: Ghost was uploaded onto the internet. I started picking it apart as soon as I found the files, it's a real treasure.

Interesting facts about the playable xbox build (Ghost.xbe): If you select a profile and you need to type in a profile name, you need to type in "Nova" for all missions to appear. Any other name seems to result in the mission list only containing two missions. Some people do not get the option of creating a profile and a Nova profile already exists for them (with all missions selectable). I wonder why that is.

6 missions are available by default but there is a 7th one called The Borgo Refinery, internal name is 1_3_1a_Hive_StationOuter. It's commented out in ghostsp.nsc but if you uncomment it it works fine ingame. It's the precursor mission to Sabotage, I'm not sure why the level was disabled.

Many more missions are commented out in ghostsp.nsc but sadly the majority of them no longer exist in the files (the Levels folder only has the 7 levels + the menu). If you re-enable the missions you can at least read their names and look at the mission pictures. If you have paint.net installed or any other tool that can read .dds files, these mission pictures can also be found in UI/Materials.

The Ghost exe files are meant to run on Xbox. The Subsystem field in the PE header of the exe is 0x0E which refers to Xbox, that's why Windows refuses to run the exe files (They are not Win16 or anything like that, it's regular 32 bit x86). Very interesting to know that the Star exes are an actual old PC build of the game.

I'm really curious about what GhostR and GhostU are. GhostR.xbe crashes for me in cxbx while GhostU.xbe does get into a menu but gets stuck on a loading screen of sorts after profile selection. First I was thinking it could be a multiplayer build because it mentions Online Services but maybe it was just another variant on the Main Menu, just with an Online part included. It appears to try to load the first level in ghostsp.nsc after selecting a profile.

And there's an insane amount of assets that go unused because the levels that'd have used them are gone from this build, a lot of it might still be functional to some extent. I'd love to see the Protoss units in the game but that requires figuring out how to edit the files to spawn different units.

Leon
Donator
Posts: 557
Joined: Tue Feb 19, 2008 1:52 am

Re: Starcraft Ghost prototype

Post by Leon »

Yoshi2 wrote:I'm really curious about what GhostR and GhostU are. GhostR.xbe crashes for me in cxbx while GhostU.xbe does get into a menu but gets stuck on a loading screen of sorts after profile selection. First I was thinking it could be a multiplayer build because it mentions Online Services but maybe it was just another variant on the Main Menu, just with an Online part included. It appears to try to load the first level in ghostsp.nsc after selecting a profile.
I'd figured that GhostR is probably a Release build of the game, while Ghost is a Debug build, but looking into it Ghost has this pdb path inside it:

Code: Select all

c:\Star\CODE\GAME\xbox_Release\Ghost.pdb
So I guess it's not a debug build, GhostR doesn't seem to contain any pdb path unfortunately so I'm not sure what to make of that now - it does contain a "RETAIL" string though which Ghost has as "RELEASE" instead (see offset 0x353218 in Ghost.exe vs 0x318110 in GhostR.exe), so I guess maybe R stands for Retail?

GhostU contains this path inside:

Code: Select all

c:\Star\CODE\GAME\xGame___Xbox_ReleaseUnicode\Ghost_u.pdb
So it looks like maybe U stands for Unicode, not really sure why they'd make an Xbox Unicode build though, maybe a PC build config that was built for Xbox by accident or something...

Anyway I'd guess the reason some of them run while others don't is because these are all from different build dates, so probably expect different data files than the ones we have.

dezodor
User avatar
Posts: 424
Joined: Wed Apr 06, 2011 8:03 pm
Contact:

Re: Starcraft Ghost prototype

Post by dezodor »

Is there anyway to run this on an xbox emulator on pc? :D I tried a well known one, called dxbx, but it doesn't do anything...simply hangs. (probably because 'm running a 64bit os (win10))
S.T.A.L.K.E.R.: Lost Alpha

thenameduser
Posts: 21
Joined: Mon Jun 06, 2016 4:17 am

Re: Starcraft Ghost prototype

Post by thenameduser »

dezodor wrote:Is there anyway to run this on an xbox emulator on pc? :D I tried a well known one, called dxbx, but it doesn't do anything...simply hangs. (probably because 'm running a 64bit os (win10))
Dxbx is really old. Use Cxbx-reloaded instead (although there are many bugs and its slow)

Post Reply