Skip to content

Ideas 2011:Tile set

Chris Oelmueller edited this page Apr 4, 2013 · 1 revision

New tile set structure, adapt editor and random maps

Our problem

We currently describe and display each tile independently. A ground tile rotated by 90° becomes a totally new tile with own ID instead of staying the same tile with a different rotation applied. This leads to the following main problems:

  • all tiles are specified multiple times (in different rotations)
  • it is hard to add new tiles
  • unnecessary overhead of copying the same files all over the place
  • current map files are very hard to edit
    • especially our editor needs attention
  • we store the graphics for e.g. buildings in a different way, which is confusing

Our idea

We specified a new structure similar to the action_sets we use for building graphic sets. This includes grouping tiles which only differ in rotation and making the database (map file / savegame) store the basic tile + rotation. We also want to fix our editor and allow all players to create new islands based on this new structure.

If time is left: We'd like to have specifications of which tile can be connected to which other tile in a way that our random map generator can use. This way we could generate much nicer looking random maps.

What you need

  • A tool to bulk-edit SQLite files
  • Python programming skills
  • basic understanding of the way our tiles and maps currently work (can easily be obtained while working on the project)
  • Estimated difficulties: Needs quite some work with [FIFE internals](Application 2011#fife) like animation management and the editor framework
  • We expect a moderate difficulty after you got familiar with our graphics structure.

What we provide

Description commit hash
DB and map modifications, work on loader a8e8c5d6bf87fe87c6f96c0a3e53720d668064f6
new DB table d7b5319d824444b7ea4406fba12ff8073618b50d
new DB structure, loading 69763446c93fa8797a68b232afbd15736a7bb2cb
adapt game logic 94205610cbc4dd217ea248bf839a830b3f82368b
remove now obsolete files a67e6c1900575dca5174e33a9a375f65438188ae
editor / tileset loader d8f820f17abeeab516ac1ac635cbe5a791d8f6f0
work on editor ebb6f5bd6b8dea1c30cd5a3733350bd9ddafe59d

As a pre-GSoC task you could try to re-implement the above mentioned commits or have a look at our random map generation.

What we expect

You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.

  • Milestone 1: new tileset works ingame
  • Milestone 2: random maps properly deal with the tiles
  • Milestone 3: new, flexible map and island editor
  • SoC Deadline: work on additional features such as transition tiles on own layer etc. -- this is still to be properly specified

What you can add

In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.

You are especially free to alter the following parts:

  • Tile loaders
  • Editor UI and mechanisms
  • Object loading

and to include:

  • random map parameters on game creation
  • support for ground tile effects, e.g. transition and ambient graphics

Who looks after you

Your mentors for this task will probably be: nihathrael

These devs have already worked with our old map files and might help out if you have trouble testing: eoc, Gambit

Clone this wiki locally