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 ! 🙂
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.
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.
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.
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.
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