Adam's Lair Forum

game development and casual madness
It is currently 2017/11/19, 14:27

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 160 posts ]  Go to page Previous  1 ... 11, 12, 13, 14, 15, 16  Next
Author Message
PostPosted: 2016/07/09, 15:41 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 148
Location: Budapest
Role: Hobbyist
Hello,
Great news and progression again, congratulations! Since I used the tilemap branch at my miniLD68 entry, got an impression, which I intended to share earlier, but ... laziness.

Some words about the entry: it's bad and unpolished, the main purpose was just to test out the new Duality functionality. Anyway, here's the link to it, and also the source. A guy also included it in his let's play. I don't recommend that to compile yourself, because some dll's are missing from the repo, but if you want to have a look, there it is. I did not use the tilemap API for this project, just created the level using the editor tools, thus I cannot tell anything about that.

First things first, I think this is a great and useful addition to the software, even though it does not really fit into Duality's philosophy of development - as Adam mentioned an earlier forum post - since it targets a rather specific set of problems. Not that this would be an issue.

Adam wrote:
How does the editor workflow feel? What can be improved?

If I had to describe it with one word, that would be convoluted. This means, that for me it took plenty of time just to figure out, how all that stuff works. Not a big issue, and I couldn't come up with a better organization of functionality at the moment, but the number of new resources, components, menus and their properties was rather overwhelming. An usability issue discussed several posts above didn't help either.

A small related story: recently I started to work at a major software company as a developer trainee. They (we) work on a design software for architects - and on the annual developer meeting one chief manager talked about how to catch new customers: the first half an hour they spend with the software should be fun and laughter, even if the advanced functions are deep and convoluted. Duality's new tilemap functionality does the opposite: the learning curve is rather steep.
Sure, it's not a commercial product, and don't want to sell it to anybody. I just wanted to point out, that for a newcomer, it can be difficult. What I can propose, is to have a detailed, step-by-step tutorial to introduce the new functionality as gentle as it can be.

On the other hand, the distribution of the detail seems a bit uneven. The tileset editor is gargantuan, advanced functionality (different render layers, collision layers, etc) everywhere. In opposition, the actual tile editing feels less feature-rich, I missed some functionality here and there, for example region copy-pasting or replacing a particular tile with another. Crafting multiple larger levels with that can be a pain, creating a small one that my game has was fun. I used Tiled before for this kind of work, it's terrain and auto-tile tools are awesome, they deserve a closer look. However, instead of implement this heavy lifting in Duality, I think a .tmx format supporting (community?) plugin would be better use of "resources".
Adam wrote:
Do you think the sample is illustrating how to use tilemaps sufficiently? Why or why not?

Absolutely. It helped me to understand how to organize multiple layers of tiles, combined to a single collision layer. Also unveiled some of the depth sorting functionality. Even aesthetically pleasing!
Adam wrote:
Are there bugs? Usability issues? Glitches? Tell me!

Nothing much, maybe some weird behaviour, when clicking the mainTex render layer does not open its inspector. Couldn't reproduce it intentionally. I'd say it's ready for release.

A long wall of text, isn't it? I hope you find it useful, and also that I was not too harsh - trying to be constructive. What about the game jam, do you plan to organize it yourself? I'm still in :]

edit: Happy birthday, Adam!


Top
 Profile  
 
PostPosted: 2016/07/09, 15:47 
Forum Adept
Forum Adept

Joined: 2015/07/08, 16:41
Posts: 414
Role: Gamer
Adam wrote:
Allright everyone, it is done. The tilemaps branch has been merged back into the master branch and is now available to everyone who is compiling Duality himself. If you haven't done that before, just clone or download it from GitHub and compile the Duality.sln solution in Visual Studio. Done!
Nice. I'll have to get around making something with it soon and test it out.


Top
 Profile  
 
PostPosted: 2016/07/10, 12:10 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2028
Location: Germany
Role: Professional
Thanks for your feedback so far! Let me quickly address some specific points you mention:

loeller wrote:
Adam wrote:
How does the editor workflow feel? What can be improved?

If I had to describe it with one word, that would be convoluted. This means, that for me it took plenty of time just to figure out, how all that stuff works. Not a big issue, and I couldn't come up with a better organization of functionality at the moment, but the number of new resources, components, menus and their properties was rather overwhelming.

Oh, I see. That's definitely not great. From what I can gather, the hardest part is getting started, right? Because you essentially have to create multiple GameObjects, each with Tilemap and TilemapRenderer, and an additional TilemapCollider with a RigidBody, and also a Tileset Resource, which needs to be edited in a specific editor, without knowing any of this and also not getting a single hint. I totally get why this is a usability disaster.

So let's try to untangle this and find a solution. If the main problem is getting started, I think there are various things that can be added to improve here:

  • A convenient "setup" menu in addition to the Tilemap Editor resize menu, which allows you to specify the number of layers, Tileset, etc. and it will create all the (Game-)objects for you and do some pre-config.
  • A "Create Tileset" action for the context menu of a Pixmap Resource.
  • Dragdrop of a Tileset from the Project View into the Scene Editor or Scene View should auto-create a GameObject with a Tilemap and TilemapRenderer Component.
  • Dragdrop of a Tileset into the Tilemap Editor should open up the above mentioned setup menu.

I've added these ideas to a pre-release issue on GitHub. Would that help? Also, if you have other ideas or see some points not addressed here, tell me!

loeller wrote:
In opposition, the actual tile editing feels less feature-rich, I missed some functionality here and there, for example region copy-pasting or replacing a particular tile with another. Crafting multiple larger levels with that can be a pain, creating a small one that my game has was fun. I used Tiled before for this kind of work, it's terrain and auto-tile tools are awesome, they deserve a closer look.

Region copy-paste is actually possible! You can use the tile picker tool to select a region on the map that will serve as a source for drawing new tiles. It is also available as a quick action if you hold the left Alt key.

That said, auto-tiling is definitely on my ToDo, just not for the first release. I'm not trying to emulate Tiled here, it's just that AutoTiling actually requires core support, since it involves auto-generating new tiles from existing ones when compiling a Tileset. As far as I can tell, Tiled only operates on existing tiles, which is definitely neat as well, but not specifically what I'm looking for.

While I'm completely in favor of a .tmx import, I kind of want the Duality tilemap editor to reach the point where editing is convenient enough to use it as a viable alternative. Nothing super-advanced, just properly integrated basics.

loeller wrote:
A long wall of text, isn't it? I hope you find it useful, and also that I was not too harsh - trying to be constructive.

No no, that's exactly the kind of feedback I'm looking for! Thanks a lot for going in-depth with it!

loeller wrote:
What about the game jam, do you plan to organize it yourself? I'm still in :]

I'll organize one once we ironed out the most glaring issues, so we won't get stuck with bugs and stuff ^^

loeller wrote:
edit: Happy birthday, Adam!

Thanks! :)

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/07/10, 12:57 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 148
Location: Budapest
Role: Hobbyist
Adam wrote:
A convenient "setup" menu in addition to the Tilemap Editor resize menu, which allows you to specify the number of layers, Tileset, etc. and it will create all the (Game-)objects for you and do some pre-config.

Sure, it's a good idea. Also, it could be accessed from the context menu of the Tilemap resource, even launched when the user double clicks the resource. Specifying the number of layers is also helpful - although it's pretty logical, at first I was not sure if I have to create multiple Tilemaps for multiple layers, or it can be done in one.

About the resize menu: I think it should open exactly when creating a new tilemap gameobject, not just after focusing the camera view. It feels "not right" or "buggy" at the moment.

The other points on the bullet list are also nice additions, blending in the Duality workflow nicely.
Adam wrote:
Region copy-paste is actually possible! You can use the tile picker tool to select a region on the map that will serve as a source for drawing new tiles. It is also available as a quick action if you hold the left Alt key.

Thanks! This is among the things you likely to miss without a guide or tutorial. :S
Adam wrote:
While I'm completely in favor of a .tmx import, I kind of want the Duality tilemap editor to reach the point where editing is convenient enough to use it as a viable alternative. Nothing super-advanced, just properly integrated basics.

Okay, we need .tmx export then :D
Adam wrote:
I'll organize one once we ironed out the most glaring issues, so we won't get stuck with bugs and stuff ^^

Super. I recommend doing that after the package release, it's more convenient.


Top
 Profile  
 
PostPosted: 2016/07/17, 14:58 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2028
Location: Germany
Role: Professional
Allright, time for the second attempt :D

In the past two days, I have implemented a tilemap setup dialog, as well as various other usability improvements for the tilemaps plugin, which should hopefully make the first 30 minutes a lot more enjoyable. There is also a quick Tilemaps Tutorial that leads you through your first setup.

After this iteration, I have a bit of hope that we're slowly getting into release territory, but I do want to iron out the most glaring usability issues that might remain. Let me know what you think ^^

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/07/18, 20:31 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 148
Location: Budapest
Role: Hobbyist
Adam wrote:
Allright, time for the second attempt :D
...

It's definitely getting there! I've already commented the the ideas you proposed, so just a short feedback here:
The tutorial is useful, first I didn't really get the section with the deep tilemaps, but on a second read, it cleared out.
The new editor window is useful, especially with the advisor messages integrated. Drag and drop functionality is also intuitive.

Just one thing that I missed, and may be helpful: a double click on the tilemap gameobject in the scene view could change the camera's editing state to tilemap editor.


Top
 Profile  
 
PostPosted: 2016/07/19, 20:24 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2028
Location: Germany
Role: Professional
Thanks for testing, glad to hear it's getting there. I think I'll slowly approach a potential release when I find a big enough time slot. Maybe some more tweaks.

loeller wrote:
Just one thing that I missed, and may be helpful: a double click on the tilemap gameobject in the scene view could change the camera's editing state to tilemap editor.


Ohh, I like that! Double-clicking on GameObjects already means focusing them in the Scene Editor though. I'll look into this.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/07/24, 11:54 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2028
Location: Germany
Role: Professional
I've just released the binary packages for all three tilemaps packages. Go grab them while they're still fresh ^^ The tilemaps sample should give you a quick overview, while the tutorial I posted before should help you get started with a custom setup.

I'll open up a new thread for organizing a tilemaps game jam, but in any case: You know what they say about point zero zero versions - if you encounter anything unusual, buggy or stupid, let me know.

loeller wrote:
Just one thing that I missed, and may be helpful: a double click on the tilemap gameobject in the scene view could change the camera's editing state to tilemap editor.


Done.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/08/07, 19:58 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2028
Location: Germany
Role: Professional
Unlike planned, I'm working a bit more on the Tilemaps plugin, more specifically: AutoTile support. If you've worked with RpgMaker, you already know what's up. If you've worked with Tiled, it's a bit similar to its Terrains feature, but it feels less "bulky" because AutoTiles won't build matching tiles around your tool, but modify the drawn tile itself to match its surroundings.

Anyway, most of the algorithm and editor stuff is still to do, but I've worked out some of the core infrastructure and extended the Tileset editor so you're able to specify AutoTile information:

Gfycat Video - Click to Play. [Source]


Unlike the RpgMaker approach, where most of the magic happens behind the scenes, you get to specify explicitly what your tileset has to offer, i.e. each tile's role in a certain AutoTile. The core will later use this information to generate all the missing pieces automatically - regardless of the AutoTile layout or type you're using. Overall, it's a little bit less "plug and play", but it offers a lot more freedom with regard to different tileset styles.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/08/28, 15:01 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2028
Location: Germany
Role: Professional
Finally got around to finishing up the first (and biggest) part of AutoTile support: Specifying AutoTile info, transforming it when compiling a Tileset and then using it for mapping, as well as serializing and deserializing it in a reliable way.

The below example uses a testing tileset where all 47 tile permutations are defined in the tileset, so the AutoTile supports any tile neighbourhood that is possible to map.

Gfycat Video - Click to Play. [Source]


And in this second one, I'm simply using the mage city tileset of the sample package. As you can see, not all connectivity states are properly mapped, because there is no matching tile specified for all situations and in the current implementation, no new AutoTile permutations are generated. However, the existing tiles will still be used as fallbacks where possible.

Gfycat Video - Click to Play. [Source]


You can now use AutoTiles, just update the Tilemaps Core and Editor packages to the most recent version and specify the required AutoTile information in your tilesets.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 160 posts ]  Go to page Previous  1 ... 11, 12, 13, 14, 15, 16  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group