GSoC Engine resource abstraction: Difference between revisions

From Spring
Jump to navigationJump to search
standardized requirements
No edit summary
Line 4: Line 4:
So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place.
So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place.


== Background ==
== What ==
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.
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.


Line 17: Line 17:
== 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

Revision as of 16:13, 12 March 2010

GSoC idea: Engine level abstraction of resources

Why

So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place.

What

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.

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

Possible Mentor(s)

FORUMLINK

Google_Summer_of_Code_2010