Jump to content

Recommended Posts

Posted

A proprietary game engine I got curious about is the Vicious Engine, by Vicious Cycle Software.

It's mostly in games from the mid to late 2000s and nobody ever thought to do a deep look into it.

The thing that doesn't help is that internally, all the file names are just random letters and numbers, though there are folders that are actually labelled. Here's my guesses to what these folders mean

 

Configurations (.cfg) - likely some code for the engine

EntityTemplates (.et) - elements like characters and items

Games (.gam) - unknown

LoadingScreens (.ls) - Loading screens, self explanatory

Maps (.map) - Levels, also self explanatory

Regions (.rgn) - Regional variations of in-game text

Sounds/VoiceOvers (.str) - Music & Sound effects respectively

.loc files - Localized versions of any given element

 

I sent a few of these file types from one of their games (Ben 10: Galactic Racing) 

Vicious Engine Files.zip

Posted

hello Ben 10 Galactic Racing ps3/xbox 360/Wii map/.et_decomp file models And textures Noesis Scripts yes Level and characters What ModelResearcher
Monkey Bar Games and Vicious Cycle Software Durik256 and joker.production360 ben 10 omniverse

  • Confused 3
  • 2 months later...
Posted

Hello!

I am interested in extracting the audio files from this game, and wanted to know if you, or anyone else figured out how to do so.

Any information would be appreciated. Thanks!

  • 5 months later...
Posted

Hey!

I've been exploring this engine, despite its mostly unknown presence.

Earth Defense Force: Insect Armageddon was released for the xbox 360 with this engine and I cant for the life of me get the sound effects for it. the only audio files I could find were the music and dialogue. I managed to get them out by using audacity and importing them as raw data. but those are the only .str files in the entire games directory.

i've attached one of the songs but i had to zip it. it wont open with VGMstream, I suspect that's because its a pc port of the game

I suspect they were built into the .exe so I opened it up in a hex editor, and you can find code snippets along with code comments mixed with chunks of random characters. very confusing stuff. if you've found anything else out about this it would help a bunch. Thanks.

64BA4B586A8F6FD3.zip

  • 2 weeks later...
Posted

Hi all!

I've been reverse engineering this engine on and off for a while now (specifically the engine for Spy vs Spy 2005). I'm assuming there wasn't major changes over the years, here is some potentially useful info.

Custom File Format

The game is actually fully programmed in the custom files described above (the engine itself doesn't have any game logic). Custom files are all serialized the same way, which is a series of versioned nested nodes that define objects/fields (in the 2005 engine, there's ~400 object types). The first reference to an object initialized it. These objects are everything from entities, meshes, textures, etc. The raw data often matches a standard format for the console (for xbox: textures are mostly mipmaps of A8/DXT images and audio is ADPCM). 

To put this in context, here is what you might have to do to go get a texture (assuming the first instance is being referenced by the script that fires when the map loads):

.map file
-> FileObject - field: object
-> MapObject - field: onMapStart
-> ScriptNode - field: children
-> SpawnActionNode - field: entity
-> Entity - field: materials
-> Material - field: texture
-> Texture - field: color_buffer

TL; DR, it's quite hard to reverse engineer the custom file formats without deep understanding of the engine.

My Research

I made a GitHub org that has all my work: https://github.com/vicious-rebirth

Currently, all the repos are private because I'm trying to figure out the best way to release without getting a cease and desist (I think Little Orbit still owns the engine and there's some algos that are patented by MS). This said, I'll try to release my web tool on GitHub page for extracting assets (mileage will vary). I can give read access to anyone interested.

Useful Videos

Vicious Engine Demo (a good summary of the features from the devs)

Vicious Engine Tutorial (a partial series of tutorials of how to use the engine - useful to understand the various types of objects)

Extract Model (a preview of a model I extracted for proof)

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...