Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

Million Tile Engine Beta Release
Started by dyson122 Mar 25 2013 12:15 PM

554 replies to this topic
tile tiles lightning blazing engine tile engine
[TOPIC CONTROLS]
« Page 22 of 23 20 21 22 23
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#526

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Enterprise
  • PipPipPipPipPipPip
  • 584 posts
  • Jedi

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


[TOPIC: post.html]
#527

phoenixongogo

[GLOBAL: userInfoPane.html]
phoenixongogo
  • Starter
  • PipPipPip
  • 30 posts
  • Advanced Member

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 :)

 



[TOPIC: post.html]
#528

phoenixongogo

[GLOBAL: userInfoPane.html]
phoenixongogo
  • Starter
  • PipPipPip
  • 30 posts
  • Advanced Member

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 :)



[TOPIC: post.html]
#529

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Enterprise
  • PipPipPipPipPipPip
  • 584 posts
  • Jedi

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!



[TOPIC: post.html]
#530

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Enterprise
  • PipPipPipPipPipPip
  • 584 posts
  • Jedi

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. 



[TOPIC: post.html]
#531

chillfok

[GLOBAL: userInfoPane.html]
chillfok
  • Pro
  • PipPipPip
  • 42 posts
  • Advanced Member

@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?



[TOPIC: post.html]
#532

J. A. Whye

[GLOBAL: userInfoPane.html]
J. A. Whye
  • Pro
  • PipPipPipPipPipPip
  • 1,533 posts
  • Jedi

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



[TOPIC: post.html]
#533

chillfok

[GLOBAL: userInfoPane.html]
chillfok
  • Pro
  • PipPipPip
  • 42 posts
  • Advanced Member

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?



[TOPIC: post.html]
#534

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Enterprise
  • PipPipPipPipPipPip
  • 584 posts
  • Jedi

@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?

 

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.



[TOPIC: post.html]
#535

chillfok

[GLOBAL: userInfoPane.html]
chillfok
  • Pro
  • PipPipPip
  • 42 posts
  • Advanced Member

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? 



[TOPIC: post.html]
#536

richard9

[GLOBAL: userInfoPane.html]
richard9
  • Pro
  • PipPipPipPipPipPip
  • 1,106 posts
  • Jedi

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.



[TOPIC: post.html]
#537

Azmar

[GLOBAL: userInfoPane.html]
Azmar
  • Pro
  • PipPipPipPipPipPip
  • 78 posts
  • Jedi

Sad to hear that :( 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)!



[TOPIC: post.html]
#538

J. A. Whye

[GLOBAL: userInfoPane.html]
J. A. Whye
  • Pro
  • PipPipPipPipPipPip
  • 1,533 posts
  • Jedi

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.

 

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. :(

 

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

 

 Jay



[TOPIC: post.html]
#539

gb8

[GLOBAL: userInfoPane.html]
gb8
  • Starter
  • PipPipPipPipPipPip
  • 115 posts
  • Jedi

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

 

Attached File  slide4.jpg   64.18KB   0 downloads



[TOPIC: post.html]
#540

ksan

[GLOBAL: userInfoPane.html]
ksan
  • Pro
  • PipPipPipPipPipPip
  • 2,601 posts
  • Jedi

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



[TOPIC: post.html]
#541

phoenixongogo

[GLOBAL: userInfoPane.html]
phoenixongogo
  • Starter
  • PipPipPip
  • 30 posts
  • Advanced Member

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. :)

Regards,



[TOPIC: post.html]
#542

rotter

[GLOBAL: userInfoPane.html]
rotter
  • Starter
  • PipPip
  • 20 posts
  • Member

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



[TOPIC: post.html]
#543

Azmar

[GLOBAL: userInfoPane.html]
Azmar
  • Pro
  • PipPipPipPipPipPip
  • 78 posts
  • Jedi

Touched by what an ingame player or your finger? Player just do an onCollision test and finger just do if touch on the object call the removeTileFunction...or really just make it an object in Tiled that looks like a tile and remove it simple



[TOPIC: post.html]
#544

rotter

[GLOBAL: userInfoPane.html]
rotter
  • Starter
  • PipPip
  • 20 posts
  • Member

Azmar,

 

Thanks for the quick response. It's by touching with a finger.

I actually found a soultion shortly after posting this :D by attaching the listner to getMapObj.

http://forums.coronalabs.com/topic/33119-million-tile-engine-beta-release/page-16

 

Thanks



[TOPIC: post.html]
#545

rotter

[GLOBAL: userInfoPane.html]
rotter
  • Starter
  • PipPip
  • 20 posts
  • Member

Ok next stuipd question,

 

How can I get the tile that exist on a event.x,event.y position ? Tried to use mte.convert but it seems that was the wrong idea.

 

Cheers



[TOPIC: post.html]
#546

rotter

[GLOBAL: userInfoPane.html]
rotter
  • Starter
  • PipPip
  • 20 posts
  • Member

Ok, to answer my own question again

            local pos=mte.convert('screenPosToLoc', event.x, event.y)
 

Need to stop getting frustrated and start to read....... ;)



[TOPIC: post.html]
#547

AppDeveloperGuy

[GLOBAL: userInfoPane.html]
AppDeveloperGuy
  • Starter
  • PipPip
  • 23 posts
  • Member

Hi dyson, I just wanted to join others by saying how sorry I am to learn this news. MTE is a fantastic product and engine: a great achievement. It would be a real shame to see all that hard work, and the engine itself, disappear. MTE is the backbone to several games I currently have in development and like many others I wouldn't want to see it vanish or cease to exist either.

 

I also appreciate and understand - not to mention experience(!) - the financial pressures of the real-world and the harsh reality that all too often indie app development is an incredibly time consuming and financially unrewarding hobby rather than the additional revenue stream we would like it to be. There are far quicker and easier ways to earn a few bucks, right?

 

I'm hoping that we - the customer base and MTE community - can help you to find a solution to keep MTE going in a way that both rewards you for your efforts and frees up your time so you can actually go out and earn a living (not to mention have a social life too). I really like chillfok's suggestions...

 

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? 

 

...and would add 5) Keep the existing paid license model and let the community answer API related questions and provide support. Don't feel the need or obligation to respond to every post yourself or implement every feature request you receive. Make it clear what it is that people are actually purchasing so there is no additional expectation or demand on your time.

 

I think this approach would allow you to continue to receive revenue for the product you've spent so long developing as well as free up your time. R&D is the most expensive part and now you get to benefit from that work with a finished product and greater economies of scale through sales. It'll be a shame to close the project now that all the hard work is done.

 

I do hope you reconsider and that we can help you find a viable solution that helps keep MTE alive.

 

All the best.

 



[TOPIC: post.html]
#548

AppDeveloperGuy

[GLOBAL: userInfoPane.html]
AppDeveloperGuy
  • Starter
  • PipPip
  • 23 posts
  • Member

Open Source

 

I just wanted to add that if you did decide to open source MTE then I would be interested in contributing, as and when I could, as I'm sure many others would. In its current form MTE is mostly production ready (right?) and would probably only require the occasional patch were a Corona update (public release) to break it or a bug were to be discovered. It would certainly take the burden from you if we could contribute fixes. Also, at 17,400 lines of code MTE is a bit of a beast so would definitely benefit from being more modular if it were to be maintained by multiple developers. This would also facilitate the contribution and integration of new features by the community over time. For example, I use Jumper with MTE to provide pathfinding - https://github.com/Yonaba/Jumper - and would be happy to contribute the integration code as an MTE plugin, although I'd need to make that more modular myself first.

 

Modular Business Model

 

It might also be worth considering stripping MTE back and have a business model that's similiar to Corona SDK itself. With more modular code, for example, you could release "MTE Starter" for $25 and this would provide the basic core features / everything you need for a 2D top-down tile game. You could then sell modular extensions, which have "MTE Starter" as a dependency. So, you could sell the platform game module for an additional $10, say, and the isometric game add-on module for a further $10. If maintaining the physics engine aspects is more time consuming and complex then separate that out and charge more for that too, say $5 extra.

 

So, if a new customer wanted to make a basic 2D tile game then MTE would cost them just $25. The lower price might encourage more sales. If they then wanted to make a platformer down the road it'd be an additional $10 for that add-on (the cost is now equal to MTE's current $35 price tag). A platformer with physics? It's an extra $5 for that module, etc.

 

Making MTE more modular and encapsulated would not only ease the burden of maintenance and the inclusion of new features but you could also use it to increase sales and ultimately revenue. Rather than trying to be everything to everyone, as it currently is, you give developers the option to buy just the modules they need and buy additional components (such as the recent appendMap) or full extensions (isometric gameplay) when needed. It's definitely worth considering - if MTE were mine it's what I would do. :)

 

I think there's a lot of future left in MTE and the potential for some great games to be developed relatively quickly with it (quicker than would be without it). It would be a real shame for everyone - you, us, and Corona Labs - if it were to disappear forever.

 

Please keep up the good work and best of luck in your job hunting / new job. If we can help with MTE in any way please let us know.

 

Best wishes.



[TOPIC: post.html]
#549

FAVIO007

[GLOBAL: userInfoPane.html]
FAVIO007
  • Starter
  • Pip
  • 4 posts
  • Newbie

@dyson122, Sorry if I bother you but I am newbie on Corona and I’d like to start developing games; I am using right now Corona and Lime; and I am looking for another product.

The link provided by this web in order to download MTE says "this product is not currently for sale" and I can't find a way to obtain that product. I notified that you have discontinued the product but, is there any chance to send me the link to download the product, and add any examples/tutorials for beginners?

Please let me know.



[TOPIC: post.html]
#550

chillfok

[GLOBAL: userInfoPane.html]
chillfok
  • Pro
  • PipPipPip
  • 42 posts
  • Advanced Member

I second that. I would like to buy it regardless of whether it is supported or not. 

 

And this goes out to everyone else: would anyone care to sell me their MTE license?




[topic_controls]
« Page 22 of 23 20 21 22 23
 
[/topic_controls]



Also tagged with one or more of these keywords: tile, tiles, lightning, blazing, engine, tile engine