Giter Club home page Giter Club logo

textyle's Introduction

Textyle logo

ci badge

Try Textyle!

What is Textyle?

Textyle is a simple web-based tilemap editor for 2D games built using React JS and Rust (WASM).

Textyle aims to simplify and speed up the process of making tilemaps for your games. Running on the web means that you don't have to download any additional tools for creating your maps, and exporting it to an easy format means that you don't have to add additional libraries or plugins to your game.

The project is in its initial stages of development, expect great improvements to come!

Donate

Please, consider donating to the project and supporting its development.

Getting started

Check the wiki for a simple provisional tutorial. A complete documentation will come soon!

Integrating a Textyle map to your project

Currently Textyle exports to JSON. It's a simple and widely used format in game development, you can use any JSON parser to get you tilemap data to your game; check the details here. One of the priorities, however, is to allow multiple export targets so it will be a lot easier to integrate your map to the most common game engines.

Features so far

  • Multiple layers
  • Multiple tilesets
  • Tools:
    • Pencil
    • Fill
    • Zoom
    • Pan
  • JSON export
  • Batch Rendering

Coming soon

  • Autotile
  • Custom brushes
  • CSV and tmx format exports
  • Selections (free, rectangular, magic wand)
  • Support for isometric and hexagonal tiles
  • Data layers
  • Custom parameters on tiles
  • Images over the tiles
  • Undo/Redo

Technical overview

Stack:

  • React JS
  • WebGL
  • Rust (WASM)

Textyle is built using React JS for the UI, WebGL for rendering graphics and Rust (WASM) for managing tiles data and logic. In this sense, we try to explore each technology's strength: React JS for easily building complex UIs, WebGL API for rendering using the GPU and Rust compiled to WASM for managing tilemap's logic and algorithms with high performance.

Browser support

Textyle has been tested on Firefox and Chrome. Currently it doesn't run on Safari because it needs WebGL2 support, which Safari lacks. There are plans, however, to port the code to WebGL1.

Alternatives

Contributing

Are you learning Rust, JavaScript or React? Are you an expert already? Found a way to improve the code? You are more than welcome to contribute to this project! But before that, please check our code of conduct and take a look on the guidelines for contributing.

textyle's People

Contributors

stefandevai avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.