View Single Post
  #1  
01-02-2011, 04:11 PM
keeperxiii's Avatar
keeperxiii
Fuzzle
 
: Jan 2011
: Portugal
: 140
Rep Power: 14
keeperxiii  (15)
Question Munch's Oddysee mods

Hey y'all. This is my first post so, well, hello.

Forgive me if this was already discussed here in the forums since I'm new here .

On inspection of Munch's folder I've noticed that the game is immensely moddable. I still haven't found any thread regarding this and I think this is a huge gold mine.

Pic showing the moddable files (warning: it's 1mb in size.):
http://img814.imageshack.us/img814/327/17021620.jpg

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




And that's pretty much it. I think this deserves some attention

May I also be bold enough to ask for a sticky if there isn't any other Munch modding thread here? (the reason I'm posting this)
Reply With Quote