2.0 KiB
2.0 KiB
Editor2D Project
C++ Tools for 2D Level Creation.
This is our in-house solution for creating and managing tile-based levels for 2D style games, comprising a robust C++ library for data handling, a user-friendly GUI application for visual editing, and a couple of other tools for good measure.
Introduction
This project provides a complete workflow for 2D game level design, split into two main components:
- A C++ Library: Designed for game developers to easily load, save, and manipulate tilemap data within their game engines. It defines the core data structures for levels, tilesets, layers, and entities.
- A GUI Editor Application: A standalone tool built on top of the C++ library, offering a visual interface for artists and designers to construct levels, manage tilesets, arrange layers, and place entities.
Our goal is to offer a flexible, efficient, and user-friendly solution for 2D game level creation.
Features
C++ Library
- Data Structures
- Efficient Data Storage - Metadata is saved in .json files, while the layers' raw-tile-matrices are stored in flat binary files.
- Load & Save utilities
- Global Tile ID (GID) System
GUI Editor
- Visual Tile Painting: Intuitive tools for drawing and erasing tiles on different layers.
- Layer Management: Add, remove, reorder, hide/show, and adjust properties (opacity, parallax) of layers.
- Tileset Management: Import texture atlases, define tile dimensions, and set individual tile properties.
- Entity Placement: Place, move, resize, and configure custom properties for game entities.
- Project Workflow: Create new levels, open existing ones, and save changes.
- Real-time Preview: See your level come to life as you build it.
Known Bugs / TODOs
Contributing
Acknowledgements
This project is developed and maintained by Josh O'Leary and Redacted Software.
Special thanks to my wife, Ash, for requesting me to make this as a tool to allow her to design levels.
License
This work is expressly dedicated to the Public Domain, and is licensed under the Unlicense.