https://github.com/celestialcartographers/maple
Thin wrapper for generating Celeste maps
https://github.com/celestialcartographers/maple
celeste celestegame julia mapmaker mapmaking
Last synced: 14 days ago
JSON representation
Thin wrapper for generating Celeste maps
- Host: GitHub
- URL: https://github.com/celestialcartographers/maple
- Owner: CelestialCartographers
- License: mit
- Created: 2018-02-11T12:48:27.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-07T19:03:48.000Z (over 2 years ago)
- Last Synced: 2025-04-05T01:22:48.882Z (about 1 month ago)
- Topics: celeste, celestegame, julia, mapmaker, mapmaking
- Language: Julia
- Size: 470 KB
- Stars: 30
- Watchers: 3
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Maple
This is Maple, a thin wrapper for generating map files for the game Celeste which can be loaded in the stock game or using [Everest](https://github.com/EverestAPI/Everest).
For usage without Everest you can replace a map in `Content/Maps` (remember backups), otherwise, you can place it in `Mods//Maps` with Everest and use the custom chapter loading.Improvements to user-friendliness are under development. Coding experience is required, but the tool should be rather easy to learn even if you know just the basics. If you want a visual editor, check out [Ahorn](https://github.com/CelestialCartographers/Ahorn), which is built on this.
This project is an unofficial level editor, it is merely a fan project aiming to aid map development until something official is available. None of this code is developed by or connected to the Celeste development team.
## Installation
Maple can be installed using julia's `Pkg` system.
```julia
julia> using Pkgjulia> Pkg.add(PackageSpec(url="https://github.com/CelestialCartographers/Maple.git"))
```
Maple can be updated using `Pkg.update()`.## Usage
Maple can be imported like any other module.
```julia
using Maple
```All objects in the map structure are represented using constructor functions. For examples, see the test directory. Documentation is currently not a priority, but you can check out the constructor names in `entity.jl` and `trigger.jl`.
Most constructor names are the same as the object names in the map binary put in CamelCase, but some might differ. Do note that the `x` and `y` position of certain objects may not be exactly what one would expect. Everything that isn't a block is currently not very predictable, and repeated testing may be needed. If you are serious about making maps, it is highly recommended to use [Everest](https://github.com/EverestAPI/Everest) for the F5 (force map reload) and F6 (open map editor for the current map) features.## License
Maple is licensed under the [MIT license](LICENSE.md). By using or interacting with this software in any way, you agree to the license of this software.