All Projects → Zulu-Inuoe → cl-tiled

Zulu-Inuoe / cl-tiled

Licence: Zlib License
Tiled map library for CL

Programming Languages

common lisp
692 projects

Projects that are alternatives of or similar to cl-tiled

glazejs
A high performance 2D game engine built in Typescript
Stars: ✭ 96 (+540%)
Mutual labels:  tiled-map-editor, tilemap, tmx
tuile
Tuile (french for tile) is a 2D graphics engine inspired from old hardware and based on layers, tiles sets, tile maps and sprites. Its scanline rendering pipeline makes it perfect for raster effects.
Stars: ✭ 19 (+26.67%)
Mutual labels:  tiled-map-editor, tmx, tiled
RawSalmonEngine
A game engine utilising "Tiled" map files
Stars: ✭ 15 (+0%)
Mutual labels:  tiled-map-editor, tmx, tiled
AsLib
🎨: RPG map maker (paint tool)
Stars: ✭ 82 (+446.67%)
Mutual labels:  tiled-map-editor, tilemap
gimp-tilemap-gb
Tilemap GB - Console App - AND - GIMP plugin for importing & exporting Game Boy game tilemaps and tilesets (as bitmap images or .GBM/.GBR files. Related tools: GBTD, GBMB, GBDK, Zal0-ZGB)
Stars: ✭ 42 (+180%)
Mutual labels:  tiled-map-editor, tilemap
tilepix
Library for combining tiled maps with pixel
Stars: ✭ 40 (+166.67%)
Mutual labels:  tiled-map-editor, tiled
UnityHexagonLibrary2d
A library to manage 2D hexagonal tiles in Unity.
Stars: ✭ 58 (+286.67%)
Mutual labels:  tiled-map-editor, tilemap
pixi-tiled
TILED importer for PIXI. Support Images, Shapes, Layers.
Stars: ✭ 19 (+26.67%)
Mutual labels:  tiled, tiled-parser
GameSystemsInC
Game systems for games in C. Examples using Raylib.
Stars: ✭ 16 (+6.67%)
Mutual labels:  tilemap
Driftwood
Driftwood 2D Tiling Game Engine and Development Suite
Stars: ✭ 23 (+53.33%)
Mutual labels:  tiled
HexTiles
Unity Hex Tile Editor
Stars: ✭ 127 (+746.67%)
Mutual labels:  tilemap
Satellite-Aerial-Image-Retrieval
Satellite/Aerial Image Retrieval: using Bing maps tile system to automatically download aerial imagery (maximum resolution available) given a latitude, longitude bounding box.
Stars: ✭ 36 (+140%)
Mutual labels:  tilemap
Protobuf-Dreamer
A tiled DeepDream project for creating any size of image, on both CPU and GPU
Stars: ✭ 39 (+160%)
Mutual labels:  tiled
moses-smt
Dock You a Moses: Moses Statistical MT in a container
Stars: ✭ 12 (-20%)
Mutual labels:  tmx
Berry
Berry is a simple Tiled Map Loader for Corona SDK.
Stars: ✭ 16 (+6.67%)
Mutual labels:  tiled
autotiler
Autotile 47-tile blob tileset generator application with Godot export support. Based on Electron JS.
Stars: ✭ 32 (+113.33%)
Mutual labels:  tiled
tbag
Tea-bag is Third party extension utility project
Stars: ✭ 13 (-13.33%)
Mutual labels:  tiled
tiles
Commandline tool that makes building tilesets and rendering static tilemaps super easy!
Stars: ✭ 51 (+240%)
Mutual labels:  tilemap
EvoNet
Evolution Simulation in XNA Refresh
Stars: ✭ 44 (+193.33%)
Mutual labels:  tilemap
UMapControl
轻量级跨平台瓦片地图库
Stars: ✭ 35 (+133.33%)
Mutual labels:  tilemap

cl-tiled

Tiled TMX/TSX and JSON map/tileset loader

About

cl-tiled is a Common Lisp library for importing TMX/TSX and JSON tilemaps and tilesets generated by Tiled. It aims to fill the same role as other engine-agnostic Tiled importers. Meaning it is not a renderer nor does it provide integration with renderers on its own. Instead it aims to provide an easy, logical way to read map data so it may be imported/rendered in whatever way you wish.

Status

alpha quality. API changes to come. Mostly additions to missing features.

Note that as a current goal, this library aims to be feature complete, not fast nor space efficient.

Current:

  • Full TMX/TSX and JSON reading support
  • Support for embedded and external tilesets
  • Support for embededd and external images
  • API support for all layer, tile, object, and terrain types
  • Full support for property objects with distinct data-types (string, number, bool, color, pathname)
  • Orthogonal map support

Planned:

  • Defining API for isometric, staggred, and hexagonal maps
  • Make the library more efficient
  • Modifying map and writing TMX/TSX and JSON files (if enough demand for this)

Please post any requests/bugs on the issues page.

Dependencies

Example

(defpackage #:my-cool-package
  (:use #:cl)
  (:local-nicknames
    (#:tiled #:cl-tiled)))
(in-package #:my-cool-package)

(defgeneric render-layer (layer))

(defmethod render-layer ((layer tiled:tile-layer))
  (dolist (cell (tiled:layer-cells layer))
    ;; tiled:cell-x and tiled:cell-y for pixel positions
    ;; tiled:cell-tile for `tiled:tile' information
    ;;  what image, which row/column within image
    ))

(defmethod render-layer ((layer tiled:image-layer))
  ;;tiled:layer-image gets you the relevant image to render
  )

(defmethod render-layer ((layer tiled:object-layer))
  (dolist (object (tiled:object-group-objects layer))
    ;; render each object according to type
    ))

(defmethod render-layer ((layer tiled:group-layer))
  ;;Render each sub-layer
  (dolist (layer (tiled:group-layers layer))
    (render-layer layer)))

(let ((tiled-map (tiled:load-map "assets/map.tmx")))
  (dolist (layer (tiled:map-layers tiled-map))
    (render-layer layer)))

Contact

Wilfredo Velázquez-Rodríguez [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].