Game and Unit development
Development < Game and Unit development
Game development
This information is meant to help newcomers learn how to develop their own games for the Spring Engine.
General
- Game structure
- Game specification
- Simple Game Tutorial - a bit old and confusing
- Free Assets
- The Complete Guide To Making A Spring Game - this one is the best so far
- Q&A Site for the Spring Engine
- Spring Tutorial Game - (attempt to create) a "template game" for new projects.
Rants, Rambling & Demotivation
- What do I need to create a game? - Planning & Organization (read the text only, the technical stuff is outdated)
- Rate Evo! - Escaping the Spring tar pit?
- Dune: Evolution - Nice models & ideas alone do not make a game.
- AA Forever - A Cenotaph, dark reminder to mankind's oblivion.
- From idea to game in 2 weeks - Unlike those power diets pills, this actually worked out.
Modeling (.3do, .s3o)
Spring supports different 3d representations: '.s3o' and '.3do'. The biggest difference between both formats is the workflow to create a new unit. There are exporter plugins for 'blender' and '3ds-max' so that texturing and modeling can be done using these. In contrast: when you model an '.3do' you have to use upspring currently.
The animation with can either be done using 'lua' or 'COB/BOS' is does not depend on either, see rigging/animation. For new units use 'lua' scripting.
s3o modeling
- Basic s3o unit making guide (using UpSpring)
- s3o using blender (not using UpSpring)
- Trouble-shooting s3o units
Tutorials
- Wings UV Mapping Tutorial
- Saving polygons in Wings3d Tutorial
- Runecrafter's 3DS Max UV Mapping Tutorial
S3O Textures
Models - 3do Files
NOTE: 3do is an outdated model format used by OTA models (Balanced Annihilation, NOTA, etc.).
(Note: upspring has some problems with empty objects and groundplates)
- use upspring and 3doBuilder to edit those files
Unit Scripting/Animations (.cob, .bos, .lua)
Lua Animations
To edit .lua files you need a text editor.
COB Animations
The binary '.cob' file format is obsolete and some '.cob' files might be copyrighed by cavedog. A '.cob' file can be decompiled to see what it is doing or if you have the source, that is a '.bos' file, you can compile it into a '.cob' file.
To edit .bos files you need a program/compiler. The most famous one is Scriptor
- Animation-CobOverview
- Units:LuaCOB - how to interface COB with LUA
- Game Development:Calling basic CEGs from COB
- GPL-compliant sourcecode, scripting code examples, and other things.
UnitDefs (.fbi, .lua)
- UnitDefs - define the attributes of units
- Unit_Categories - define which weapon type aim at which targets
- Unit Collision Volumes - collision detection
FeatureDefs (objects on the map, wrecks of destroyed units)
- Units-FeatureDefs - define the attributes of features
MoveDefs (movedefs.lua)
WeaponDefs (.tdf, .lua)
- Weapon Variables : This is the most up to date
- Units:WeaponMainDir
- Weapons:Antinukes: All about antinukes.
Global game variables (modrules.lua)
Explosions (.tdf, .lua)
Misc
- VirtualFileSystem
- MouseCursors
- Units:Textures
- Units:Buildpics
- Units:SideData TDF
- Units:Download TDF
- Units:FlankingBonus
- Game Development:Armor
- Game Development:Cursors
- Game Development:Archives
- Game Development:Sidepics
- Game Development:Custom unit icons
Tools
- TA2Spring - Automatically adds and converts Total Annihilation unit packs (.ufo files, etc..) into Spring games (requires a base game for the game rules, XTA is recommended, it is probably not properly supported by current Spring)