Tools and layers

In the last update of Aventure Weaver I have created the following improvements to the tile editor

  • The user can use the rectangle tool and select a tile or several tiles and draw a rectangle with them
  • The user can use the circle tool and select a tile or several tiles and draw a circle with them
  • The user can use the bulk tool to paint connected areas with a tile or several tiles
  • The user can switch between the floor and the object layer
  • The user can zoom the tile palette or the map viewer
  • The user can create a map area and duplicate it, or copy paste it
  • Color key Transparency the tool can remove the colored background tiles for tilesets that dont use alpha value

After this update we are going to work on several updates of our games so we are going to leave this project paused for one or two months. But dont worry its not going to be abandoned, for sure I will come back to it, its going to be the main 2021 Questtracers release ! 🙂

Json explanation

In the following post im going to explain how is the actual (and probably final) version of the tileset json file.

The first part is very simple, its some general settings:

  • tileWidth: This is the width of the tile in the image
  • tileHeight: This is the height of the tile in the image
  • chipWidth: This is the width of the chipset image
  • chipHeight: This is the height of the chipset image
  • Tiles lower: This is the amount of tiles that is assigned to the bottom layer, so the rest is assigned to the top layer
  • PreviewX: Is the amount of tiles that the tile palette will have in every row

The first section is the removeTiles, this section will contain the coordinates of the tiles that will be removed from the tile palettes. In the reference program tilesets there are several tiles that are not used anyway and dont appear in the tileset palette so I decided to include this.

Every single tile in the tileset will have assigned an animation group, the default one is the one that only contains a 0. The array of the animation groups tells the program how many spaces he needs to jump in the tile to show the following frame of a tile animation

The group squared are the simple clever tiles (and most used)

  • Alone Coordinates indicates the tile that will be displayed when the tileset doesnt have any surrounded tile of its same group
  • Corners coordinates indicates the tile that contains the corner of the automatic new tiles composition
  • Square coodinates indicates the tiles that contains the rest of the tiles that are used to generate the new tiles compositions
  • Animation step assigns an animation step to all tiles that the group squared has and generates
  • Group id is the id of the group so it can interact with other tiles thinking they are part of the same clever tile

Group alones are the special single tiles

  • Alone coordinates indicates the initial tile, that also will be the one showed in the tile palette
  • Animation step works same way as the one explained in the squared, it will be used to generate single animated tiles like the cascade of the previous post
  • Group id, will allow us to place this tiles in a clever tile and make the clever tile thinks its part of it

Groups line tiles are a new kind of clever tiles

  • Prev coordinates are the tile used to be displayed in the tile palette
  • Alone coordinates works the same as the squared
  • Central is the tile that would be in the center of a square made by 3×3 tiles of this group (should be the new patter if used check below)
  • Default: Group lines allows to have a clever pattern inside a clever tile, default should be the central of the clever tile that doesnt use the new patter
  • FullW coordinates is when the new patter is surrounded by tiles with the new pattern
  • CornersW coordinates are the corners of the new pattern
  • Animation step and group id works as before

Sorry for the long post but probably this post will be part of the documentation in the future. I also will update this post with more detailed info if needed about how the json works and other changes the json will have.

Last update January 28th 2021

Animation & Groups

I already finished the animated tiles and the json im going to explain how the json file works but first let me explain what features is showing this image

The obvious one is the animated tiles, it allows to create animated tiles using clever tiles (the water) and single tiles (the cascade, the square and the circle)

The other great feature is that you can create groups for clever tiles, this means that two clever tiles can act as a single clever tile when they are close or not.

Single tile can also have a group assigned so you wont broke the clever tile if both things have the same group. This is useful when for example a user wants to create tiles that broke the patter of a clever tile without make the clever tile to “surround” the new tile added. For example, a crack in a floor or maybe some grass in a sand clever tile.

First steps of the tile editor

Here you can see the first steps of our tile editor, for the moment for the official posts we will use the EasyRPG RTP for testing purposes till we have a proper one


As you can see the tile editor supports clever tiling without the user needs to worry about tiling one by one the different tiles so they are coherent. The user will be able to set this clever tiles via Json being this one of the main advantages compared to other RAD Maker tools.

You can check how the Json looks here


Dont worry if you dont understand anything, the program will have a tool to generate this jsons in a visual way. That would be a topic for another post.

We also had some support for animated tiles but due to some refactors to make the tile rendering more efficient we have removed it temporally. I will make another post when I have the animated tiles working.

Adventure Weaver starts here

Im going to start a new blog talking about the new game maker program called Adventure weaver that im developing right now

The tool is being developed in Purebasic a very nice program creation tool and the games will run under the Löve2D lua engine.

Why Purebasic?
Mainly because it allow me to focus on which is the most important the creation itself of the program and not dealing with any crazy javascript frameworks and libraries everytime i want to do something different.

Why Löve2D?
Love2D is a really well stablished 2D game engine that runs using LUA script code, it has a zlib license what allow me to use it for commercial projects. It also has bindings to JS so the games will run in browsers, and it has runners for every platform and tutorials on how to pack them into mobile apps.

Here is a first screenshot of the first layout of the program, that for sure will change a lot during its development