diff --git a/README.md b/README.md index 07359ad..e0a1074 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,15 @@ DotTiled is a simple and easy-to-use library for loading, saving, and managing [Tiled maps and tilesets](https://mapeditor.org) in your .NET projects. After [TiledCS](https://github.com/TheBoneJarmer/TiledCS) unfortunately became unmaintained (since 2022), I aimed to create a new library that could fill its shoes. DotTiled is the result of that effort. - [Feature coverage](#feature-coverage) -- [Alternative libraries and comparison](#alternative-libraries-and-comparison) +- [Alternative libraries and comparison + benchmarks](#alternative-libraries-and-comparison) - [Quickstart](#quickstart) - - [Constructing your `TmxSerializer`](#constructing-your-tmxserializer) + - [Installing DotTiled](#installing-dottiled) + - [Constructing a `TmxSerializer`](#constructing-a-tmxserializer) - [Loading a `.tmx` map](#loading-a-tmx-map) - [Loading a `.tsx` tileset](#loading-a-tsx-tileset) + - [Constructing a `TmjSerializer`](#constructing-a-tmjserializer) + - [Loading a `.tmj` map](#loading-a-tmj-map) + - [Loading a `.tsj` tileset](#loading-a-tsj-tileset) # Feature coverage @@ -19,14 +23,14 @@ DotTiled is a simple and easy-to-use library for loading, saving, and managing [ Other similar libraries exist, and you may want to consider them for your project as well: -| Library | Active | Formats | Feature coverage | Docs | License | Benchmark Rank* | -| --- | --- | --- | --- | --- | --- | --- | -| **DotTiled** | ✅ | `.tmx` `.tsx` `.tmj` `.tsj` `.tx` | | Usage, API, XML docs | | | -| [TiledLib](https://github.com/Ragath/TiledLib.Net) | ✅ | | | | | | -| [TiledCSPlus](https://github.com/nolemretaWxd/TiledCSPlus) | ✅ | | | | | | -| [TiledSharp](https://github.com/marshallward/TiledSharp) | ❌ | | | | | | -| [TiledCS](https://github.com/TheBoneJarmer/TiledCS) | ❌ | | | | | | -| [TiledNet](https://github.com/napen123/Tiled.Net) | ❌ | | | | | | +| Library | Actively maintained | Supported formats | Feature coverage | Tiled version compatibility | Docs | License | Benchmark rank* | +| --- | --- | --- | --- | --- | --- | --- | --- | +| **DotTiled** | ✅ | `.tmx` `.tsx` `.tmj` `.tsj` `.tx` | | | Usage, API, XML docs | | | +| [TiledLib](https://github.com/Ragath/TiledLib.Net) |✅| | | | | | | +| [TiledCSPlus](https://github.com/nolemretaWxd/TiledCSPlus) |✅| | | | | | | +| [TiledSharp](https://github.com/marshallward/TiledSharp) |❌| | | | | | | +| [TiledCS](https://github.com/TheBoneJarmer/TiledCS) |❌| | | | | | | +| [TiledNet](https://github.com/napen123/Tiled.Net) |❌| | | | | | | > [!NOTE] > *Benchmark rank is based on the libraries' speed and memory usage when loading different types of maps and tilesets. Further explanations and details can be found in the below collapsible section. @@ -42,13 +46,20 @@ Comparison and benchmark details -[MonoGame](https://www.monogame.net) users may also want to consider using [MonoGame.Extended](https://github.com/craftworkgames/MonoGame.Extended) for loading Tiled maps and tilesets. Like MonoGame.Extended, DotTiled also provides a way to properly import Tiled maps and tilesets with the MonoGame content pipeline. However, unlike MonoGame.Extended, DotTiled does *not* include any kind of rendering capabilities, and it is up to you as a developer to implement any kind of rendering for your maps when using DotTiled. +[MonoGame](https://www.monogame.net) users may also want to consider using [MonoGame.Extended](https://github.com/craftworkgames/MonoGame.Extended) for loading Tiled maps and tilesets. Like MonoGame.Extended, DotTiled also provides a way to properly import Tiled maps and tilesets with the MonoGame content pipeline (with the DotTiled.MonoGame.Pipeline NuGet). However, unlike MonoGame.Extended, DotTiled does *not* include any kind of rendering capabilities, and it is up to you as a developer to implement any kind of rendering for your maps when using DotTiled. The feature coverage by MonoGame.Extended is less than that of DotTiled, so you may want to consider using DotTiled if you need access to more Tiled features and flexibility. # Quickstart -Here are a few short examples to get you started with DotTiled. +### Installing DotTiled -### Constructing your `TmxSerializer` +DotTiled is available as a NuGet package. You can install it by using the NuGet Package Manager UI in Visual Studio, or equivalent, or using the following command for the .NET CLI: + +```pwsh +dotnet add package DotTiled +``` + + +### Constructing a `TmxSerializer` There are few details to be aware of for your `TmxSerializer`: