Welcome to
Mod The Sims
Online: 1801
News:
Have an account? Sign in:
pass:
If you don't have an account, why not sign up now? It's free!
Other sites: SimsWiki
Reply  Replies: 77 (Who?), Viewed: 80562 times.
Search this Thread
Old 28th Mar 2005, 9:59 PM DefaultTutorial: How to make a new buyable videogame #1
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Since I made the “Halo 2” videogame, I’ve received several messages asking how I did it. So, I decided to write this tutorial.

This tutorial will explain how to make a new buyable videogame that won’t replace any of the already existing games.

You need SimPE (current version is 0.33). I assume that you have an average familiarity with SimPE and the usual cloning procedure.

Part 1: Creating the new videogame

1. Clone one of the original videogames: “SSX3”, “SimCity 4”, or “The Sims Bustin’ Out”. You can find them in OW under the tab Grouped Objects, Others.

http://forums.modthesims2.com/attac...tid=46842&stc=1

Note: Don’t clone the game “The Urbz”, since its package is really a bundle: it contains the display rack, the configuration settings file and the movies.

2. Give new unique GUIDs to the two objects in the new package: the videogame and the videogame rack. Take note of these new GUIDs.

http://forums.modthesims2.com/attac...tid=46843&stc=1

3. Change the reference to the old GUIDs in the behaviour functions.

You have to change the operands in the following beahaviour and instruction:

- behaviour function "CT - Get", instance 0x00001004:

line 0, "Create New Object Instance"

Write in the first 4 positions of the operands the new videogame GUID with the bytes in reverse order. For instance, for the GUID 0xEC142D00 you write 002D14EC.

http://forums.modthesims2.com/attac...tid=46844&stc=1

4. Select Text Lists, Material Names. There are 8 material names corresponding to 8 movies:

0 – vgs_...: corresponds to the first movie that will be played when the video is started.
1 – vgs_..._attract: corresponds to the short movie with the game logo.
2 – vgs_..._intro: corresponds to the game's intro.
3 – vgs_..._1playerbad: corresponds to the movie that will be played when there's only one player with bad playing skills.
4 – vgs_..._1playergood: corresponds to the movie played when there's only one player with good playing skills.
5 – vgs_..._2player1wins: corresponds to the movie played when there are two players and player 1 wins.
6 – vgs_..._2player2wins: corresponds to the movie played when there are two players and player 1 loses.
7 – vgs_esrb_e: corresponds to the movie with the ESRB rating.

What you really see in place of the … above will depend on the original game cloned.

Now you have to change the names of the materials:

i) If you want the game to play a different movie when it starts give a new name to material 0. Follow the naming convention used and replace the … with the name of your choice. For instance, for "Halo 2" I changed this material name to vgs_bungie_games, corresponding to the movie with the Bungie logo.

ii) For materials 1-6 you have to replace whatever name appears in the place of the … above (ssx, sc4 or bus) with the name of your new videogame. In my case, that was halo2.

iii) As for material 7, you can also replace it if you want your game to have a different ESRB rating. You can use any of the ratings originally provided by Maxis: vgs_esrb_e, vgs_esrb_rp, vgs_esrb_t.

Take note of the new names you gave to the materials. You will need them in Part 4.

Also, don’t forget to “change in all” before committing!

http://forums.modthesims2.com/attac...tid=46845&stc=1

5. Re-texture the new videogame appropriately and change the catalog description.

You’re done with the videogame! Now, you have to create the display racks to sell the new videogame.
Screenshots
Click image for larger version

Name:  cloning.jpg
Views: 1873
Size:  64.0 KB   Click image for larger version

Name:  GUIDs.jpg
Views: 1834
Size:  72.0 KB   Click image for larger version

Name:  behaviours.jpg
Views: 1808
Size:  81.8 KB   Click image for larger version

Name:  materials.jpg
Views: 1778
Size:  80.1 KB  
15 users say thanks for this.
[ Click here to view a longer list ]
Old 28th Mar 2005, 11:13 PM #2
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Part 2: Creating the display racks

I. Creating the freestanding display

1. Clone the Freestanding Game Display. You can find it in OW under the tab Grouped Objects, General.

http://forums.modthesims2.com/attac...tid=46870&stc=1

2. Give new unique GUIDs to the three objects in the new package: the main display and its two parts. Take note of the new GUID for part B.

http://forums.modthesims2.com/attac...tid=46871&stc=1

3. Change the reference to the old GUIDs in the behaviour functions.

You have to change the operands in the following beahaviour and instruction:

- behaviour function "CT – Set Selection", instance 0x00001006:

line 10, "Test Object Type"

Write in the first 4 positions of the operands the new GUID for part B of the display in reverse order.

http://forums.modthesims2.com/attac...tid=46874&stc=1

4. Make the new videogame available for purchase.

You have to edit some of the behavs so that your Sims can buy the new videogame from the display.

i) Select behaviour function "CT – Set Selection", instance 0x00001006. Append the following instructions to the end of this bhav, replacing “GUID” with the new GUID you gave the videogame rack (not the videogame itself!) in Part 1, step 2 (with the bytes reversed, as usual):

http://forums.modthesims2.com/attac...tid=46875&stc=1

In the same bhav, go to line D, “Array Operation”, and change the True Target to point to the new instruction 11.

The effect of these modifications will be to add the new videogame to the dialog that appears when you choose “buy” in the display’s pie menu.

To make things easier, I’ve attached to this post the modified bhav. Replace the bhav in your package with this one. Then, replace in lines 12 and 16 the GUID with your own videogame rack GUID.

http://forums.modthesims2.com/attac...tid=46876&stc=1

http://forums.modthesims2.com/attac...tid=46877&stc=1

ii) Select behaviour function "Make game/place in hand", instance 0x0000100A.

In instruction 6, “Create New Object Instance”, replace the first 4 bytes in the Operands with the new GUID you gave the videogame (the videogame itself!) reversing, as usual, the order of the bytes.

http://forums.modthesims2.com/attac...tid=46878&stc=1

iii) You will now have to import and change the semi global bhavs “Interaction - Buy - VG/Mag” and “VGR - Create Game OOW” from the ShopingRackGlobals file. To make things easier for you I’ve attached to this post these two functions with the necessary modifications. You only have to add them to your package. Then, select the new bhav “Create Game OOW”, instance 0x0000100E, and do the following:

- in line 9, “Test Object Type”, write in the first 4 bytes in the Operands your videogame rack GUID.
- in line A, “Create New Object Instance”, write in the first 4 bytes in the Operands your videogame GUID.

http://forums.modthesims2.com/attac...tid=46879&stc=1

http://forums.modthesims2.com/attac...tid=46880&stc=1

iv) Finally, select Pie Menu Functions, Magazine Rack. Select the 2nd interaction, “0x01: Buy” and change the action to 0x100D.

http://forums.modthesims2.com/attac...tid=46881&stc=1

5. Re-texture the new display so it shows the new videogame case and change the catalog description.
Screenshots
Click image for larger version

Name:  cloning2.jpg
Views: 1725
Size:  66.8 KB   Click image for larger version

Name:  GUIDs2.jpg
Views: 1716
Size:  73.3 KB   Click image for larger version

Name:  behaviours2.jpg
Views: 1689
Size:  75.0 KB   Click image for larger version

Name:  table.jpg
Views: 1673
Size:  82.3 KB   Click image for larger version

Name:  behaviours3.jpg
Views: 1648
Size:  75.6 KB   Click image for larger version

Name:  behaviours3a.jpg
Views: 1644
Size:  76.8 KB   Click image for larger version

Name:  behaviours4.jpg
Views: 1607
Size:  76.4 KB   Click image for larger version

Name:  behaviours5.jpg
Views: 1585
Size:  76.4 KB   Click image for larger version

Name:  behaviours5a.jpg
Views: 1574
Size:  75.6 KB   Click image for larger version

Name:  piemenu.jpg
Views: 1566
Size:  73.1 KB  
Download - please read all instructions before downloading any files!
File Type: zip CD-CT-SetSelection.zip (446 Bytes, 311 downloads) - View custom content
File Type: zip CD-semiglobalbhavs.zip (779 Bytes, 279 downloads) - View custom content
Old 28th Mar 2005, 11:38 PM #3
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


II. Creating the countertop display

The procedure for creating the countertop display is similar to the procedure just described.

1. Clone the Countertop Game Display. You can find it in OW under the tab Grouped Objects, General.

2. Give a new unique GUIDs to the single object in the new package.

3. Make the new videogame available for purchase.

i) Select behaviour function "CT – Set Selection", instance 0x00001009. Replace it with the bhav I’ve attached to this post. Then, replace in lines 11 and 15 the first 4 bytes of the Operands with your own videogame rack GUID (with the bytes reversed).

ii) Select behaviour function " Make game", instance 0x00001008. In instruction 6, “Create New Object Instance”, replace the first 4 bytes in the Operands with the new GUID you gave the videogame, reversing, as usual, the order of the bytes.

iii) Add to the package the 2 semi global bhavs attached to this post. Then, select the new bhav “Create Game OOW” and do the following:

- in line 9, “Test Object Type”, write in the first 4 bytes in the Operands your videogame rack GUID.
- in line A, “Create New Object Instance”, write in the first 4 bytes in the Operands your videogame GUID.

iv) Finally, select Pie Menu Functions, videogame rack counter. Select the 2nd interaction, “0x01: Buy”, and change the action to 0x100D.

4. Re-texture the new display so it shows the new videogame case and change the catalog description.
Download - please read all instructions before downloading any files!
File Type: zip counter-CT-SetSelection.zip (434 Bytes, 188 downloads) - View custom content
File Type: zip counter-semiglobalbhavs.zip (779 Bytes, 166 downloads) - View custom content
Old 28th Mar 2005, 11:43 PM #4
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Part 3: Producing the movies for the playing interactions

You have to produce 6 movies for the playing interactions:

- …_attract.avi - a short movie with the game logo;
- …_intro.avi - the game's intro;
- …_p1win.avi - the movie that will be played when there's only one player with good playing skills;
- …_p1lose.avi - the movie played when there's only one player with bad skills;
- …_p2win.avi - the movie played when there are two players and player 1 wins;
- …_p2lose.avi - the movie played when there are two players and player 1 loses.

The … above stands for your videogame name.

The movies should have a size no greater than 128x128 and a maximum frame rate of 15 fps. For the other settings, you can try different configurations and find the one that works best for you.

As for the movies duration, I worked on a trial and error basis. The first 2 movies are quite short (none of them should exceed 7 sec). The others I suppose can be as long as you want because the game will just play the movie for the duration of the interaction. If the movie is too short I think the game will play it again from the beginning (I'm not sure of this). For “Halo 2”, the duration range is 2-7 min.

Now, you must create a new folder in $INSTDIR\TSData\Res\Movies\Games, where $INSTDIR stands for TS2 installation directory (it will be “C:\Program Files\EA Games\The Sims 2” by default), and put there the 6 movies. Give the new folder the name of your videogame.

If you also make a movie to be played when the game starts (with the logo of the videogame’s editor or creator) put it in the folder $INSTDIR\TSData\Res\Movies\Games\esrb.
Old 28th Mar 2005, 11:48 PM #5
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Part 4: Writing the configuration settings files

You’re almost done! You just need to establish the correspondence between the material names used internally by the videogame and the movies in the computer. That is, you need to “tell” the game what movies to play and where to find them. For that, you use configuration settings files.

Go to the folder $INSTDIR\TSData\Res\Movies\Games\INI. Copy one of the configuration settings file already there and rename it with your videogame’s name (keeping the file extension .ini). Let’s say, for instance, that you choose to copy the file sc4.ini and your videogame’s name is halo2. Then you should rename the file copy halo2.ini. Then, open this file and replace all the occurrences of the original videogame’s name (sc4 in the example) with your videogame’s name (halo2 in my example). Also, change the extension of the files found on the different sections from .movie to .avi.

If you renamed the material name 0 in Part 1, step 4 (that is, if your videogame will play a custom movie when it starts), then you also have to change the configuration settings file esrb.ini, found in the same folder. Open it and do the following:

1. In the beginning of the file you find the Broadcasts section. It will look something like this:

[Broadcasts]
0=vgs_ea_games
1=vgs_esrb_e
2=vgs_esrb_rp
3=vgs_esrb_t

Now, at the end of this section add the internal name you used in the videogame package for material 0. In the case of “Halo 2”, I wrote:

[Broadcasts]
0=vgs_ea_games
1=vgs_esrb_e
2=vgs_esrb_rp
3=vgs_esrb_t
4=vgs_bungie_games

2. Now, go to the end of the file and append a new section named after the internal variable referred above. This new section is identical to the others you see in the file that are related to the internal names used by the original videogames. The only difference will be the section’s name and the value of the “File” tag. This value must be the name of the movie corresponding to material 0. For “Halo 2”, I wrote:

[vgs_bungie_games]
IsGames=1
Folder=Games/esrb
File=bungiegames.avi

and, in the end, the esrb.ini file looked like this:

[Broadcasts]
0=vgs_ea_games
1=vgs_esrb_e
2=vgs_esrb_rp
3=vgs_esrb_t
4=vgs_bungie_games

[vgs_ea_games]
IsGames=1
Folder=Games/esrb
File=eagames.movie

[vgs_esrb_e]
IsGames=1
Folder=Games/esrb
File=esrb_e.movie

[vgs_esrb_rp]
IsGames=1
Folder=Games/esrb
File=esrb_rp.movie

[vgs_esrb_t]
IsGames=1
Folder=Games/esrb
File=esrb_t.movie

[vgs_bungie_games]
IsGames=1
Folder=Games/esrb
File=bungiegames.avi
Last edited by raquelcesar : 29th Mar 2005 at 12:23 AM.
Old 29th Mar 2005, 12:13 AM #6
atavera
Lab Assistant

Join Date: Oct 2004
Posts: 108
Thanks: 3368 in 5 Posts
13 Achievements


Great tutorial! I just wanted to add a little shortcut for the GUIDs that I found when I did this for a magazine rack.

1:In notepad, write down all the original GUIDs, along with the new GUIDs
2:After importing your semis, export all the BHAVs in your package and delete them.
3:Make a new empty package, import your BHAVs, and save it.
4:In a hex-editor, use "Find and Replace" to replace the original GUIDs with the new ones, and save.
5:Open the package you just saved in the hex-editor, and export the new BHAVs.
6:Open your videogame/magazine rack package(should be clear of BHAVs), and import the fixed ones.

I like this way, because I know for sure that I didn't forget or miss some GUID references.
Old 29th Mar 2005, 12:38 AM #7
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Thanks, atavera! That’s a very useful trick!
Old 30th Mar 2005, 6:06 AM #8
true_predator
Test Subject

Join Date: Sep 2004
Posts: 4


Thanks so much.... and that is a very nice trick atavera
Old 30th Mar 2005, 5:30 PM DefaultCool #9
Nukael
Instructor

Join Date: Sep 2004
Posts: 487
Thanks: 8140 in 167 Posts
15 Achievements


Yay! This is so cool. But I'd also like to replace the default SSX3 game the Sims play when they don't buy any other games, so that not only there's another video playing (already did that), but let the pie menu say another name as well.
Any tips on how doing this? Thanks!

This space intentionally left blank...
Old 31st Mar 2005, 6:04 PM #10
Jetdude14
Test Subject

Join Date: Nov 2004
Posts: 16


what did you use raquel, to make the installation setup? just asking!
Old 2nd Apr 2005, 8:51 PM #11
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Quote:
Originally Posted by Jetdude14
what did you use raquel, to make the installation setup? just asking!


I used an installer I downloaded from the Internet: Nullsoft Scriptable Install System. It has an open source license and so is completely free for any use. You can find it here:

http://nsis.sourceforge.net/

It’s script based but is really simple to use because it comes with a series of templates.
Old 2nd Apr 2005, 9:10 PM #12
Guest

Posts: n/a


Looks good! Well done.
Old 2nd Apr 2005, 10:41 PM #13
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Quote:
Originally Posted by Nukael
Yay! This is so cool. But I'd also like to replace the default SSX3 game the Sims play when they don't buy any other games, so that not only there's another video playing (already did that), but let the pie menu say another name as well.
Any tips on how doing this? Thanks!


You'll have to hack the original SSX3 game to change its name in the "Catalog Description". Its the first string there, number 0.
Old 3rd Apr 2005, 8:28 AM #14
Nukael
Instructor

Join Date: Sep 2004
Posts: 487
Thanks: 8140 in 167 Posts
15 Achievements


Thanks for the info, I tried it in the original objects.package file, also tried cloning the object, but didn't work. Oh well, thanks anyway :-D
Old 3rd Apr 2005, 2:15 PM #15
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


Nukael, try the following:

1. Extract the "Catalog Description" file for the SSX3 videogame. You can accomplish this in 2 different ways:

i) Clone the SSX3 object in SimPE with all the options unchecked. You can find it in OW under the "Grouped Objects" tab, "Others". It has group number 0x7FFD89DB. Then, extract the "Catalog Description". Don’t save the cloned package!

ii) Open objects.package in SimPE. Locate the "Catalog Description" for SSX3 and extract it. It has group number 0x7FFD89DB and instance number 0x000007D0.

2. In SimPE, create a new file with "Index Type" long. Import the "Catalog Descripion" you just extracted.

3. Change the 1st string in the imported "Catalog Description" to the name of your choice. Don’t forget to “change in all” before committing.

4. Save the package in your downloads folder (give it a unique name).

5. Run the game and play the videogame.

It works! I've just tried it!
Old 3rd Apr 2005, 5:12 PM #16
Nukael
Instructor

Join Date: Sep 2004
Posts: 487
Thanks: 8140 in 167 Posts
15 Achievements


IT WORKS!! WOOHOO!! Er... well, not Sim woohoo ofcourse! Thank you SOOOO much!! Maybe now I can try my hands on creating my own games. YAY YAY YAY... *goes letting his Sims die while playing Mario Kart: Double Dash*
P.S.: did I say thank you?
Old 4th Apr 2005, 11:51 AM #17
Jetdude14
Test Subject

Join Date: Nov 2004
Posts: 16


O Great mods of MTS2, you need to move this.. to the modding tutorials!
Old 9th Apr 2005, 4:51 AM #18
hypeserver
Test Subject

Join Date: Apr 2005
Posts: 12


can you make a easier tutorial? or do I a young kid have to suffer with only one new uploaded videogame trust me i can do this it will just take me 5 years......
Old 9th Apr 2005, 3:00 PM #19
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


hypeserver, what can I say? Creating a new videogame is an inherently difficult process…

Why don’t you let me know the parts that you have more trouble understanding? I can then try to rewrite those parts to make them easier to follow.
Old 18th Apr 2005, 2:19 PM #20
hypeserver
Test Subject

Join Date: Apr 2005
Posts: 12


in step 3 part 1 when it says write the first four positions i need more info to kinda get how it would equal that code or at least explain it to me
Old 19th Apr 2005, 12:34 AM #21
raquelcesar
Original Poster

Lab Assistant

Join Date: Dec 2004
Posts: 174
Thanks: 1592 in 10 Posts
12 Achievements


hypeserver, in Part 1, step 2, you gave a new GUID to the videogame, right?

That GUID is composed of 8 digits. Let’s say it is 0x12345678. Group them in groups of two, like this: 12 34 56 78. Now, write the number reversing the order of the groups: 78 56 34 12. That’s the number you have to write in the first fours positions of the Operands (signalled in red in the figure) overwriting the numbers already there. In the end, you will have this:

Operands: 78 56 34 12 02 00 00 00
Unknown: 00 00 00 00 00 00 00 00

In the figure you see just an example, for GUID 0x0xEC142D00 (the GUID for Halo 2).

After doing this modification, click the button “Commit File” and save the package.

Hope I was clear enough.
Old 18th May 2005, 11:24 PM #22
lilibat
Test Subject

Join Date: Jan 2005
Posts: 8
Thanks: 100 in 1 Posts
3 Achievements


Does the 'fun' come from the object it's being played on or the game itself? Can it come from the game?

I thought it would be cool to make an RTS and have it up fun and logic or an MMO for fun and social.

~gamer geek goth girl
313
Antimony & Lace
Old 23rd Jul 2005, 4:20 PM #23
Biya6639
Test Subject

Join Date: Jun 2005
Posts: 11


Hey Sorry I'm newbie for this. how to re-texture the VDO game???
Old 23rd Jul 2005, 8:18 PM #24
dude
Test Subject

Join Date: Jun 2005
Posts: 13


cool!!!!
Old 17th Aug 2005, 1:51 AM #25
phat_man55
Instructor

Join Date: Feb 2005
Posts: 393
Thanks: 391 in 5 Posts
5 Achievements


i've never heard of the esbr ratings on the games? does it just stop the youngins from buying the games?

also, what is a hex editor that avertea was talking about?
Last edited by phat_man55 : 17th Aug 2005 at 1:56 AM.
Reply


Section jump:


Powered by MariaDB Some icons by http://dryicons.com.