Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

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

568 replies to this topic
tile tiles lightning blazing engine tile engine
[TOPIC CONTROLS]
Page 3 of 23 1 2 3 4 5 »
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#51

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

Mario samples are so passé.

 

 

 

Thanks for the Kudos SegaBoy! I look forward to seeing what you come up with.



[TOPIC: post.html]
#52

binarymoon

[GLOBAL: userInfoPane.html]
binarymoon
  • Observer

  • 19 posts
  • Corona SDK

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



[TOPIC: post.html]
#53

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

Not quite yet, binarymoon. Next week I'll be bringing all the new samples together and releasing them with the new MTE update. 



[TOPIC: post.html]
#54

pauloaguiar

[GLOBAL: userInfoPane.html]
pauloaguiar
  • Observer

  • 21 posts
  • Corona SDK

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.



[TOPIC: post.html]
#55

RLRL

[GLOBAL: userInfoPane.html]
RLRL
  • Observer

  • 20 posts
  • Corona SDK

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. 



[TOPIC: post.html]
#56

pauloaguiar

[GLOBAL: userInfoPane.html]
pauloaguiar
  • Observer

  • 21 posts
  • Corona SDK

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

Attached Files



[TOPIC: post.html]
#57

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

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. 



[TOPIC: post.html]
#58

pauloaguiar

[GLOBAL: userInfoPane.html]
pauloaguiar
  • Observer

  • 21 posts
  • Corona SDK

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.



[TOPIC: post.html]
#59

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

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. 



[TOPIC: post.html]
#60

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

Million Tile Engine version 0.8 is now available!

 

http://gum.co/staO


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.



[TOPIC: post.html]
#61

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

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.



[TOPIC: post.html]
#62

Ninja Pig Studios

[GLOBAL: userInfoPane.html]
Ninja Pig Studios
  • Contributor

  • 572 posts
  • Corona SDK

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?



[TOPIC: post.html]
#63

SegaBoy

[GLOBAL: userInfoPane.html]
SegaBoy
  • Contributor

  • 635 posts
  • Corona SDK

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



[TOPIC: post.html]
#64

SegaBoy

[GLOBAL: userInfoPane.html]
SegaBoy
  • Contributor

  • 635 posts
  • Corona SDK

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



[TOPIC: post.html]
#65

dingo

[GLOBAL: userInfoPane.html]
dingo
  • Contributor

  • 700 posts
  • Corona SDK

Mario samples are so passé.

 

 

 

Thanks for the Kudos SegaBoy! I look forward to seeing what you come up with.

 

this looks awesome! what about NPC and all, enemies? Do you think tha'ts an easy thing to add?

 

congrats again!



[TOPIC: post.html]
#66

Danny

[GLOBAL: userInfoPane.html]
Danny
  • Corona Geek

  • 2,597 posts
  • Corona Staff

this looks awesome! what about NPC and all, enemies? Do you think tha'ts an easy thing to add?

 

congrats again!

 

Indeed, great work :)



[TOPIC: post.html]
#67

nick_sherman

[GLOBAL: userInfoPane.html]
nick_sherman
  • Corona Geek

  • 1,631 posts
  • Corona SDK

Very nice - I had a sonic demo going, had him running, sprinting, jumping, spinning, ducking, skidding etc, now I have an easy way to do the parallax scrolling and level design :)



[TOPIC: post.html]
#68

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

Well, SegaBoy, I wasn't originally planning on adding physics support at all, but after working on the platformer samples it occurred to me that physics could simplify some of the tasks particularly where different game genres cross. It makes sense to do your own calculations to control Sonic because he doesn't necessarily act in a physically accurate way, for example he sticks to sloped ground rather than running into the air at high speeds. However if someone just wants to, say, bounce a ball around a room in an RPG in a freeform manner- not locked to the grid- it would be a hassle for them to have to program the whole state engine just for that sideshow. 

 

@Ninja Pig Studios; SegaBoy has it down. I don't have access to my files right now, but collision detection basically boils down to calculating the future position of your sprite, checking for tiles there, and checking for whatever tile property you use to determine whether a tile is solid or not. For RPG type games where the sprites are fixed to a grid like CastleDemo, this is pretty straightforward. You just add or subtract 1 from the sprite's locX or locY parameter and check that location for solid tiles. Collision detection in a platformer is more or less the same but with per-pixel accuracy. You figure out where the "feet" of the sprite will be and check to see if they're within a tile. If they are you adjust the velocity so they land ontop of the tile. The feet in this case are points you define in your code relative to the sprite. Platformer collision detection can be a little tricky, but I'm hoping Physics integretion will make this easier for people.

 

@dingo; The hardest part of Sonic movement in my opinion is getting him to stick to and land on the ground. Once that is taken care of the rest is relatively easy because it only interacts with the code you already have. The ground collision code would work for enemies without changes if I remember right. All you'd need for the enemies is their own velX, velY, etc 2D movement variables. Flying enemies would be quiet a bit simpler. Jumping on an enemy would be as easy as checking for a distance threshhold between the Sonic sprite and the enemy, checking whether Sonic's isJumping variable is true, and if so adding to his Y velocity for the characteristic post-baddy-destruction hop. Spinning, spindash, ducking, etc, would all involve finagling with the control inputs and setting up a bunch of boolean flags, but the annoying part- the ground detection- would need little modification.

 

@Danny; Thanks Danny! Kudos are much appreciated. 

 

@nick_sherman; Thanks nick_sherman! I'd been itching to do something Sonic related for a while now.



[TOPIC: post.html]
#69

pauloaguiar

[GLOBAL: userInfoPane.html]
pauloaguiar
  • Observer

  • 21 posts
  • Corona SDK

Thanks for update 0.8 dyson122! Performance improvements anywhere are always good to hear

 

EDIT: So im wondering how to make the player "stop" when trying to walk over certain tiles. In your examples you used Solid:true, but that doesnt work on my tiles.



[TOPIC: post.html]
#70

DeadPixelStudio

[GLOBAL: userInfoPane.html]
DeadPixelStudio
  • Observer

  • 3 posts
  • Corona SDK

Congratulations, this looks like one of the coolest things to be offered in the Corona community for some time.

 

Insta-buy...even though I'm not currently in need of a tile engine I've purchased to show support of your efforts. Well done sir.



[TOPIC: post.html]
#71

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

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. 



[TOPIC: post.html]
#72

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

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



[TOPIC: post.html]
#73

dyson122

[GLOBAL: userInfoPane.html]
dyson122
  • Contributor

  • 590 posts
  • Corona SDK

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. 



[TOPIC: post.html]
#74

steve67

[GLOBAL: userInfoPane.html]
steve67
  • Enthusiast

  • 73 posts
  • Corona SDK

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

00000595.png



[TOPIC: post.html]
#75

stillen

[GLOBAL: userInfoPane.html]
stillen
  • Observer

  • 13 posts
  • Corona SDK

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

00000595.png

 

Is your new D-pad a jpeg or png?  JPEGs don't support transparency.




[topic_controls]
Page 3 of 23 1 2 3 4 5 »
 
[/topic_controls]