Gamedev:Main: Difference between revisions

From Spring
Jump to navigationJump to search
Flozi (talk | contribs)
Flozi (talk | contribs)
m →Animation of units: link to examples
 
(40 intermediate revisions by 8 users not shown)
Line 2: Line 2:


= 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. If you are interested in creating maps for Spring, see [[Mapdev:Main]].


= General =
= Templates & Examples =
 
* [[Gamedev:SpringABC|SpringABC]] - A hierarchical set of empty template games, without examples
*[[Game structure]]<br />
* [[SpringTutorialGame|Spring Tutorial Game]] - A tutorial template game with full examples
*[[VirtualFileSystem]]
* [[Gamedev:PublicRepos|Public Repos]] - Publicly readable Spring game code repositories
*[[Game specification|Game specification]]<br />
*[http://answers.springlobby.info/ Q&A Site for the Spring Engine]
 
= Templates =
*[[SpringABC]] - 3 Templates of Increasing Complexity
*[[SpringTutorialGame|Spring Tutorial Game]] - A Tutorial Template Game with full examples


= Technical Documentation =
= Technical Documentation =
; '''GameData'''
== GameData ==
* [[Armordefs.lua]] - armor classes
* [[Icontypes.lua]] - strategic unit icons
* [[Modinfo.lua]] - game identifier file (name, version,...)
* [[Modrules.lua]] - Global game variables
* [[Modrules.lua]] - Global game variables
* [[Units:MoveTypes]]
* [[Movedefs.lua]] - MoveClasses for pathfinding
* [[Sidedata.lua]]
* [[Resources.lua]] - index file for textures
* [[Armordefs.lua]]
* [[Sidedata.lua]] - playable factions/races/sides
* [[Sounds.lua]] - index file for sounds
* [[Messages.lua]] - Team death messages {{new|95.0}}:deprecated
 
== Definition Files ==
* [[Gamedev:UnitDefs]] - define the attributes of units
* [[Gamedev:WeaponDefs]] - define the attributes of weapons/projectiles
* [[Gamedev:FeatureDefs]] - define the attributes of static map features and wrecks
* [[CEG:Main]] Particle effects (explosions etc)


; '''Definition Files'''
== Lua API & Libraries (excerpt) ==
* [[Units-UnitDefs|UnitDefs]] - define the attributes of units
* [[Lua_Scripting|Lua API Documentation]]
* [[Units-WeaponDefs]] - define the attributes of weapons/projectiles
* [[Lua_Libraries|Lua Libraries]]
* [[Units-FeatureDefs]] - define the attributes of static map features and wrecks
* [[CEG]] Particle effects (explosions etc)


; '''Animation'''
== Animation of units ==
Lua Animations
Lua Animations (LUS)
*[[Animation-LuaScripting]]
*[[Animation-LuaScripting]]
**[[Animation-LuaCallins]]
**[[Animation-LuaCallins]]
**[[Animation-LuaCallouts]]
**[[Animation-LuaCallouts]]
**[[Animation-CobLuaDifferences]]
**[[Animation-CobLuaDifferences]]
**[[Animation:LuaExamples]]


COB Animations (Deprecated)
COB Animations (Antiquated)
*[[Animation-CobOverview]]
*[[Animation-CobOverview]]
**[[Animation-CobExamples]]
**[[Animation-CobAnimation]]
**[[Animation-CobAnimation]]
**[[Animation-CobCallins]]
**[[Animation-CobCallins]]
Line 43: Line 46:
**[[Animation-CobThreads]]
**[[Animation-CobThreads]]
**[[Animation-CobHitByWeaponID]]
**[[Animation-CobHitByWeaponID]]
**[[Units:LuaCOB]] - how to interface COB with LUA
**[[Lua-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]]
**{{forumlink|topic=132943#132943|title=GPL COB Examples}}
**{{forumlink|topic=7457|title=GPL COB Examples}}


; '''Unit Development'''
== Models & Textures ==
* [[Unit_Categories]] - define which weapon type aim at which targets
* [[About_s3o|.s3o]]
* [[Unit_collision_volumes | Unit Collision Volumes]] - collision detection
* [[Assimp]]
* [[Units:WeaponMainDir]]
** [[3DModels:AssimpWorkflow]]
* [[Weapons:Antinukes]]: All about antinukes.
* [[3DModels:Textures]]
* [[Units:Textures]]
* [[Shaders:CustomUnitShadingFramework]]
* [[Units:Buildpics]]
** [[Shaders:PBRShaders]]
* [[Units:FlankingBonus]]
* [[CustomUnitIcons|Game Development:Custom unit icons]]


; '''Misc'''
== Misc ==
* [[MouseCursors]]
* [[Gamedev:DebugDrawModes]]
* [[Mod Development:Archives|Game Development:Archives]]
* [[Gamedev:Archives]] - packing game/map
* [[Mod Development:Sidepics|Game Development:Sidepics]]
* [[Gamedev:Buildpics]]
* [[Gamedev:CollisionVolumes]]
* [[Gamedev:Glossary]]
* [[Gamedev:MouseCursors]]
* [[Gamedev:Sidepics]]
* [[Gamedev:Structure]]
* [[VirtualFileSystem]]


= Tools =
= Tools =
== In-Game Tools ==
== In-Game Tools ==
*[[ToolBox]] - A Collection of Game Development Tools
*[http://springboard-core.readthedocs.io/en/latest/ SpringBoard] - Powerful map and scenario editor
*[[Map Making: Feature Placer|Feature Placer]] - A Map Feature & NPC Unit Placement Tool
*[[Map Making: Feature Placer|Feature Placer]] - A Map Feature & NPC Unit Placement Tool
== External Tools ==
== External Tools ==
* [[Upspring]]
* [[Map,_Mod,_And_Unit_Development_Programs|Development Tools]]
* [[Map,_Mod,_And_Unit_Development_Programs|Development Tools]]
== Lua Libraries ==
*[[LUPS]] - Lua Particle System
*[[Chili]] - A GUI Framework
*[[Custom Unit Shaders]]
*{{forumlink|topic=28341|title=ChangePiece}}


=Modeling =
= Engine Related =
Spring supports different 3d representations: '[[About_s3o|.s3o]]' and '[[About_3do|.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.
* [[Download_Testing]] - Test the compatibility of your game on upcoming versions of the Spring engine.
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.
* [[EngineChangelogForContentDevs]] - New engine versions sometimes require games to adjust. A list of common problems.


=Engine Related=
* [[EngineSource_for_GameDevs]] - Notes about the engine source, from modding point of view.
* [[Download_Testing]] - Test the compatibility of your game on upcoming versions of the Spring engine.


= Tutorials =
= Tutorials =
== Tips, Tricks & Testing ==
[[TestingYourGame|These tricks and commands]] are useful for testing or debugging.
== 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.
Line 89: Line 94:
*<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==
==Modelling Tutorials==
'''Wings3D'''
* [[3DModels:Wings3DTutorial]]
* [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]
 
'''Blender'''
* [[TutorialBlenderWorkFlow|Blender Workflow Tutorial]]
 
'''3DS Max'''
* [http://springrts.com/phpbb/viewtopic.php?t=10503 Runecrafter's 3DS Max UV Mapping Tutorial]
* [http://springrts.com/phpbb/viewtopic.php?t=10503 Runecrafter's 3DS Max UV Mapping Tutorial]
* [[TutorialBlenderWorkFlow|Blender Workflow Tutorial]]


==Texture Tutorials==
==Texturing 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]
* [http://springrts.com/phpbb/viewtopic.php?f=9&t=12356 Greeble Tutorial 2]
* [http://springrts.com/phpbb/viewtopic.php?f=9&t=12356 Greeble Tutorial 2]


[[Category: Unit_development]]
=Misc=
[[Category:Game development]]
* [[Ren'Py]]: a visual novel engine that can be used with Spring
* <strike>[http://answers.springlobby.info/ Q&A Site for the Spring Engine]</strike> Currently down.
 
[[Category:Game Dev]]

Latest revision as of 20:44, 17 November 2022

Development < Gamedev:Main

Game Development

This information is meant to help newcomers learn how to develop their own games for the Spring Engine. If you are interested in creating maps for Spring, see Mapdev:Main.

Templates & Examples

Technical Documentation

GameData

Definition Files

Lua API & Libraries (excerpt)

Animation of units

Lua Animations (LUS)

COB Animations (Antiquated)

Models & Textures

Misc

Tools

In-Game Tools

External Tools

Engine Related

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

Tutorials

Tips, Tricks & Testing

These tricks and commands are useful for testing or debugging.

Game Development Tutorials

Modelling Tutorials

Wings3D

Blender

3DS Max

Texturing Tutorials

Misc