Million Tile Engine Beta Release

Phoenixongogo, make sure you’re calling mte.enableSpriteSorting = true before you load your map. That is the most common cause of this sort of error.

Kumarks, I suggest looping through the map’s tile properties to determine which tiles have the property you’re looking for, and then looping through the map’s world data table to find the locations of those tiles. You can then convert that location to a level position using mte.locToLevelPos() and spawn your sprites.

--FIND TILE LOCATIONS WITH PROPERTY local map = mte.getMap() local layer = 16 local property = "temp1" local tileIDs = {} for i = 1, #map.tilesets, 1 do if map.tilesets[i].tileproperties then for key,value in pairs(map.tilesets[i].tileproperties) do if value[property] then if not tileIDs.key then tileIDs[key] = true end end end end end for x = 1, #map.layers[layer].world, 1 do for y = 1, #map.layers[layer].world[x], 1 do for key,value in pairs(tileIDs) do if map.layers[layer].world[x][y] == key + 1 then print("found", x, y) print(mte.locToLevelPos(x, y)) --Spawn your sprites end end end end

Hi Dyson,

Thanks for the reply, I call “mte.enableSpriteSorting = true” and “mte.spriteSortResolution = 5” before “mte.loadmap” but still didn’t work. then I noticed I didn’t have “spriteLayer = true” in that layer after I check the sample maps, after set it on the layer sorting functions well.

However I found something misbehavior when turning on sorting functions:

  1. the integer of “mte.spriteSortResolution” will affect upward moving speed of sprites, the larger number will increase more speed, and _ only _ affect upward movement.

2.when move the character reach the cameraLocY = 1, no matter set “mte.toggleWorldWrapY” true or false, the sprite just stuck and keep playing there but you can’t move it anymore, looks like it removed from mte with no error message.

I tried CastleDemo sample and get the same error, it looks like bugs, maybe you should give it a try:

set mte.enableSpriteSorting = true and mte.spriteSortResolution = 5 or more,  add sortSprite = true in the sprite setup, make path and move character to cameraLocY = 1

Thank you :slight_smile:

Hi Dyson,

My following projects rely heavily on MTE,

and I would like to request 2 features for appendMap:

  1. appendMapRegion: copy and paste selected region from a map, so we could manage all stitch pieces in single or few maps.

  2. flipX,flipY option: reverse the data loading order from tmx, so it could make a single region or map have 4 different looks.

They are really useful for generating and managing random maps, 

hope the features won’t consume too much of your time, thank you very much :slight_smile:

MTE 0v990 - https://gumroad.com/l/staO/

MTE 0v990 adds several new features and functionality to orthographic (square/rectangular) maps. Isometric support for applicable features will come later.

  • forceDefaultPhysics layer property: if true, all tiles on the layer will use the default physics data stored in mte.physicsData.
  • managePhysicsStates MTE parameter: boolean enabling or disabling MTE’s management of sprite physics states. Setting mte.managePhysicsStates = false will prevent MTE from overriding sprite.isAwake and sprite.isBodyActive for ALL sprites.
  • managePhysicsStates sprite parameter: boolean setting whether MTE manages the physics state of the sprite. Setting sprite.managePhysicsStates = false will prevent MTE from overriding sprite.isAwake and sprite.isBodyActive for that sprite.
  • physicsSourceScale tileset property: used to set the scaleFactor of PhysicsEditor data imported into MTE. Applies to all tiles in the tileset.
  • physicsSourceScale tile property: used to set the scaleFactor of PhysicsEditor data imported into MTE. Applies only to that tile.
  • Support for Tiled Object rotation in Tiled v0.9.1-243.
  • mte.appendMap(src, dir, locX, locY, layer): Inserts data from the a map file into the current map, adding layers and expanding the map bounds if necessary.
  • mte.drawObjects now takes a single boolean argument, new, which sets whether the function should redraw all objects or only draw new objects, for example the objects added by appendMap.
  • Fixed offscreenCulling: sprites will no longer fall through the world under certain circumstances.
  • Tiled Objects with physics bodies attached will no longer switch off while they are only half-way off the screen.
  • Tiled Object Culling: setting the cull property of the object or the cullObjects property of the object layer will cull those objects just as MTE culls tiles!

There is also a nice new sample project named AppendMap which, surprise surprise, demonstrates the use of the new appendMap functionality by stitching a large town map together out of many small maps. In this case I made the individual maps relatively obvious by designing the town around a grid, but you could also follow a more random approach to create more varied maps. 

This update also includes dozens of fixes for bugs reported since the release of 0v987-4. Those of you with current issues with 0v987-4, I ask that you load the affected projects into 0v990 and see if the problems are resolved. As usual I will keep an eye on the forum for bug reports. Next on my todo list is the implementation of applicable features added in this update to Isometric maps as well.

Enjoy!

Now that the update is up, my attention will be elsewhere for the next couple days, namely 1) Hurricane Arthur careening in my general direction and 2) 4th of July celebrations.

Phoenixongogo, if you could send me a project exhibiting the behavior you’re seeing with sprite sorting that would be very helpful. I’ll have a look at it as time becomes available. 

Hi all,

Just wanted to let you know my apps powered by MTE are now available on both platform.

Description:

Tender and delicious looking adorable sheep: “Mochi-Sheep” now come alive in our 3 relaxing game! 
check them out: 

 

"Sheepo Graze” - Lead Mochi-Sheep graze around the pasture, avoid obstacles and other sheep, do as many combo as you can to make higher score!

jgF6mg9.png

wWGBDgt.png

 

 

"Sheepo Save” - Save the Mochi-Sheep from hungry wolves, test your eye-hand skill to see how many wolves you can knock out!

AjAyHbX.png

6ozURxG.png

 

"Sheepo Snake” - Enjoy classic snake game with adorable Mochi-Sheep, try make a incredible long sheep snake parade!

mtpnL60.png

4y5rWOO.png

 

App Store links:

Sheepo Graze

Sheepo Save

Sheepo Snake

Google Play Store links:

Sheepo Graze

Sheepo Save

Sheepo Snake

Get them now for FREE! 

More fun games here:  Marugemon Homepage

Get news from us on: Marugemon Facebook Page

Follow us on Twitter: @Marugemon

Share your thought if you like, thanks 

@dyson122 Where can I buy MTE? The gumroad link says “this product is not currently for sale” and I can’t find any other links to buy this. Is this discontinued?

Very cute graphics and amazing smooth gameplay. Thanks for sharing as an example of what can be achieved with MTE. This is great!!!

chillfok, I get the purchase screen for MTE just fine – although I do see the “not available” message for a second before it changes to a buy screen. Try switching to a different browser to see if that helps.

 Jay

That’s very strange. I tried with 5 different browsers (Chrome, Firefox, Safari, and Safari on my iPhone and iPad) to no avail. I even connected through a proxy just in case my Boston IP was somehow banned and I get the exact same page. Where are you connecting from physically?

Continuing to support and develop MTE no longer makes financial sense. I can’t in good conscious charge for something I do not intend to support. I’m evaluating my options. Refunds for some of the most recent purchases might be in order, and MTE might become another free but unsupported tile solution. I’m not sure yet. I do know that this has been a long time coming. I’d hoped to split my attention between a job and MTE, but merely handling customer support (which itself generates no direct income) has often taken as many hours as a job itself, not to mention the time needed to actually continue development. 

At any rate, my active participation in the indie scene and in the Corona SDK community is probably at an end for the foreseeable future.

Any input pertaining to the future of MTE is appreciated.

dyson122, so sorry to hear that. Let me suggest a few options.

  1. Open source it and let the strongest “fork” win.

  2. Sell it to the Corona SDK people.

  3. Make it donation-ware.

  4. Implement a model where the actual product is free but support is not (see MySQL or Redhat).

So for folks like me who even after reading your disclaimer are willing to pay for the software even though you explicitly mentioned that you will not be supporting it anymore… Could we still get our hands on it? 

That’s a tough one. 

  1. You could sell it as unsupported; using the Corona community to fill that gap. 

  2. You could talk to Jay or Corona Labs about options there.

  3. You could open it up on github so that others can maintain it.

As somebody actively building a game using MTE I hope to see an option where it is maintained by somebody, long term. I think to a certain extent I can do that myself; I don’t really know the codebase anymore but adapting to Corona is usually not too bad. But like you said, it can be tough to find someone who has the time to maintain *and* support it.

I suppose in an ideal world I’d like to see it supported as either a CL option or Jay’s stuff, just because I think the current version is fundamentally so sound that I’m not really interested in seeing much in the way of improvements. It works. It’s a fundamentally important aspect of making real 2D games. I’d hope someone is out there with the time/money on their hands to keep it going.

Sad to hear that :frowning: We know that you don’t get any money out of helping us in customer support, and we do GREATLY appreciate it. You have helped a lot of us greatly and made some of our games come to life and not just rust in a corner… I would gladly donate more to help this project live longer. I understand that continuing this project doesn’t make finance sense, so thank you for delivering an amazing product to us and good luck in the future! And thanks for helping me out in the past (hopefully I can show you what I created using MTE very soon)!

What horrible news, but I can’t fault you for making that decision. Game dev is a subset of programming, Corona dev is a subset of game dev, and tile-based games are a subset of Corona dev, so making a living in this market is hard. Or even impossible in many cases. :frowning:

MTE is a great tool and I’d hate to see it go completely away. Good luck with whatever you decide.

 Jay

Hey Dyson,

Take a break, let it alone for a bit, but don’t give it up!  You already have the best tile engine in existence.  

But here’s some good advice from a book called ‘Reworked’… Make half a product, not a half-assed product :)   Which means finish the core functionality and leave it at that.  when a few dozen people ask for a feature, maybe do it but not until then.  You will find your support effort goes down a whole bunch and quality jumps.

I know this from experience, with my fitness software I bolted everything I could onto it, everything people asked for until I could no longer maintain it or grow it.   It became zero sum.

So strip out what mte doesn’t need, keep it solid and let it live!

And a BIG thanks to you because without you and MTE, I couldn’t have gotten Stellar Trek out the door!

https://play.google.com/store/apps/details?id=com.gbeegames.stellartrek

Hey Dyson, 

Just want to say best of luck and success to you in whatever endeavor you choose next. MTE is an amazing library and I think a lot can be achieved with it in its current form with no other improvement. As long as Corona SDK changes don’t break it along the way, I think you can simply stop improving MTE and do what you need to do in order to put food on the table.

Keep well and don’t be a stranger please. Regards,

Kerem

The QuizTix series of games is also powered by MTE. You may think ‘it’s only a quiz game’ but when the camera is zoomed out you can see roughly 1,000 tiles (256x256), 500 seats (256x512) and 500 characters (256x512) and it runs great! Thanks 

again Dyson for all your hard work.

We have 4 versions available on iOS and Android: Movies, Pop Music, World Football (soccer) and Video Games. So far our players have answered over 11 million questions.

www.quiztix.co

twitter.com/quizbo

Hi Dyson,

I believe everyone here share a common goal: Do what they like to make life.

however sometime it just not always as easy as we thought, if there are no financial problems, we believe you will keep developing MTE in full time.

Here are some other ideas to increase revenue from MTE: 

  1. fee of update - every major update charge some dimes, the users could choose update the latest version or next one.

  2. fee of technical support ticket - charge few dimes for asking support from you except bug report.

  3. make a donation option on Gumroad - there are always someone willing to pay more to support developers

Maybe they won’t help a lot in short time, but I believe they could be at least some financial support for long term. MTE just like your baby, you spent lot of time to grow it from none and make it so powerful to help a lot of us. MTE is the best one of it’s kind.

Do what you must, and please don’t forget to do what you love to. :slight_smile:

Regards,

Hi,

I bet this has been answered before and appologies if that is the case.

But can someone tell me how I can detect touch event on a tile map ? Like what I want to do is to remove a tile if it get toched.

Regards

Rotter