oh my - that looks awesome. Is this demo included with the engine? I wasn’t planning to start a tile based game until I’d finished my current game but I might have to change my plans…
Not quite yet, binarymoon. Next week I’ll be bringing all the new samples together and releasing them with the new MTE update.
Collision detection comes down to reading tile properties and checking for a property you’ve defined for that purpose. When creating your maps in Tiled you will have to add the relevant properties to your tiles. I look for solid:true because I added a solid property to some of my tiles and set it to true.
Thanks, DeadPixelStudio! Your support is appreciated.
AMAZING library. bought.
Really excited to make a game with this. So far it looks to have everything I will need. Read some of the documentation provided and going to give it a shot tomorrow. The example project is perfect for me as well. Looking forward to updates, and il definitely give my 2 cents when Ive actually messed around with it.
This engine is great. Works as advertised. Also the conversion functions from the grid to the real XY coordinates work as expected. I would really like better documentation however. Please make an API reference in HTML and not these PDF files. And add an example for each API.
But anyway this is a great product.
Okay made a map with two layers copied a bit of the code from the example for movement/sprites and im getting this error:
The command line however does realize my map file has a certain amount of tiles and levels.
the code is pretty much the same as the demo but uses my map and tilesets.
using the same spritesheet provided in the demo though
Hello pauloaguiar,
This problem usually comes up when the texture size divided by the tile size is not a whole number. For example, 256 / 32 = 8, but 15300 / 32 = 478.125. The first thing I’d try is cropping the tileset image width to 15296.
Something to keep in mind when moving forward is that most devices support a maximum texture size of 2048x2048. Some older phones only support 1024x1024. The simulator might load a 256x15296 image without a problem, but you’ll have to edit your image to fit within the maximum size to get good results on phones and tablets.
Thanks for the swift reply Is there any better way to make sure a texture size is properly dividable by 32? (if im using 32x32 tiles)…
Yeah i was just using a sample tileset for development purposes that was pretty long. Il make sure to chop them up better in the future. thanks for the second tip
I got it working with your example tiles now… :D. I guess when i hire an artist to make tilesets il just make sure they know about the spacing you mentioned in the pdf.
The safest bet is to bust out the calculator app and do the division. You can also look for whitespace or logos or nametages or anything like that around the tiles in the image. Generally the tiles should extend right up to each edge of the image. It’s easy enough to edit out these borders in Gimp or Photoshop.
If you assemble your tilesets using a program like TexturePacker the output is usually exactly as it should be, given the correct options are selected.
Prospective buyers can now download non-functional versions of the MTE sample projects to look at. They include all required assets except for the MTE engine file.
Platformer - Basic:
https://docs.google.com/file/d/0B8zoywKO40aiS0xUYWU1TEdxTlE/edit?usp=sharing
Platformer - Angled Floors:
https://docs.google.com/file/d/0B8zoywKO40aicEZDMzhBQklKc00/edit?usp=sharing
Platformer - Sonic Finale:
https://docs.google.com/file/d/0B8zoywKO40aiTE1obmRBQTAyVDg/edit?usp=sharing
CastleDemo:
https://docs.google.com/file/d/0B8zoywKO40aiUXpVTFhjVGd2Z1k/edit?usp=sharing
Last week was a slow one for a variety of reasons, but I’m back on track and back to work now. At the moment I’m working on a way to constrain the camera within a specified area in the map. Their are two primary uses for this functionality; preventing the very edge of non-wrapping maps from coming into view (more or less defining a map margin into which the camera won’t go); and creating “areas” on a map in which the camera stays until the area is removed or redefined (for example, focusing on individual rooms in a building, and snapping from room to room when going through doors). You’ll be able to define the camera constraints for individual layers or all layers together, and define whether the layers can move independently of each other to obey the constraints or force them to stay lined up (obey the most constraining constraint).
A prerequisite to this addition is modifying the engine so that all the layers can move independently, effectively having their own cameras. All the movement functions will have this functionality added to them, but they will remain fully compatible with current function calls. Basically every movement function will have a “layer” argument tacked onto the end of their arguments.
These are relatively small changes and additions I’m getting out of the way before starting work on Isometric map support.
Hey Guys,
I’m just starting out. I changed the D-pad graphic, but as you can see in this screenshot, the dropshadow is not semi transparent. It looks normal until I put it in the Corona Simulator. I noticed your Dpad has a transparent outer area - what am i missing? Thanks Guys
Million Tile Engine version 0.8 is now available!
MTE version 0.8 includes numerous performance optimizations focused on the convert and movement functions, but the biggest additions are definitely the new platformer/sidescroller sample projects, three in total, demonstrating varying complexity and capability and really showcasing the superior performance of the Million Tile Engine.
The storyboard sample isn’t yet available but will be sometime next week.
Sellbox customers, I’ve sent an email out to all of you with a link to get the new MTE update from Gumroad for free. This will get you into the system so you can take advantage of Gumroad’s built-in update system. Current Gumroad customers will receive an email with a direct link to download the update.
If anyone hits any snags, let me know and I will get them straightened out ASAP. That said, I will be on the road from this Friday to Monday and may not be able to do much over that time. Next week I’ll be tying up a few loose ends, going back over the documentation and making the files into HTML documents, addressing bugs if there are any, finishing some minor unrelated additions to the engine, and the like.
I have some big updates planned for MTE in the coming weeks and months. The two biggest, most requested and potentially most useful additions are Isometric tile support and Physics integration! These additions will come out in MTE 0.9 and MTE 1.0 respectively. I don’t have firm timelines in place for these additions quiet yet, but I’ll keep you all posted as things happen.
A discrepancy between the API docs and the newest update has been brought to my attention:
getTileAt(locX, locY, layer) in the API docs has become getTileAt(parameters). Parameters is a table which accepts locX, locY, levelPosX, levelPosY, and layer parameters.
For example:
mte.getTileAt(100, 100, 1)
is now
mte.getTileAt({locX = 100, locY = 100, layer = 1})
Thanks to richard9 for bringing this to my attention! This and any other discrepancies will be taken care of early next week when I update the documentation.
TL;DR the API and FAQ
Watched the videos and it looks awesome! I will have to pick this up over the summer.
Quick question, how do the collisions work. Your player doesn’t move through certain tiles…how does that work?
Is your new D-pad a jpeg or png? JPEGs don’t support transparency.
It’s a PNG and works normally everywhere else.
That is really strange indeed. Normally I would ask whether it is a PNG with an alpha channel and etc, but if it did not have an alpha channel then the entire square background would be white, not just the area immediately surrounding the shadow.
Can you post the dropshadow image file for us to look at?
Wow physics integration - this engine just gets better and better. I really didn’t think you’d be contemplating adding physics, if you can keep the speed up and handle all of the hassle with physics (groups, offscreen, etc…) then I, sir, will me mightily impressed.
Not that I’m not already
@NinjaPig - if it’s anything like the previous examples (haven’t downloaded the latest version yet), obstacles are simply a flag set in Tiled, which the engine calculates with an isObstacle function.