Oddworld Forums

Oddworld Forums (http://www.oddworldforums.net/index.php)
-   Oddworld Mods & Hacks (http://www.oddworldforums.net/forumdisplay.php?f=24)
-   -   A.L.I.V.E² Engine Modding (http://www.oddworldforums.net/showthread.php?t=19918)

SpAM_CAN 12-23-2010 03:06 AM

A.L.I.V.E² Engine Modding
 
With the PC release of Munch's Oddysee, the A.L.I.V.E² Engine is finally open for modding. I'm writing a manual for the PC version of Munch as we speak and have been looking through the game files.

Turns out that scripts for A.L.I.V.E² are readable in plain english, such as this script for this Big Bro Slig.

:

if heard possessionchant
begin
set parent:gs_guid to sound possessionchant originator
if parent:gs_guid and distance to parent:gs_guid < parent:heardnoise_range and oncamera
begin
set parent:noisemaker to parent:gs_guid
stack bbheardnoise
end
end
See? Surprisingly simple. All the scripts can be found in three formats: XML, TXT and INC (which is simply a renamed text file). There are even Developer Templates left in the folders for use!

Next I found image files for the menus, including one that looks like a multiplayer menu! This explains the strange 2 Player concept similar to that used in Half-Life Decay when played on your own.
http://dl.dropbox.com/u/7756245/chmu.jpg

The images can be found in either TGA and DDS, which would allow for custom icons and things. This includes fonts.

Sounds are in WAV format, meaning that perfect sound-rips of Gamespeak are available for the very first time. Some stuff is in SGT format, which I have yet to find out how to open.

3D models are in NIF format, which contain bones, animations and textures within them. They can be opened using NifSkope. Replacing the models and textures would probably be quite easy, though everything would need to match exactly (with animations and the like).

A text file describing how to add AI animation to a 3DS Max model can be found in the AI folder (AI_INCLUDES.txt). Several conversion tools are scattered throughout the game files.

Maps too are in the NIF format, though locations of entities are listed in text files. 2 other files are XIN and XRG, a text file and an XML file respectively.
https://dl.dropbox.com/u/7756245/snipper.PNG

Beta files are left in the directories, such as a speech about a wheelchair training course from a very high-pitched Shaman and the spinning SoulStorm Brew cans from the cut Brew Cannon.

Configurations for player control can be found in the 'config' folder, and allow you to change Player jump height, Crossbow damage dealt and many other attributes.

As I'm sure you can tell, this game is going to be a paradise for modders, seeing that almost every single file in the A.L.I.V.E² Engine is editable. Please check back later for the PDF of a PC version of the Munch manual too.

STM 12-23-2010 03:21 AM

this is good, we can edit levels and re-script things then?

AvengingGibbons 12-23-2010 03:57 AM

i see polys.. can you open the character models just like that too?

SpAM_CAN 12-23-2010 04:06 AM

:

()
i see polys.. can you open the character models just like that too?

Yes. Though some models don't load properly, such as Abe, where you can only see his bones and eyes.

:

()
this is good, we can edit levels and re-script things then?

Yes, but we need to learn how the map formats work first. The 3D Gemometry is in a NIF file, but the entity locations are in text files with co-ordinates and I/O systems (like opening up a Hammer VMF file in Notepad++).

STM 12-23-2010 04:10 AM

C+ ? I'm learning java and C# so I might be able to do some coding eventually.

SpAM_CAN 12-23-2010 04:12 AM

:

()
C+ ? I'm learning java and C# so I might be able to do some coding eventually.

No, its like this:
:

Script touchstone657950

begin
variable
begin
integer linkc1
end

log "running touchstone"

do forever
begin
if linkc1
begin
log "at touchstone command"
touchstone display "..\slatescreens\storystones\region00\R0038.xml"
set linkc1 to false
end
exit
end
end
Turns out the co-ordinates are in the NIF files.

SligStorm 12-23-2010 04:26 AM

Are the scripts Lua? or just hardcoded c++?

I belive I took a look at these scripts a long time ago on the Xbox Original but I can't remeber much about them right now.

SpAM_CAN 12-23-2010 04:35 AM

I don't recognise it, it could be. It looks more like a proprietary format.

A.Fredenucci 12-24-2010 05:13 AM

Hi all,

I saw that munchs oddysee used .NIF files, i can open level/characters change textures etc, it work perfectly.
But every time i save a new .nif with NifSkope (without nothing change) the game crash in the loading screen of the level modified :/

this message appear after save the nif : "failed to sanitize blocks order, corrupt nif tree? invalid link"

i would change the textures of the game with hd textures

Please help me i'm a newbie with NifSkope!

Thanks

SpAM_CAN 12-24-2010 05:24 AM

I'm new with it too, and I haven't got the faintest clue whats wrong. Maybe finding a NIF program from 2000 would be better?

SligStorm 12-27-2010 07:04 AM

Has anyone found any Debug commands in Munch's Oddysee or Strangers Wrath? Like how Abe's Oddysee has -its_me_your_farther and Abe's Exoddus has -ddcheat?

Since it was originaly an Xbox game I doubt it but Idk. It's just that I want to noclip to skip some of these levels since theres no cheats for munch's oddysee.

I played through this game entirely back when it was on xbox but I just want to mod some of the later levels

Scraby 12-27-2010 07:06 AM

i didnt found anything.... but i got stuck on a damn level with chant supressors and sligs and one big bro...

Paul 12-27-2010 12:13 PM

Cool are you planning on making a proper editor that loads NIF's and all the other extra bits?

Scraby 12-27-2010 12:35 PM

i ripped the maps out :) and weaps vehicles.....

SpAM_CAN 12-28-2010 12:45 PM

:

()
Cool are you planning on making a proper editor that loads NIF's and all the other extra bits?

I lack the coding knowledge, sorry. We don't even know what format these maps use for render optimisation, though by the looks of it its a simplistic "use fog to cover a draw-distance" style, rather than BSP.

Paul 12-28-2010 01:35 PM

:

()
I lack the coding knowledge, sorry. We don't even know what format these maps use for render optimisation, though by the looks of it its a simplistic "use fog to cover a draw-distance" style, rather than BSP.

Likely means its an oct-tree than than bsp tree then? Or is is really a giant mesh? :s What resolution are the textures?

SpAM_CAN 12-29-2010 07:54 AM

They're all random, from the ones that I can actually find. For some reason I can't find many map textures :/

Paul 12-29-2010 03:01 PM

:

()
They're all random, from the ones that I can actually find. For some reason I can't find many map textures :/

I saw there is some other forum that deals with the NIF file format. Seems many games use this format but slightly different versions of it. Looks like the MO engine is some middleware/renderware engine rather than one created from the ground up.

If you ask the guys on the other forum and give them some example files they may update the tool to work properly with MO versions of NIF.

SpAM_CAN 12-30-2010 01:31 AM

Which other forum? xD

abe619 12-31-2010 07:44 AM

i've been thinking....will a bunch of skilled ppl be able to make hand of odd since the A.L.I.V.E² engine has been released on pc?

SpAM_CAN 12-31-2010 03:06 PM

To be honest, I'd be more comfortable just using Source for The Hand Of Odd. It'd be much easier to implement the code for RTS games. Though the newly rigged Oddworld Source Models would be a start (imported from Munch)

Phylum 12-31-2010 03:15 PM

HoO was going to use the original ALIVE2 engine. It wouldn't work with the final Munch engine.

SpAM_CAN 01-01-2011 01:30 AM

:

()
HoO was going to use the original ALIVE2 engine. It wouldn't work with the final Munch engine.

OWI had access to the DLLs and could do what they like with the engine, whereas we don't, which is why i suggest Source or a similar engine.

Manco 01-01-2011 06:16 AM

The engine it's built in doesn't matter, the actual quality of the gameplay does.

Abeguy 01-01-2011 11:42 AM

Can someone right up an easy to follow tutorial on how to import .nif files into blender? I'm talking a computer animation class this next semester, and I feel like it'd be a fun ability to be able to import .nif files.

Manco 01-01-2011 12:08 PM

:

()
Can someone right up an easy to follow tutorial on how to import .nif files into blender? I'm talking a computer animation class this next semester, and I feel like it'd be a fun ability to be able to import .nif files.

One Bing search later: http://niftools.sourceforge.net/wiki/Blender

Abeguy 01-01-2011 12:16 PM

Yeah I tried that, I must have done something wrong, cuz it still didn't work.

SpAM_CAN 01-02-2011 04:03 AM

You searched for it on Bing, thats what you did wrong :3

Manco 01-02-2011 06:04 AM

Well excuse me for liking a well-designed home page that doesn't invade my privacy.

keeperxiii 01-02-2011 04:58 PM

:

()
I'm new with it too, and I haven't got the faintest clue whats wrong. Maybe finding a NIF program from 2000 would be better?

It's my understanding that a old version of Nifskope can work perfectly with these files. It seems that way for most games that use .nif files.

e.g. use an old version, perhaps from 2000 (actually, somewhere in the .nif files should be some information saying which version were these models built on).

I hope I helped.

And, yeah, we need some new textures and models to compete with the graphical superiority of AO.

More crapola from my other post :fuzsmile::

An excerpt from a AI Implementation Document (included in the ai folder):


AI INCLUDES BY CHARACTER TYPE

Updated: 7/13/2001

--------------------------------------------------------------------------------------------------------

About this Document:

This document gives a general description of how AI in Munch's Oddysee is constructed via scripts
written in the language SCRODD, and how to link AI scripts to characters in 3D Studio MAX. Its primary
purpose however is to act as a reference for designers adding SCRODD scripts to their layouts. It lists
all of the scripts that need to be included in the layout file for characters of a specific type to
behave correctly.

--------------------------------------------------------------------------------------------------------

How AI works:

The AI for a character in Munch's Oddysee is composed of numerous scripts which describe the behavior
it should undertake in any given situation. These scripts are written in a scripting language (similiar
to a programming language) named SCRODD. There are three types of scripts necessary to write AI:
the main script, the variables script, and behavior specific sub-scripts. The main AI script describes
the initial behavior for the character when the layout loads, as well as acts as a place to load variables
that are used globally by all the character's scripts. The variables script intializes all of the global
variables loaded in the main script. The behavior specific sub-scripts describe how a character should
behave while undertaking a specific action (i.e. shooting the player). While there is only a single main
and varibles script, there are many behavior sub-scripts. Within them is where the majority of the AI
scripting takes place. For examples of how the scripts are constructed and interact take a look at the
scripts for one of the characters below. The template script for the character represents how the main
script for that character type should be constructed.

--------------------------------------------------------------------------------------------------------

How to include AI scripts in 3D Studio Max:

There are two ways to include AI scripts within 3D Studio MAX: using the Tag Utility, or adding an AI
script include directly to the character.

1.) Using the Tag Utility

Using the Tag Utility is often the best way to add a large number of scripts to a file as it allows
the quickest access to the script include dialog box and doesn't require a character to be in the scene
to add new AI files to it.

1 - With the layout file you wish to add AI to open in 3D Studio MAX, click the Utilities tab in
the upper right corner of the Command Panel (it looks like a tab with a Hammer on it).

2 - Click the button labled TagUtility. (If the button is not there click the More... button first.
Then from the Utilities dialog box that appears select TagUtility. Then click the OK button).

3 - From the Tag Utility rollout which appears, click the Script Includes button.

4 - In the Script Includes Dialog Box that appears click the Add button.

5 - In the Enter Include Script Dialog Box that appears type the name of the file you want to add
(including the relative path from the munch directory).
Example: ./../layout/ai/slig/sligpursueplayer.txt

6 - Click the OK button when finished typing.

7 - Repeat steps 4 - 6 until you have added all the files you wish to include

8 - Click the OK button in the Script Includes Dialog Box to exit the utility and return to editing
in 3D Studio MAX.

2.) Adding Script Includes Directly to a Character

Adding script includes directly to a character is often the best way to add includes when you only
have a few to add or you also need to designate which main script a character is supposed to run at the
same time.

1 - With the layout file you wish to add AI to open in 3D Studio MAX, left click to select the
character you want to add AI to.

2 - Right click the character to bring up the pop-up menu. From the menu choose Tag Properties.

3 - In the character properties dialog box that appears select the behavior tab.

4 - Click the ... button next to the script text box.

5 - In the Script Includes Dialog Box that appears click the Add button.

6 - In the Enter Include Script Dialog Box that appears type the name of the file you want to add
(including the relative path from the munch directory).
Example: ./../layout/ai/slig/sligpursueplayer.txt

7 - Click the OK button when finished typing.

8 - Repeat steps 4 - 6 until you have added all the files you wish to include

9 - Select the script you want the character to have active as its main script.

10 - Click the OK button in the Script Includes Dialog Box to exit the box and return to the
character properties behavior dialog.

11 - In the behavior drop down box select kRunScript. This tells the character to run the script
you have selected in script box.

12 - Click the OK button in the character properties dialog to exit the panel and return to
editing in 3D Studio MAX.

--------------------------------------------------------------------------------------------------------

ABE AI INCLUDES

Template: ./../layout/ai/abe/abebasic.txt

AI Files:

./../layout/ai/abe/abeawaitcommand.txt
./../layout/ai/abe/abedofollow.txt
./../layout/ai/abe/abedowait.txt
./../layout/ai/abe/abedowhatever.txt
./../layout/ai/abe/abefollownonav.txt
./../layout/ai/abe/abesayhello.txt
./../layout/ai/abe/abevariables.txt


BIG BRO AI INCLUDES

Template: ./../layout/ai/bigbro/templates/bb.txt

Sleeping Template: ./../layout/ai/bigbro/templates/sleepingbb.txt

AI Files:

./../layout/ai/bigbro/bbawaitcommand.txt
./../layout/ai/bigbro/bbawake.txt
./../layout/ai/bigbro/bbbeatmudokon.txt
./../layout/ai/bigbro/bbbeatplayer.txt
./../layout/ai/bigbro/bbbs.txt
./../layout/ai/bigbro/bbchallengetarget.txt
./../layout/ai/bigbro/bbdeadplayer.txt
./../layout/ai/bigbro/bbdefensivefire.txt
./../layout/ai/bigbro/bbdesignatetarget.txt
./../layout/ai/bigbro/bbfindjob.txt
./../layout/ai/bigbro/bbfollowplayer.txt
./../layout/ai/bigbro/bbheardnoise.txt
./../layout/ai/bigbro/bbhelpbuddy.txt
./../layout/ai/bigbro/bbhiddentarget.txt
./../layout/ai/bigbro/bbko.txt
./../layout/ai/bigbro/bbmainnonav.txt
./../layout/ai/bigbro/bbnonav.txt
./../layout/ai/bigbro/bbpursueoffscreen.txt
./../layout/ai/bigbro/bbpursueplayer.txt
./../layout/ai/bigbro/bbsayhello.txt
./../layout/ai/bigbro/bbshootoffscreen.txt
./../layout/ai/bigbro/bbshootplayer.txt
./../layout/ai/bigbro/bbtargetplayer.txt
./../layout/ai/bigbro/bbunderattack.txt
./../layout/ai/bigbro/bbvariables.txt

[...]

--------------------------------------------------------------------------------------------------------

END OF DOCUMENT


Here are the programs needed to modify the game's files:

--Image---
DXTBMP -> .dds files (images)
dds2tga -> to convert .dds files (located in the "slatescreens\STORYSTONES" folder)
irfanview -> to view .tga files
Gimp 2 -> to propelly convert .tga files with transparency

-----Audio/video--
audacity -> to convert and edit audio files
format factory -> to convert audio and video files

---------3D modeling-----
Nifskope -> to view, edit and import/export 3D files
Gmax/Blender/whatever -> to create or modify 3D models (to be used with a .nif exporter to export stuff to Nifskope, sorry, forgot the name of the exporter/importer)

---------------Xml/txt/cfg/ini/etc----------
Wordpad or notepad++

//crapola ended

Funny thing, I made a dreamscene wallpaper (a video wallpaper for Win7/vista) with Munch's head and the AO main menu music/sounds. It freaks me out everytime. Actually, I might just do a screensaver out of that! I'll post the wallpaper as a flash projector in 16:9, 16:10 and 4:3 res here in the fan corner later (tomorrow).

SpAM_CAN 01-03-2011 12:33 PM

I think I mentioned about the AI_INCLUDES earlier (or on the Steam Forums, too lazy to check) though I didn't get around to listing all the programs. Could be very useful. Also, the audio files (that aren't in WAV) are used in an old (now free) MS program called DirectMusic. Basically, every sound in the game is actually in a MIDI format, with the instrument loading a WAV. I managed to replace the main menu sounds with A.L.I.V.E I sounds this way :P

keeperxiii 01-03-2011 03:09 PM

:

I managed to replace the main menu sounds with A.L.I.V.E I sounds this way :P
Ahah, awesome! I love those sounds. The Directmusic format was a cool find.

So I guess the audio files are done heh? On to the next thing :)

MeechMunchie 01-04-2011 01:33 AM

:

()
Well excuse me for liking a well-designed home page that doesn't invade my privacy.

Well excuse me for not liking a search engine that was repeatedly found to be censoring search results.

NovaMan 01-04-2011 01:36 AM

So both munch's oddysee and strangers wraith uses tracked/sequenced music?
If you don't know, then drag and drop every file into goldwave to see if it is tracked or not.

Manco 01-04-2011 06:10 AM

:

()
Well excuse me for not liking a search engine that was repeatedly found to be censoring search results.

http://en.wikipedia.org/wiki/Bing_se...nal_censorship
:

This censoring is done based on the local laws of those countries.
Anyway this is starting to get off-topic.


Would it be possible to mod in the Slog/Paramite/Scrab sound files from AO/AE instead of the stock animal sound effects they used?

EDOT: VVV I'm not going to make another post about this, but "used to" is a pretty big qualifying statement. I tested out those search terms myself and there's nothing like what you mentioned, see for yourself: http://www.bing.com/search?q=why+is+...=n&sk=&sc=1-27
Also Google is currently still invading privacy. Bing's censorship is in the past. That seals the deal for me.

MeechMunchie 01-04-2011 07:20 AM

Oh, please. I'm talking about the way it used to push any anti-Microsoft results downwards. Like 'Are Microsoft evil?' or 'Why is Microsoft Word so expensive?'. The first result for the former was 'Why Microsoft is not evil' and the first result for the latter was 'Why are Apple Macs so expensive?', as opposed to the Google results which came back with several pages matching exactly to the search terms.

But yes, off-topic as you say. I'll be quiet now.

keeperxiii 01-05-2011 08:28 AM

:

Would it be possible to mod in the Slog/Paramite/Scrab sound files from AO/AE instead of the stock animal sound effects they used?
I recon yes, even the other directsound files.

Scraby 01-05-2011 09:06 AM

i managed to modify the map properties to add more sligs ;D

keeperxiii 01-05-2011 09:35 AM

:

i managed to modify the map properties to add more sligs ;D
How many could you add before it slows down ;)?

Scraby 01-05-2011 10:06 AM

i added 2 sligs,a big bro,a glukkon and a scrub plus a biting thing (slog) :) and a wheel chair