Skip to content
This repository was archived by the owner on Mar 23, 2025. It is now read-only.
/ TilemapEditor Public archive

Tilemap Editor that can be used to create maps for the Pikuma Game engine or a custom engine with small tweaks

License

Notifications You must be signed in to change notification settings

dwjclark11/TilemapEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TilemapEditor

Jade Tilemap Editor

The Editor uses the ECS system from the course https://pikuma.com/courses/cpp-2d-game-engine-development. You can load and save data to [.map] files. When saving and loading, the editor uses a [.lua] file that loads the the location of the [.map] files and the tilesets that are used.

This application was created to quickly make tile maps for small games created with the Pikuma Game Engine. I re-made the tilemap editor that I created in my ZeldaClone https://github.com/dwjclark11/ZeldaClone_NES. I added more functionality and made the code more clean and concise as my abilities continue to grow.

Build


Requires CMake 3.26 and vcpkg

Get VCPKG:

git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.bat

Make sure the following environment variables are set:

VCPKG_ROOT=[path_to_vcpkg]
VCPKG_DEFAULT_TRIPLET=x64-windows

Install dependencies

./vcpkg install glm spdlog sdl2 sdl2-ttf sdl2-image lua sol2
  • Linux Also needs GTK-+3.0 for NFD build sudo apt-get install build-essential libgtk-3-dev

Clone the repository

git clone https://github.com/dwjclark11/TilemapEditor.git

cmake -S . -B build 
cd build 
cmake --build . --config Release 

cd bin 
./TilemapEditor

Read the Docs

Video

tilemap_editor.mp4

Loading a Map Project

New_Tilemap_Vid.mp4

Technologies

  • ImGui - for user interface
  • SDL2 - for rendering and window/inputs
  • Sol/Lua - for loading files
  • ECS - from Pikuma Game Engine

Dependencies

  • SDL2
  • SDL2_ttf
  • SDL2_image
  • ImGui
  • SPDLOG
  • Sol/Lua
  • NFD

Functionality

  • Load/Add multiple tilemaps
  • Undo/Redo functionality when adding/removing tiles and changing canvas size
  • Save/Load capabilities.
    • I have changed the way that I load/save files. It differs from the course; therefore, you may have to rewrite the save functionality.
    • The load function uses lua/sol and loads previously saved projects and their assets/tilemaps into the asset manager.
  • Selecting different tiles based on where you click on the displayed tileset
  • Panning and Zooming

Tilemap Editor Controls

Key Shortcuts and Functions

key Function
W Move Camara Up
S Move Camera Down
A Move Camera Left
D Move Camera Right
Space Move Camera to Default Position
Ctrl + Z Undo Command
Ctrl + Shift + Z Redo Command
Ctrl + S Save/Save As Project
Ctrl + O Open Project
Ctrl + N New Canvas/Project

Mouse Functions

Mouse Button Function
Left Button Add Tile
Middle Button Pan/Move the Camera
Right Button Remove Tile
Wheel Up Zoom In
Wheel down Zoom Out

Issues to Work On

  • Only works on 1920 1080 Resolution, does not take into affect other screen resolutions
  • Box Collider Offset not scaling properly with zoom fixed
  • There are probably more bugs that I am still finding

About

Tilemap Editor that can be used to create maps for the Pikuma Game engine or a custom engine with small tweaks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published