<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Gamedev%3AStructure</id>
	<title>Gamedev:Structure - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Gamedev%3AStructure"/>
	<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:Structure&amp;action=history"/>
	<updated>2026-04-21T02:45:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:Structure&amp;diff=646&amp;oldid=prev</id>
		<title>Qrow: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:Structure&amp;diff=646&amp;oldid=prev"/>
		<updated>2025-11-14T05:21:28Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:21, 13 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:Structure&amp;diff=645&amp;oldid=prev</id>
		<title>Interwiki&gt;Eronoobos: /* root of game folder */</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:Structure&amp;diff=645&amp;oldid=prev"/>
		<updated>2016-04-07T21:41:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;root of game folder&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Game Structure =&lt;br /&gt;
== .sd7 or .sdz ==&lt;br /&gt;
&lt;br /&gt;
A mod is presented as an [[sd7]] or sdz file.  This is just a zip file of the individual files comprising the game.&lt;br /&gt;
&lt;br /&gt;
You can unzip the sd7 or sdz file by renaming it to .zip, and using a zip tool to unzip it.&lt;br /&gt;
&lt;br /&gt;
sd7 / sdz files are created using 7zip.&lt;br /&gt;
&lt;br /&gt;
== .sdd directories ==&lt;br /&gt;
You can avoid using the archives altogether by storing the whole mod directory structure in an .sdd directory. This is useful for game development because the changes you make are visible without any additional step.&lt;br /&gt;
&lt;br /&gt;
On Linux one can also symlink the development directories from the Spring&amp;#039;s mod directory:&lt;br /&gt;
  ln -s ~/projects/caspring/games/zk ~/.spring/games/zk.sdd&lt;br /&gt;
&lt;br /&gt;
== Directory Structure ==&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;root of game folder&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;===&lt;br /&gt;
&lt;br /&gt;
[[Modinfo.lua]] and can also contain [[Modoptions.lua]], [[AI:Development:Lang:Lua|LuaAI.lua]], and [[springignore.txt]]&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;anims\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
image files for [[MouseCursors|mouse cursors]]&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bitmaps\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bitmaps\loadpictures&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;====&lt;br /&gt;
pictures that will be displayed when the game loads.&lt;br /&gt;
&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bitmaps\tracks&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;====&lt;br /&gt;
images that are used for the [[Gamedev:UnitDefs#Decals|unit tracks]]&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;features\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
.lua [[Gamedev:FeatureDefs|FeatureDef]] files&lt;br /&gt;
: Corpse and map-static feature definitions. The corpse files are similar to [[Gamedev:UnitDefs|UnitDefs]] but usually contain a less data, such as what model to use as the wreckage, how much metal the wreck will give if reclaimed, etc. Some games choose to subsume these into the [[Gamedev:UnitDefs|UnitDef]] instead of having separate files.Subfolders are allowed.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;gamedata\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
[[:Category:Gamedata|Various files]] that control global things or setup graphic &amp;amp; sound resources.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;icons\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
images for [[Icontypes.lua|unit symbols and radar icons]]&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;LuaRules\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
various files to make Lua scripts work such as gadget handler&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;LuaRules\Gadgets&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;====&lt;br /&gt;
[[Lua_Scripting|Lua gadgets]]: scripts that control the gameplay&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;LuaRules\Configs&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;====&lt;br /&gt;
config files read by Lua gadgets&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;LuaUI\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
====&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;LuaUI\widgets&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;====&lt;br /&gt;
[[Lua_Scripting|Lua widget]]: scripts that make up the user interface or do other unsynced things&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;objects3d\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
.3do, [[About_s3o|.s3o]] or [[Assimp]] compatible 3D model files&lt;br /&gt;
: This contains the actual 3D model that units and features use in-game. Most units have a variety of different pieces that are put together in a hierarchy type form (for instance, a tank has a hull, a turret attached to that, and a barrel attached to that). The {{xtaglink|Gamedev:UnitDefs|model}} tag determines what model is used.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;scripts\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
[[Animation-LuaScripting|.lua]] or [[Animation-CobOverview|.cob ]] animation script files&lt;br /&gt;
: This contains all of the animation scripting for the units. Scripts work by calling on pieces of the unit&amp;#039;s model to do things, such as rotate a turret to aim at a target, or emit smoke when the unit is damaged. The pieces named in the script file must reflect actual parts of the unit&amp;#039;s.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sidepics\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
[[Sidedata.lua|Faction icons]] read by lobby etc.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sounds\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
[[Sounds.lua|sound files]]&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;units\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
.lua [[Gamedev:UnitDefs|UnitDef]] files&lt;br /&gt;
: Contains most of the active data that a unit uses, such as its health, a list of which weapons it has, speed, metal/energy cost, whether it is a construction unit or not, so on and so forth. Subfolders are allowed.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;unitpics\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
.dds or .png [[Gamedev:Buildpics|buildmenu pictures]]&lt;br /&gt;
:Unit pictures are those little thumbnails which show up in the build menus of units in-game. They&amp;#039;re just a little graphical representation of the unit so people know what they&amp;#039;re building when they click it. Assigned via the {{xtaglink|Gamedev:UnitDefs|buildpic}} tag.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;unittextures\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
.dds, .tga or .png image [[3DModels:Textures|texture]] files. &lt;br /&gt;
: Image files which are stretched over the unit. Texture 1 contains the diffuse and team colour and texture 2 controls reflectivity, specular, glow and 1-bit transparency. Subfolders are allowed.&lt;br /&gt;
&lt;br /&gt;
===&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;weapons\&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;===&lt;br /&gt;
.lua [[Gamedev:WeaponDefs|WeaponDef]] files&lt;br /&gt;
: Most units have weapons. The characteristics of these weapons, from its behaviour to how it acts in the air, is determined in the weapon file. Some games choose to subsume these into the [[Gamedev:UnitDefs|UnitDef]] instead of having separate files. Subfolders are allowed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Dev]]&lt;/div&gt;</summary>
		<author><name>Interwiki&gt;Eronoobos</name></author>
	</entry>
</feed>