Tidy Tile Mapper: Paint tile-maps from the Editor [Released]

This brain is fried already, so it doesn’t matter much. Juggling too many things :slight_smile:

If you want to take a break, maybe write some in-depth API/tutorial docs and make available as bundled HTML+PDFs?

I haven’t played around with uneven blocks yet (the projects I’m playing around with are similar in style to your example blocks anyway - lucky me!), but what would happen when we have blocks of varying sizes?

Thanks for the replies guys, most helpful.

I think I will spend a few days getting used to the Unity basics and aquainting myself with the UI and workflow of how it all fits and works together, as this will stop me asking silly questions with regards to TTM when Unity has these things built in (ie object colliders - doh!).

As I said I am a Unity noob and come from a strictly programming background, so once I am up to scratch with how Unity works I can almost certainly say you will have a new customer! :slight_smile:

Thanks again.

You’ve got a slight threshold to get over. Having used other engines/frameworks helps. But after that little bump it’s smooth sailing most of the time :slight_smile:

Yeah it is a little strange going from coding every line of a game to using Unity, but I have just downloaded the entire 3DBuzz Unity Fundamentals series (as well as all the others available for free) so that should help me get up to speed by the weekend.

Once done I shall be back! :slight_smile:

@DoobyDude Cool, nice selection of tutorials! I will watch some of those when I get a chance.

I believe that this is the link to the 3D Buzz series that you mention:
http://www.3dbuzz.com/vbforum/content.php?176

Hi @orb,

I completely missed your question sorry (was reading forums from my phone for the past few days):

I haven’t played around with uneven blocks yet (the projects I’m playing around with are similar in style to your example blocks anyway - lucky me!), but what would happen when we have blocks of varying sizes?

Blocks of varying sizes just… get placed into the map like everything else. I use a few of them for signposts (roughly 3 wide and 1.5 tall) and UI elements currently.

The secret on that one is to make sure your centre-point is in a nice position to be bound to the position you select in the map, after that… it’s all smooth sailing.

In other news, is anybody taking part in the 7-day FPS challenge? (website here: 7DFPS) - I’m going to be doing a small old-style number using TTM and randomly-generated levels.

If you are, hit me up on email! We should start a group skype or something.

-JFFM

If you are interested in using my level generator, I could get some top down generation working… the maze->platformer is pretty much done (got the generation of goals, obstacles, and keys working this morning). Was going to focus on design time integration on a few tile mappers then top down maps (keep trying to polish it up for release).

Can Unity handle drawing an 80x80 grid of Tidy tiles? I am having trouble getting unity to handle many objects for an adventure style game. Creating a game object for every tile really seems to slow things down. Is there a way to batch up the tiles into a single draw call and run my own collision detection etc…? I am thinking something similar to the old school Zelda type games. Does the package come with examples of getting started with the runtime api?

Thanks

-Tim

Hi Tim (@coder8),

Unity certainly doesn’t like lots of GameObjects - at least not in the Editor. I find the general rule is:

Runtime API for anything bigger than a small-to-medium level, Editor Extension for smaller, crafted levels.

I’ve been using maps of 5x5x100 with the Runtime API on my phone (Android - Samsung Galaxy S) and it runs beautifully, but the same wouldn’t apply within the Editor.

A GameObject-per-tile (the way Tidy TileMapper does it) is for a very specific set of functionality (to support game logic and painting functional objects).
For something closer to an old-styled Zelda game (where the tiles are 99% non-functional) - if you wish to paint in-editor, I’d recommend looking at something that creates a mesh at edit-time as you paint (as this will go around the in-Editor limitations of having many objects in the scene).

Alternatively, if you’re going full 2D, jet me an email - the “Add Background” functionality in the newest release (going out this evening) can be used to paint procedural meshes, zero gameobjects but for the Mesh object.

Maybe even jet me an email or message either way - I’ve got a few 66% completed extensions for TTM that you might find helpful.

Edit: Actually I’m too excited by one of them to keep it a secret.

I put together an extension to the Streaming Maps plugin (since I couldn’t think of a nice way to release it without it just being… some script you drop onto an object) that takes an image (say, from paint or photoshop) and associates every color you use with a Block.

That way, you can paint a massive massive map (a billion by a billion), load it into TTM, tell it “Hey, Blue equals Water” and when you press ‘Play’, it makes a Streaming Map based on this. No need to mess around in the editor.

If that’s something you would find useful, or anybody would - hit me up. It’s finished, but I don’t like to muddy the waters too much with features that distract :wink:

-JFFM

I think that image-to-map extension would be a perfect addition to TTM. It would make life simple for any old-fashioned level designers who don’t want to deal with this annoying third dimension :slight_smile:

Might also make it much faster for people working with slow, old computers.

Argh! I see that my editor is missing some of the buttons you have in your videos. I got the package from the Unity Store. Is there are more updated version somewhere with the background painting? Also I am looking for a tutorial on working with the top down views. I see you have one video with a few units pathfinding around in a top down view but it does not explain how to set that up. Any tips?

would love the “photoshop” paint feature!

Hi coder8,

Background painting is coming out in the next update - it should be live pretty danged soon. I’ll be sure to put a message up when it’s live so everybody can update.

To get the hang of pathfinding - create yourself a top-down map and paint in a few “PathfindingController” from the swatch panel. (they use the script: RandomPathingEntity.cs)

When you press ‘Play’ - they should mark out a blue path for themselves with gizmos and move around.

Once you have that working, dig into the Pathfinding controller scripts: PathingEntity.cs provides a template from which you can derive. As you can see in RandomPathingEntity.cs the big functions are:

OnReachPathEnd() - put something in here to decide what to do when you reach the end of a path.
PathTo() - tell it where to go, and it will go there.

Trivia Note: I’ve actually found two small bugs in this class (fixed in the next update) - where the controller will skip the first node on the path and move to the second, and also with the BlockUtilities.IsWithinMapBounds() function.

-JFFM

Hi Everybody,

I plum forgot to update the thread:

The latest update to Tidy TileMapper is now live. It includes a few minor bugfixes, some internal tweaking, and the first release of the “Paint Backgrounds” function.

I’ll put together a video demonstrating how to use this - but for those of you who are super-pumped about it, here’s a rundown:

  1. Create your Map.
  2. Move to the “Paint Background” panel (below the Block swatches).
  3. Backgrounds operate on materials from which the mesh may be constructed - Drag a material from your project to the field and click “Add Background”.
  4. Activate Background Painting (by clicking the new button on the third row).
  5. Paint over your map as usual.
  6. To remove background, select the empty Background swatch (the first cell) and paint.
  7. Easy as that!

As this is a very very new feature, please get back to me with any issues you encounter.

Have fun!

-JFFM

@JFFM are you planning a discount or price drop for Tidy Tile Mapper? I would like to buy it and also buy Tidy Maze Maker.

Hi @spartan,

Oh tricky proposition. I’ve spoken with my best friends at Unity about being included in next month’s “Asset Store Madness” sale - so if that goes through, TTM will be on sale for maybe… 40% off or so in July. But I’m not 100% on whether we’ll be included.

Aside from that, no ad-hoc sale plans for a little while.

-JFFM

@JFFM thanks for your response! I’ll look forward to Asset Store Madness on July.
Thanks!
Spartan

@JFFM today I saw that there are new assets on “Asset store madness”, do you think that you will be included in this round?

Thought I’d lead with a screenshot of what I’ve been working on. The random square chunks taken out of the corners are from a few missing orientations TTM doesn’t support yet. But so far looking good.

I’m using the runtime API to create a streaming map, it’s 31 tiles wide and 300 tiles down. I wanted to maybe bring up some discussion about optimization involving different types of blocks. At the moment different orientations seem kind of inefficient. Take having two variants for example. I’m using 2dToolkit for handling my sprite sheets. So the only difference between the game objects created by variant A and variant B’s prefabs is one public variable setting the sprite. Now when I use the runtime API to change the variation of a block from A to B it wants to remove the object and create a new one, as opposed to a simple variable change.

Now I am using the asset pooling feature, which is quite nice. But with lots of orientations and variants it doesn’t really stop there from being a decent amount of run-time instantiation of prefabs, even though the game objects made from those prefabs is pretty similar. On load I create the number of blocks on the initial screen, maybe I can afford to pre-create a lot more, I haven’t really looked at it.

It’s not something I’ve really dug into, and I figured someone else might have a better solution to handle things so I’d post here to get some discussion started.

Hi Spartan,

Oh man, I guess maybe not? I’ve not heard back from Unity. Let me mull on this for a few hours.

I’ve got a few updates to release, so I don’t see any harm in dropping the price regardless. No promises! Stand by :wink:

-JFFM