Multiwinia

Multiwinia

Not enough ratings
Darwinia + Multiwinia: A Guide To Map Making/Modifications
By Smart Fridge AI
This guide will cover everything from how to edit maps on to how to make your own maps. Covering every building type and also including a few unknown buildings. Also covering units and Powerups you can use in your level.

Unfortunatly this is not 100% finished but its enough to help you out with making a map. if you wish to complete the guide you can ask me
   
Award
Favorite
Favorited
Unfavorite
1.0 Getting Started
THIS GUIDE IS STILL A WIP. there is quite a bit of information though

bla bla bla main.dat extract bla bla put pictures and more description into folders thanks


first navigate to your multiwinia folder. this is where multiwinia.exe is is.

then open main.dat with winrar or 7zip or any other archive tool.
you will find a data folder inside. this is where the game loads data from.
navigate to data/levels and extract mp_domination_2P_1.txt - this is the map file i am going to use in this guide.





Then create a folder called "data" and inside that folder create a folder called "levels" and place the extracted map file inside. you should also rename the map file to mp_*.txt (replacing * with whatever you want NO SPACES!)

you may of noticed that the actual data folder is loaded like the datafolder inside the main.dat
however changes are not overwritten so if you extract all of the maps you will have duplicates.

personally i backup main.dat and then remove the levels folder from the one the game uses so there arent any maps in the game except the ones inside my levels folder.




2.0 Darwinia Map Editor
run in windows xp sp2 compatability mode for darwinia to work correcly
the pref edit goes here.

e c t e c t



3.0 Map Files
Map File Layout
Map files can be opened with any text editor. i personally use notepad++ which helps to keep things tidy



also a good feature of notepad++ is the line number.
if your map has an error then there is a chance that a line number will be visible on a crash message, this really helps to find the error.



there are a few sections of a map files which each have their own unique use.
i will cover them all individually with as much info as i can.

please note that map files made in the darwinia map editor are two seperate files.
one including the base map and landscape tiles while the other one "Mission" will hold mission related things. you will need to merge them together for multiwinia




3.1 Map Files: MultiwiniaOptions_
Multiwinia options is usually the first section of a map file. it has all the information into what the map is and what it is scripted to do.

This is the MultiwiniaOptions from the map you extracted. as you can see there are numbers you can change to effect the game. you can also change the gamemode.

MultiwiniaOptions_StartDefinition Name NewLevel GameTypes Domination PopulationCap 2000 DefenderPopulationCap -1 NumPlayers 2 Difficulty intermediate OfficialLevel MultiwiniaOptions_EndDefinition

Everything that can be put in multiwinia options

CoopGroup2Positions (team numbers) < forces team numbers to always be in a group(team2) CoopGroup1Positions (team numbers) < forces team numbers to always be in a group(team1) AttackingTeams (team numbers) < which teams are attacking.
example:
AttackingTeams 1 2
CoopGroup1Positions 0
CoopGroup2Positions 1 2
InvalidCrates
PUT powerups here seperated with spaces
Example: "InvalidCrates Squad Armour AirStrike"
SpecialLighting
lightning soulrain dustwind snow < only choose one. soulrain is glitchy
DefenderPopulationCap
population cap overall -1 = no limit
PopulationCap population cap of the defenders team -1 = no limit LevelOptions (things from below) defendreinforcementoption attackreinforcementoption futurewinianteam airstrikecapturezones noradarcontrol forceradarteammatch attackerreinforcementtype
(powerupname) can also use the cut powerups
defenderreinforcementtype
(powerupname) can also use the cut powerups
defenderreinforcements attackerreinforcements nogunturrets trunkportarmour trunkportreinforcements instantspawnpointcapture nohandicap
Example: " LevelOptions futurewinianteam 0 defenderreinforcementtype dropship trunkportreinforcements 46"

you are completly free to use any of these options in any gamemodes there are no limitations although you can create some weird behavour. you should try creating interesting changes to gameplay or lock things down for a balanced tournament.
3.2 Map Files: Landscape_ WIP
The landscape defines the size and elements of how the landscape in your level will work when added.



This is the Landscape from the map you extracted. this does not actually define the physical landmass

Landscape_StartDefinition worldSizeX 2000 worldSizeZ 2000 cellSize 12.00 outsideHeight -10.00 maxHeight 0.00 landColourFile landscape_silver.bmp wavesColourFile waves_yellow.bmp waterColourFile water_yellow.bmp Landscape_EndDefinition


waterColourFile
wavesColourFile
landColourFile
These three reqiure the name of .bmp files. you can find them in the data folder. you can also add your own
Example:
landColourFile landscape_silver.bmp
wavesColourFile waves_yellow.bmp
waterColourFile water_yellow.bmp

maxHeight
no idea
outsideHeight
no idea
worldSizeZ
size Z (max 65000?)
worldSizeX
size x (max 65000?)
cellSize
size of each individual cell? experiment with this
3.3 Map Files: LandscapeTiles_
This is the landscape tiles from the map you extracted

the XYZ of each individual part of land and the size/height/dim/method of generation/generation seed/ smoothing levels / grid type.
you can edit land by hand by changing these values or you can use the map editor which is an official feature in darwinia.(darwinia does not have all of multiwinas required buildings so you have to do some manual work)



LandscapeTiles_StartDefinition # frac height desired gen lowland # x y z size dim scale height method seed smooth guideGrid # ============================================================================= 25 -4.81 48 1934 0.96 2.87 200 1 110838 1.00 2 AAAAAAAAAAAAAAAAAA 778 0.00 715 484 4.03 1.00 305 1 253686 1.00 0 1301 0.00 18 634 2.40 1.00 91 1 731612 1.00 3 AAAAAAAAAAAAAAAAPPPPPPAAAAAAAAPPPPPPPPPPAAAAAAPPPPPPPPAAAAAAPPPPPPPPAAAAAAPPPPPPPPAAAAAAAAAAPPAAAA 183 0.00 131 634 2.38 1.00 90 1 863365 1.00 3 AAAAAAAAAAAAAAAAAAPPPPPPPPAAAAPPPPPPPPAAAAPPPPPPPPPPPPAAAAPPPPPPPPPPAAAAPPPPAAAAAAAAAAAAAAAAAAAAAA 1311 0.00 660 184 4.03 1.00 226 1 1340007 1.00 0 999 0.00 1603 304 1.20 1.00 49 0 70294 1.00 2 AAAAAAAAAAAAAAAAAA 1285 0.00 896 634 2.40 1.00 91 1 731612 1.00 3 AAAAAAAAAAAAAAAAAAPPPPAAAAAAAAPPPPPPPPPPAAAAPPPPPPPPPPAAAAPPPPPPPPPPAAAAAAPPPPPPAAAAAAAAAAPPPPAAAA 313 0.00 1070 634 2.40 1.00 91 1 731612 1.00 3 AAAAAAAAAAAAAAAAAAPPAAAAAAAAAAPPPPPPPPAAAAPPPPPPPPPPAAAAAAPPPPPPPPPPAAAAPPPPPPPPPPAAAAPPPPPPPPAAAA LandscapeTiles_EndDefinition



sometimes there are long letter combinations after lines. sometimes there are not. not sure of what they are.
3.4 LandFlattenAreas_
This is the landflattenareas from the map you extracted
it is empty. its not a required part of the map. it basically creates a flat square part of land which will overwrite the terrain it is ontop of. useful for buildings if you dont want them on hills
LandFlattenAreas_StartDefinition # x y z size # ========================== LandFlattenAreas_EndDefinition

you can change the size and the position of them. like landscapetiles but really basic.
these are added with the darwinia map editor

3.5 Map Files: Lights_
lights... does what it says on the tin. lights up your level.

XYZ positions and RGB colours.
if there are no lights then it should default to being super bright

this is the lights code from the map you extracted
Lights_StartDefinition # x y z r g b # ========================================= -0.75 0.44 0.50 0.85 0.85 0.85 -0.99 0.00 0.15 1.19 0.72 0.50 Lights_EndDefinition
3.6 Map Files: Buildings_
buildings are a main part of multiwinia levels.
since the buildings section is huge i cant paste the one from the level you extracted.

i will create a made up example for this guide so you can understand how the base building types are used.

(the positions arent changed as this is not made to be a playable level. just an example of how the format works)
Buildings_StartDefinition # Type id x z tm rx rz isGlobal # ========================================================================== SpawnPointMaster 0 1155.33 1751.89 255 1.00 0.00 1 1 2 SpawnLink 1 1019.57 1633.87 255 1.00 0.00 0 3 4 SpawnLink 2 1019.57 1633.87 255 1.00 0.00 0 5 6 #spawns SpawnPoint 3 580.28 1530.51 0 0.41 -0.91 0 SpawnPoint 4 580.28 1530.51 1 0.41 -0.91 0 SpawnPoint 5 580.28 1530.51 2 0.41 -0.91 0 SpawnPoint 6 580.28 1530.51 3 0.41 -0.91 0 #model StaticShape 7 188.73 728.45 255 -0.90 -0.43 0 1.00 rockhead.shp #ai targets AITarget 8 602.17 1461.32 255 1.00 0.00 0 -1 0.00 0 Buildings_EndDefinition

# Type id x z tm rx rz isGlobal
type = the building name
id = the id of the building, you order these yourself. starting from 0 going upwards. ids have to be unique to each line. if you have 2 buildings with the same id the game will crash and tell you.
X,z = position
TM = Default team 255 = none 0-3 for player teams 4 for evils and 5 for futures.
RX RZ = rotation X and rotation z
isglobal = Somethings require this to be set on

There are also some additional numbers after buildings which connect to eachother.these are building id's of other buildings which the building connects to. you can see this happening with the masterspawn > spawnlinks > spawnpoints.



Map Files: Building Types
These are all the building types:



Triffid


Example of one which shoots nothing:
Triffid 49 10555.7911310.391 -1.00 -0.06 0 1.35 0.60 262.29 0.00 55.51 0 0.00 0.00 100.60 0 0 0 0 0 0 0



The 0 0 0 0 0 0 0 are a table like structure with togglable 0's and 1's

Virii Centipedes spider spirits egg triffideggs darwinians =================================================================== 0 0 0 0 0 0 0

You can edit these in the darwinia level editor with a menu:








(i will probably update this in the future to have examples for all)
3.7 Map Files: CameraMounts_
where the cameras start for each player
Give a professional finish to your map by making the player camera start near their start spawn :D


Here is the mounts from the map you extracted
CameraMounts_StartDefinition # Name Pos Front Up # ========================================================================= player0 351.93 477.44 1938.26 0.51 -0.53 -0.68 0.31 0.85 -0.42 player1 1959.84 489.34 1438.72 -0.73 -0.50 -0.46 -0.43 0.87 -0.26 CameraMounts_EndDefinition

change the location and where they face. never messed with these myself but you should do this if you are releasing your map to the public!

3.8 Map Files: InstantUnits_
Instant units are units which are created on map load.
Instant units are not limited to darwinians. they can be any creature / thing in the game.
You can make any creature have a team even soul destroyers. :)



this is the instantunit section from the map you extracted
InstantUnits_StartDefinition # Type team x z count inUnit state spread waypointX waypointZ routeId runAsTask # ================================================================================== Darwinian 0 606.7 1448.7 30 0 -1 50.0 0.0 0.0 -1 -1 0 Darwinian 1 1589.4 1206.3 30 0 -1 50.0 0.0 0.0 -1 -1 0 Darwinian 0 459.5 446.7 15 0 -1 56.0 0.0 0.0 -1 -1 0 Darwinian 1 1681.5 365.0 15 0 -1 56.0 0.0 0.0 -1 -1 0 InstantUnits_EndDefinition





Here is an uncomplete list of exampes
TM = TEAM
X,Z = Position
IU = InUnit ( keep 0 for most things. some require 1 like centipedes)
state = -1 keep it that way
WPX/WPZ waypoint x and z
RID = routeid (for the route definition file)
RAT = Run as task. something something darwinia?

every examples team is "1" just so you dont get confused

#TYPE TM X Z COUNT IU State Spread WPX WPZ Rid RAT #============================================================= Darwinian 1 1098.1 1861.0 10 0 -1 42.9 0.0 0.0 -1 -1 Centipede 1 807.95 891.89 99 1 -1 42.9 0.0 0.0 -1 -1 Virii 1 807.95 891.89 5 0 -1 42.9 0.0 0.0 -1 -1 Squadie 1 807.95 891.89 5 1 -1 42.9 0.0 0.0 -1 -1 SporeGenerator 1 807.95 891.89 1 1 -1 42.9 0.0 0.0 -1 -1 Spider 1 807.95 891.89 5 0 -1 42.9 0.0 0.0 -1 -1 Tank 1 807.95 891.89 1 0 0 42.9 0.0 0.0 -1 -1
3.9 PrimaryObjectives_
This can do something with scripts. im not sure of how the scripts target it but something happens


????
PrimaryObjectives_StartDefinition
BuildingOnline :sandbox,2
PrimaryObjectives_EndDefinition
3.10 Map Files: Routes_
Instant Units can have these specified for where they should go. eg a patrol route.

Example Soon
3.11 Map Files: Script Triggers
Script triggers are things that trigger scripts.
Scripts are .txt's located in data/scripts


Example of a script file
examplescript.txt
TriggerSound cutscene1 Say example_script_text_1
This script when triggered will say "example_script_text_1" and play the sound "cutscene1"
Language file will transform example_script_text_1 into what you set it. i guess you can use regular text but then its not automatically translated if you put it in different languages... also issues can occur.



script triggers fit in the buildings_ section
Example of a script trigger

# Type id x z tm rx rz isGlobal #========================================================================== ScriptTrigger 0 1168.46 1590.82 1 1.00 0.00 0 -1 100.00 examplescript Darwinian
The "Darwinian" part is saying what can trigger the script. the 100.00 is the radius if i remember correctly. you may need to add .txt on to the script name. team might define which team can trigger it. 255 would be all or none :s
Multiwinia.txt (gamemodes)
only the first 5 are unlocked

validones:

sandbox

broken ones:
chess (empty world)

crashes
none
Sounds.txt
sounds.txt controls the sounds and the effects but also on which events the sound plays.
you can add additional ambiences to the main menu with this and also add other sounds else where.
you can also define music (.ogg files) to be used in scripts

Incomplete event list:
CREATE
BEGIN
DIE
ATTACK




example of the darwinia attack entry
EVENT Attack SOUNDNAME 0lasers SOURCETYPE 1 POSITIONTYPE 1 INSTANCETYPE 0 LOOPTYPE 0 TEAMMATCHTYPE 0 MINDISTANCE 100.00 VOLUME PARAMETER TypeFixedValue 8.10 UpdateConstantly FREQUENCY PARAMETER TypeRangedRandom 0.93 1.03 0.00 UpdateConstantly END
6 Comments
me when i 29 Sep, 2024 @ 4:15pm 
I know this game and guide are old asf but the info that you were able to put in is still very useful. It breaks my heart the the PDX Multiwinia forums have been taken over by spam posts and Russian bots, but at least there's still some good info here :bigups:
Smart Fridge AI  [author] 23 Jul, 2019 @ 12:45am 
Invalid crates list items that will be excluded from appearing in crates
dave 22 Jul, 2019 @ 10:32pm 
Hi,

i just wanted to ask: What does Invalid Crates do?
Smart Fridge AI  [author] 18 Apr, 2018 @ 9:58am 
Darwinian *TEAM0-3?* *XCOORD* *YCOORD* *COUNT* 0 -1 *RANDOM SPREAD DISTANCE* 0.0 0.0 -1 -1

Just a can of Dr. Pepper 15 Apr, 2018 @ 12:46pm 
I just want to have big big battles on any map but I don't know how to do that?:steamsad:
rusticc2 19 Nov, 2016 @ 12:21am 
Thank you! Very helpful!