Gamedev:Main: Difference between revisions

From Spring
Jump to navigationJump to search
Flozi (talk | contribs)
Copy from current page
 
Flozi (talk | contribs)
First draught
Line 1: Line 1:
[[Engine_Development|Development]] < {{FULLPAGENAME}}
[[Engine_Development|Development]] < {{FULLPAGENAME}}


=Game development=
= Game Development =
This information is meant to help newcomers learn how to develop their own games for the Spring Engine.
This information is meant to help newcomers learn how to develop their own games for the Spring Engine.


= General =


==General==
* [[Map,_Mod,_And_Unit_Development_Programs|Development Tools]]
*[[Game structure]]<br />
*[[Game structure]]<br />
*[[VirtualFileSystem]]
*[[Game specification|Game specification]]<br />
*[[Game specification|Game specification]]<br />
*[http://answers.springlobby.info/ Q&A Site for the Spring Engine]
*[http://answers.springlobby.info/ Q&A Site for the Spring Engine]
*[http://springrts.com/phpbb/viewtopic.php?f=14&t=26409| Porting TA content to Spring]
==Resources==
*[[General_Resources|Free Assets]]
*[[SpringTutorialGame|Spring Tutorial Game]] - (attempt to create) a "template game" for new projects.
*[[LUPS]]
*[[Chili]]
*[[IceUI]]
*[[RedUI]]
*[[LOLUI]]
*[[Map Making: Feature Placer|Feature Placer]]


==Reference==
= Templates =
*UnitDefs (.fbi, .lua)
*[[SpringABC]] - 3 Templates of Increasing Complexity
**[[Units-UnitDefs|UnitDefs]] - define the attributes of units
*[[SpringTutorialGame|Spring Tutorial Game]] - A Tutorial Template Game with full examples
**[[Unit_Categories]] - define which weapon type aim at which targets
**[[Unit_collision_volumes | Unit Collision Volumes]] - collision detection
*WeaponDefs (.tdf, .lua)
**[[Units-WeaponDefs]] : define the attributes of weapons/projectiles
**[[Units:WeaponMainDir]]
**[[Weapons:Antinukes]]: All about antinukes.
*MoveDefs
**[[Units:MoveTypes]]
*FeatureDefs (objects on the map, wrecks of destroyed units)
**[[Units-FeatureDefs]]
*Global game variables (modrules.lua)
**[[Modrules.lua]]
*[[CEG]] Particle effects (explosions etc)


*Misc
= Technical Documentation =
**[[VirtualFileSystem]]
; '''GameData'''
**[[MouseCursors]]
* [[Modrules.lua]] - Global game variables
**[[Units:Textures]]
* [[Units:MoveTypes]]
**[[Units:Buildpics]]
* [[Sidedata.lua]]
**[[Sidedata.lua]]
* [[Armordefs.lua]]
**[[Units:FlankingBonus]]
**[[Armordefs.lua|Units: Armor classes]]
**[[Mod Development:Archives|Game Development:Archives]]
**[[Mod Development:Sidepics|Game Development:Sidepics]]
**[[CustomUnitIcons|Game Development:Custom unit icons]]


=Unit Scripting/Animations (.cob, .bos, .lua)=
; '''Definition Files'''
Unit scripts animate units and are needed for various function such as firing weapons.
* [[Units-UnitDefs|UnitDefs]] - define the attributes of units
* [[Animation-CobLuaDifferences | Differences of .lua and .cob unit scripts]]
* [[Units-WeaponDefs]] - define the attributes of weapons/projectiles
* [[Units-FeatureDefs]] - define the attributes of static map features and wrecks
* [[CEG]] Particle effects (explosions etc)


==Lua Animations==
; '''Animation'''
Lua Animations
*[[Animation-LuaScripting]]
*[[Animation-LuaScripting]]
**[[Animation-LuaCallins]]
**[[Animation-LuaCallins]]
Line 61: Line 35:
**[[Animation-CobLuaDifferences]]
**[[Animation-CobLuaDifferences]]


==COB Animations==
COB Animations (Deprecated)
The binary '.cob' file format is a compiled '.bos' script. To convert a '.bos' script file to '.cob' file you will need [[Scriptor]]
 
*[[Animation-CobOverview]]
*[[Animation-CobOverview]]
**[[Animation-CobExamples]]
**[[Animation-CobExamples]]
Line 71: Line 43:
**[[Animation-CobThreads]]
**[[Animation-CobThreads]]
**[[Animation-CobHitByWeaponID]]
**[[Animation-CobHitByWeaponID]]
*[[Units:LuaCOB]] - how to interface COB with LUA
**[[Units:LuaCOB]] - how to interface COB with LUA
*[[CEG_For_Units|Game Development:Calling basic CEGs from COB]]
**[[CEG_For_Units|Game Development:Calling basic CEGs from COB]]
* [http://springrts.com/phpbb/viewtopic.php?p=132943#132943 GPL-compliant sourcecode, scripting code examples, and other things.]
**{{forumlink|topic=132943#132943|title=GPL COB Examples}}
 
; '''Unit Development'''
* [[Unit_Categories]] - define which weapon type aim at which targets
* [[Unit_collision_volumes | Unit Collision Volumes]] - collision detection
* [[Units:WeaponMainDir]]
* [[Weapons:Antinukes]]: All about antinukes.
* [[Units:Textures]]
* [[Units:Buildpics]]
* [[Units:FlankingBonus]]
* [[CustomUnitIcons|Game Development:Custom unit icons]]
 
; '''Misc'''
* [[MouseCursors]]
* [[Mod Development:Archives|Game Development:Archives]]
* [[Mod Development:Sidepics|Game Development:Sidepics]]
 
= Tools =
== In-Game Tools ==
*[[ToolBox]] - A Collection of Game Development Tools
*[[Map Making: Feature Placer|Feature Placer]] - A Map Feature & NPC Unit Placement Tool
== External Tools ==
* [[Map,_Mod,_And_Unit_Development_Programs|Development Tools]]
== Lua Libraries ==
*[[LUPS]] - Lua Particle System
*[[Chili]] - A GUI Framework


=Modeling =
=Modeling =
Line 84: Line 81:
* [[Download_Testing]] - Test the compatibility of your game on upcoming versions of the Spring engine.
* [[Download_Testing]] - Test the compatibility of your game on upcoming versions of the Spring engine.


=Tutorials=
= Tutorials =
===Game Development Tutorials===
== Game Development Tutorials ==
*[[The Complete Guide To Making A Spring Game]] - A fairly comprehensive getting started tutorial.
*[[The Complete Guide To Making A Spring Game]] - A fairly comprehensive getting started tutorial.
*[http://springrts.com/phpbb/viewtopic.php?f=14&t=26409| Porting TA content to Spring]
*[http://springrts.com/phpbb/viewtopic.php?f=14&t=26409| Porting TA content to Spring]
*<strike>[[Simple Mod Tutorial|Simple Game Tutorial]]</strike> - needs to be updated
*<strike>[[Simple Mod Tutorial|Simple Game Tutorial]]</strike> - needs to be updated


===Modeling Tutorials===
==Modeling Tutorials==
* [http://springrts.com/phpbb/viewtopic.php?t=10612 Wings UV Mapping Tutorial]
* [http://springrts.com/phpbb/viewtopic.php?t=10612 Wings UV Mapping Tutorial]
* [http://springrts.com/phpbb/viewtopic.php?f=9&t=12354 Saving polygons in Wings3d Tutorial]
* [http://springrts.com/phpbb/viewtopic.php?f=9&t=12354 Saving polygons in Wings3d Tutorial]
Line 96: Line 93:
* [[TutorialBlenderWorkFlow|Blender Workflow Tutorial]]
* [[TutorialBlenderWorkFlow|Blender Workflow Tutorial]]


===Texture Tutorials===
==Texture Tutorials==
* [http://springrts.com/phpbb/viewtopic.php?f=57&t=22392 DDS Textures:  How To]
* [http://springrts.com/phpbb/viewtopic.php?f=57&t=22392 DDS Textures:  How To]
* [http://springrts.com/phpbb/viewtopic.php?t=10947 Greeble Tutorial 1]
* [http://springrts.com/phpbb/viewtopic.php?t=10947 Greeble Tutorial 1]

Revision as of 02:00, 18 February 2013

Development < Gamedev:Main

Game Development

This information is meant to help newcomers learn how to develop their own games for the Spring Engine.

General

Templates

Technical Documentation

GameData
Definition Files
Animation

Lua Animations

COB Animations (Deprecated)

Unit Development
Misc

Tools

In-Game Tools

  • ToolBox - A Collection of Game Development Tools
  • Feature Placer - A Map Feature & NPC Unit Placement Tool

External Tools

Lua Libraries

  • LUPS - Lua Particle System
  • Chili - A GUI Framework

Modeling

Spring supports different 3d representations: '.s3o' and '.3do', and additionally a variety of common model formats as supported by the ASSIMP library. The biggest difference between these formats is the workflow to create a new unit. There are also s3o exporter plugins for '3ds-max' and an older version of 'blender' 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.

Engine Related

  • Download_Testing - Test the compatibility of your game on upcoming versions of the Spring engine.

Tutorials

Game Development Tutorials

Modeling Tutorials

Texture Tutorials