GSoC Engine resource abstraction: Difference between revisions

From Spring
Jump to navigationJump to search
Koshi (talk | contribs)
Abma (talk | contribs)
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 2: Line 2:


== Why ==
== Why ==
So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place.
Current hardcoded resource system generates defects and can produce effects which are hard to workaround for game designers which aren't willing to use it.
 
== Background ==
The Spring engine has its roots in being a Total Annihilation clone. While this intent has been dropped quite some time ago, the TA resource system is largely present in the codebase being hardcoded in a lot of critical places.


== What ==
The old system needs to be replaced, the new one should be flexible enough to reproduce everything that the old system did and be able to imitate the behaviour of most common RTS game titles.
The old system needs to be replaced, the new one should be flexible enough to reproduce everything that the old system did and be able to imitate the behaviour of most common RTS game titles.


Line 12: Line 10:


== Required skills ==
== Required skills ==
* C++
* Knowledge of C++
* Lua
* Knowledge of Lua/C API bindings
* OpenGL skills to adapt the engine gui (optional)


== Difficulty ==
== Difficulty ==
Estimated: medium to hard
Estimated: medium to hard
== Technical details ==


* The new system should completely supersede the current
* The new system should completely supersede the current
* Sync check should be adapted to hash the new resource system
* Sync check should be adapted to hash the new resource system
* Hardcoded assumptions such as cost-based targeting should be removed completely
* Hardcoded assumptions such as cost-based targeting should be removed completely and replaced with something better
 
== Possible Mentor(s) ==
 
[http://www.example.com FORUMLINK]


[[Google_Summer_of_Code_2010]]
[[Category:GSoC]]

Latest revision as of 18:54, 2 March 2012

GSoC idea: Engine level abstraction of resources

Why

Current hardcoded resource system generates defects and can produce effects which are hard to workaround for game designers which aren't willing to use it.

What

The old system needs to be replaced, the new one should be flexible enough to reproduce everything that the old system did and be able to imitate the behaviour of most common RTS game titles.

The engine's Lua API to fetch resources will have to be adapted to the new system and new calls will have to be added to modify its state.

Required skills

  • Knowledge of C++
  • Knowledge of Lua/C API bindings

Difficulty

Estimated: medium to hard

Technical details

  • The new system should completely supersede the current
  • Sync check should be adapted to hash the new resource system
  • Hardcoded assumptions such as cost-based targeting should be removed completely and replaced with something better