The TilemapKit Roadmap is yours!

Vote on TilemapKit features and tutorials, or suggest your own. You may also ask questions and report problems.
I would like to...
by comments
by date
by popularity
Display all
Enable filter

47 votes Vote

Starterkit: Platformer with Physics & Parallaxing

Run-of the mill platformer with the basic ingredients every platformer game needs: run and jump, item pickup, animations, player controls, rigid or dynamic acceleration/deceleration, walking on slopes and plenty of parameters to tweak....
sitterheim, 09.07.2015, 15:23
43 votes Vote

TK: Port TilemapKit to C++, support Cocos2D-X v3.x

UPDATE: Early access version available at 33% off until October 30th: Port TilemapKit to C++ and make it compatible with Cocos2D-X and Android development. For other platforms...
Response from the site administrator
sitterheim, 11.10.2015
Porting to C++11 (with STL, Cocos2d-x) will take several weeks, please be patient.

Get the early access version here at a 33% discount until October 30th:
The early access version of TilemapKit++ for Cocos2d-x is now available for 33% off! (until October 30th)

== Update Oct. 10th ==

v0.75 is released. This includes about 75% of the features and the most important ones are there. It has also been tested on Windows with Visual Studio.

I will begin adapting the ObjC model classes to use the C++ classes as the actual implementation. In that process I will port all the remaining little tidbits and once that's done this will be TK v1.0.

== Update Sep. 25th ==

Most "important" aspects are ported. So far, rendering of all map types and coord conversions seems okay. Still need to add object and image layers.

Getting rid of the "black line" artifacts needs more testing/research as the concepts used for SpriteKit/Cocos2d-objc don't seem to have an effect (could be a bug though).

== Update Sep. 19th ==

Rendering maps works. Ortho and Hex are implemented, Iso is to follow next.

== Update Sep. 16th ==

The reader and model classes are mostly complete, I decided to push back the optional data (terrain, tile anims, ...) in favor of getting something on the screen asap. This is the result:

Aiming to launch an "early access" build for cocos2d-x in 2-3 weeks from now.

== Update Sep. 4th ==

Using pugixml to load TMX. Pugi makes the loader code a lot more straightforward to read and write, compared to NSXMLParser.

Map, tileset, tile layer loading and related C++ classes are done. I guess that's about half of it.
sitterheim, 24.07.2015, 15:54
36 votes Vote

Sell a low-cost binary framework (no source code)

Is TilemapKit source code too costly for you? If so, please vote on this idea! Binary frameworks with precompiled code could be offered for a lower cost. The price range would be $20-$35. === Possibly Omitted Features === There are...
sitterheim, 04.09.2015, 09:59
32 votes Vote

TK: 3D Tilemap renderer, extrude tiles into 3rd dimension

Port TilemapKit to a SceneKit/Cocos2d-x 3D renderer to render tilemaps in 3D. Tiles are extruded to 3D shapes with configurable "extrusion depth" and textures (defaults to using tile texture for all faces). The cuboids use the tile graphics as...
sitterheim, 09.10.2015, 12:14
29 votes Vote

TK: Port TilemapKit to C#, support MonoGame

Port the model classes to C# and rewrite the renderer in C# for use with MonoGame. Integrate it into Content Pipeline and ensure compatibility with the most popular platforms. As a side-effect, this would also make the Unity port more...
sitterheim, 11.09.2015, 10:48
26 votes Vote

TK: Support for light-enabled (normal-mapped) tilesets

See Sprite Illuminator tool for examples of light-enabled sprites: First task is to test if there's any reason why this wouldn't work. Then: - If it doesn't work: fix it. - If it doesn't work...
Response from the site administrator
sitterheim, 28.08.2015
Normal map support is working for:

- Cocos2D: "collection of images" tilesets with normal and tileset images in the same texture atlas
- SpriteKit: "collection of images" tilesets without texture atlas (not recommended)

Due to a severe bug in SpriteKit (normal textures do not work if they are in a SKTextureAtlas) I put this task on hold. It's useful and working for Cocos2D users who create their own texture atlases. SpriteKit users will likely see a huge performance penalty due to the texture atlas bug.

See here for more info:

I'll be happy to work with Cocos2D devs to improve on the current lighting/normal support if there is any need.
sitterheim, 15.07.2015, 20:44
1 comment
20 votes Vote

TK: Parallax Scrolling, optionally with border-aligned layers

By changing the position of a layer (or calling its "moveTo" function) all other layers with a "parallax factor" (a vector) will follow the movement of that layer accordingly. An alternative way to specify parallaxing but only for orthogonal...
sitterheim, 25.06.2015, 18:21
20 votes Vote

Integrate Collision Detection

Every platform game needs to know, when dynamic sprites collide with the background. To do this Tiled allows to define a collision layer per tile in a tile set. It would be very helpful to activate physics collision detection per tile by the...
Holger, 06.09.2015, 08:47
19 votes Vote

GameplayKit Sandbox / Editor

A OS X tool that you can use to experiment with GameplayKit features. Perhaps even using it as a visual editor for certain tasks. What could be in it? (just a brain dump) - Strategist sandbox (plug in your own strategist protocol classes and...
sitterheim, 02.07.2015, 20:11
19 votes Vote

Starterkit: Turn-Based Strategy / RPG Combat

Two opponents owning multiple, varied units (using components) battle it out on a playfield. This could either be the entire game, or the combat mode of an otherwise realtime world exploration RPG. Units can operate on ortho, iso and hex...
sitterheim, 09.07.2015, 15:29
7 votes Vote

Tutorial: How to use GKAgent on nodes with a physics body

As with (move) actions, the GKAgent moves autonomously, ignoring physics. However that doesn't mean you can't use it on a node with a physics body. This article explains how you can approach combining physics with agents, and what kind of...
Steffen Itterheim, 25.06.2015, 19:06
7 votes Vote

TK: Automatic Draw Order for Maps "with depth"

Idea based on this forum post: There should be a mode where the draw order of tiles and any node on tile/object layers depends on their y coordinate....
sitterheim, 13.08.2015, 14:51
4 votes Vote

Tutorial: Using GKPolygonObstacle to draw line of sight

Using GKPolygonObstacle a line of sight polygon (path) can be calculated that could then be used to draw over the graphics to show the "line of sight" for a given game object (ie enemy soldier). If you don't know what this means have a look at...
Steffen Itterheim, 25.06.2015, 19:03
4 votes Vote

GameplayKit: Agents/Steering bevahior without iOS9

Make it possible to deploy on older iOS versions
Peter, 12.08.2015, 09:18
4 votes Vote

TK: Port TilemapKit to C#, support Unity (2D)

TilemapKit is currently written in Objective-C and in the process of being ported to C++ / Cocos2D-X. If you would love to have TilemapKit available for Unity, please vote for it! TilemapKit for Unity would work similar to "Tiled to Unity"...
sitterheim, 09.09.2015, 10:45
3 votes Vote

TK: enumerate tiles in rectangle or radius (or all tiles)

Provide a safe way to enumerate tile GIDs in the C memory buffer. Most likely by implementing a version of enumerateTilesUsingBlock - although enumerating all tiles would be nice to be able to do with fast enumeration as well, it couldn't provide...
sitterheim, 24.07.2015, 10:18
3 votes Vote

TK: get all tiles in a given (tile) radius

Given a radius (in tile coordinates) TilemapKit should return a (mutable) list of tile GIDs in that radius. With those GIDs one can then test each tile's properties to perhaps remove them from the list. For instance this could be used to...
sitterheim, 24.07.2015, 09:57
3 votes Vote

TK: get object(s) whose shape contains point

TKMap(Node) should have these methods: -(TKObject*) objectAt:(CGPoint)locationInMap; -(NSArray*) objectsAt:(CGPoint)locationInMap; Returning the object(s) whose shape (rectangle, polygon, ellipse) contains the point (in the map's coordinate...
sitterheim, 26.09.2015, 11:15
2 votes Vote

Starterkit: Top-Down Racing Game with GameplayKit

Similar to the racing demo in this article: Features: - AI Cars follow path, with sensible (but not realistic) car behavior - Keep track of each car's position in the...
sitterheim, 09.07.2015, 15:07
0 votes Vote

Tutorial: Conditions & Actions system for Statemachines

Statemachines become much more powerful with predefined conditions which, when satisfied, change to another state. When changing to another state, actions can be performed. Conditions and actions are classes with a predefined interface that...
Steffen Itterheim, 25.06.2015, 19:19
0 votes Vote

Starterkit: Sneak Game w/ Line of Sight & Shadows

A sneaking game where player must traverse a labyrinth without being seen by enemies. The enemies draw a line of sight cone in which they will detect the player, then shoot and follow the player. If they are alert but can not see the player, they...
sitterheim, 09.07.2015, 15:18
0 votes Vote

TileSplitter: extract tiles from tileset image

You may know the problem: you found a really nice tileset, but it comes as a pre-made tileset image (atlas). But you'd really like to (or need to): - re-arrange the tiles to have the layout fit your needs (or any logic at all) - only use some...
sitterheim, 26.08.2015, 09:20
0 votes Vote

TK: optionally RLE compress tile arrays

Some maps may have tile layers that are mostly empty or have large areas of the same tile. Such tile arrays could benefit from RLE (run-length encoding) compression, trading some runtime performance for less memory usage. This should be a layer...
sitterheim, 31.10.2015, 15:08
10 votes Vote

TK: support for tile animations

Support tile animations. The data is already loaded, it's mainly an issue of running the animations at runtime. The animation probably runs on the tileset level. Meaning if a tile texture for GID 123 is requested, it is first checked whether...
Response from the site administrator
sitterheim, 24.08.2015
It's done. Global and coord-specific (asynchronous) tile animations. Most of the API is in TKTileAnimation class:

Coord-specific animations can be played, accessed or removed via TKTileLayer:
sitterheim, 25.06.2015, 18:08
9 votes Vote

TK: Be able to write TMX files (for: savegames, editor)

A TMX writer would save a TKMap class into TMX format using base64 encoding and optional compression (gzip, zlib). The resulting TMX file should be 100% compatible with Tiled. Any runtime modifications to the TKMap class and its constituents...
Response from the site administrator
sitterheim, 19.07.2015
TMX files can now be written with TKMapWriter.

The format is exactly the same as in Tiled, including order of elements/properties and formatting of values is preserved. That's important for source control users.
Steffen Itterheim, 25.06.2015, 17:46
7 votes Vote

TK: GameplayKit pathfinding integration

It should be easy to use GameplayKit pathfinding (GKGraph) with TilemapKit. For this the following features are needed: - convert orthogonal tilemaps into GKGridGraph -- remove blocked GIDs - this could be either a list of blocked GIDs or...
Response from the site administrator
sitterheim, 15.07.2015
Task complete
Steffen Itterheim, 25.06.2015, 17:39
6 votes Vote

TK: renderer performance optimizations (pass #1)

The renderer is now stable enough to optimize it. This means measuring the rendering loop's performance to find the most costly operations. A lot can be done by inlining calculations in C functions and caching repeatedly used values. Also only...
Response from the site administrator
sitterheim, 16.07.2015
Success: roughly 5-10 times faster now! :)
sitterheim, 25.06.2015, 18:00
1 comment
3 votes Vote

TK: convert Objects, Tiles into CGPath (for Physics, Shapes)

Tiled Objects (polygons, polylines, etc) and any tile (rect, rhombus, hexagon) and any tile collision info (an object layer on individual tiles) should be convertible to CGPath. This CGPath object could then be fed into SKPhysicsBody to create...
sitterheim, 25.06.2015, 18:14
1 comment
3 votes Vote

TK: Assign Tiled properties to node properties/ivars via KVC/reflection

[ assignToObject:objectNode]; That would take the object's Tiled properties and tries to assign those properties matching both name and type to corresponding @property or ivars in the given target object. Also perhaps make...
sitterheim, 18.07.2015, 15:57
1 comment
2 votes Vote

Tutorial: GKMinMaxStrategizer TicTacToe game in Swift

- explain how to use the GKMinMaxStrategizer protocols in Swift 2.0 - implement a TicTacToe game AI - make the game playable with computer opponent (random player) - explain that thing about how the algorithm complexity grows exponentially and...
Steffen Itterheim, 25.06.2015, 10:09
1 comment

Pages< 1 2 >