xbgao / angle

Automatically exported from code.google.com/p/angle
0 stars 0 forks source link

Tile Map Editor #10

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
I have been evaluating 2D game engines for the Android.  So far I have notcied 
that none of the engines support any standdard tile map formats.

One of the biggest tile map formats on the iPhone is the "TMX" format.  It is 
xml based with base64 encoding.  If your engine could read these files that 
would be awesome becuase most people could port their iPhone games to Android.

Their is and GUI editor that exist for this and it is quite popular with the 
iPhone crowd.

Here is the link: http://www.mapeditor.org/

Original issue reported on code.google.com by StanleyC...@gmail.com on 18 Jul 2010 at 2:53

GoogleCodeExporter commented 8 years ago
A'll check it.

Original comment by ipaju...@gmail.com on 19 Aug 2010 at 7:08

GoogleCodeExporter commented 8 years ago

Original comment by ipaju...@gmail.com on 19 Aug 2010 at 7:12

GoogleCodeExporter commented 8 years ago
I'll be available for any questions. I can also help if there are any specific 
things in your engine that would be nice to support on Tiled maps. Note that 
there is a branch in the Tiled Qt git repository that adds a small 
libtiled-java which is meant to be suitable for use by Java engines/games 
wanting to use Tiled maps (it's stripped out of the old Java version of Tiled, 
but so far untested).

I'm the author of Tiled btw, and the more engines support its map format the 
better of course. :-)

Original comment by b.lindeijer on 19 Aug 2010 at 8:10

GoogleCodeExporter commented 8 years ago
To Bjørn Lindeijer.
I hope you read this comment. I didn't find any way to contact you.
I'm adding support for Angle to load Tiled maps.

Original comment by ipaju...@gmail.com on 20 Sep 2010 at 2:29

GoogleCodeExporter commented 8 years ago
Nice! Btw, I've starred this issue so any comments you put here will be read by 
me. :-)

Original comment by b.lindeijer on 20 Sep 2010 at 8:57

GoogleCodeExporter commented 8 years ago
Hello again Thorbjørn.

Finally I decided to finish ANGLE 2.0 and I'm glad to say you Angle2 will have 
TMX tilemaps included by default. I hope I can finish a little demo this week.
Angle2 is even faster than Angle.
Due to speed optimization, it's really important the way you build the render 
trees. You can build them as you want but following some basic rules (I'll 
prepare a tutorial as soon as possible). You can acquire 60fps with a lot of 
graphics in older devices like my Hero. With this, you can achieve 60fps in 
modern devices using more graphics than your eyes can handle (in 2D btw)

You can see the progress in ANGLE2 branch.

Original comment by ipaju...@gmail.com on 6 Jun 2011 at 4:12

GoogleCodeExporter commented 8 years ago
Cool, and thanks for the update!

Unfortunately I don't have an Android device myself, but I'm looking forward to 
add a link to ANGLE 2 from the Tiled wiki once it is out. :)

Original comment by b.lindeijer on 6 Jun 2011 at 4:31

GoogleCodeExporter commented 8 years ago
The head revision of Angle2 branch now support TileMaps loadables from TMX 
files.
These TileMaps can be scaled for zoom purposes (do not confuse with Angle2 
global scaling for resolution independence). Also support per layer tint/alpha 
and positioning.
61fps in my Hero with 1 layer.

Original comment by ipaju...@gmail.com on 9 Jun 2011 at 9:18

GoogleCodeExporter commented 8 years ago
Sounds good! Note that in Tiled 0.7 I will add support for flipping tiles as 
demonstrated in http://www.youtube.com/watch?v=FqMXI_yWMBs&hd=1

Maybe you want to support that in Angle 2 as well. I'm using the high bits of 
the global tile IDs to store the flipped state. Here's the code storing the 
information in the gid: 
https://github.com/bjorn/tiled/blob/master/src/libtiled/gidmapper.cpp

Original comment by b.lindeijer on 12 Jun 2011 at 12:09

GoogleCodeExporter commented 8 years ago
Already included the flipping support.
TMX maps limitations in Angle2:
.-Don't use GID>0x7FFF.
.-Don't use more than 1 tileset per layer.
.-Map and layers width and height must be the same.
.-<tile> within <layer> not supported.
.-Only Base64 with GZip supported.
.-Transparent colour on tilesets. Use 32bit PNGs instead.
All other features are completely supported. These limitations are due to 
performance.
Other extra features added are:
.-Full zoom support
.-Per pixel clipping

Performance on my hero at 3/4 of screen using clipping and zoom
sewers (2 layers) without opacity support 61fps
sewers (2 layers) with opacity support 52fps

In full screen using clipping and zoom
sewers (2 layers) without opacity support 35fps
sewers (2 layers) with opacity support 33fps

Fresh news soon...

Original comment by ipaju...@gmail.com on 13 Jun 2011 at 10:52

GoogleCodeExporter commented 8 years ago
Most of those limitations sound reasonable. The one with only allowing one 
tileset per layer is shared with cocos2d-iphone and Moai SDK. I should consider 
supporting this restriction as a feature in Tiled.

The default compression used by Tiled is zlib since version 0.6. I hope you 
support that too in addition to gzip?

Original comment by b.lindeijer on 13 Jun 2011 at 11:50

GoogleCodeExporter commented 8 years ago
One tileset per layer is due performance issues. The compression type is no 
problem. I didn't do it before only for laziness. It will be in the next 
revision, surely today.

The transparent colour limitation is not a limitation on whether.Is only a way 
of working. You can use a 32bit PNGs for tilesets.
The GIDs limited to 0x7FFFF is only for memory but I think you don't need more 
tiles per tilemap in a mobile device.

Original comment by ipaju...@gmail.com on 14 Jun 2011 at 9:27

GoogleCodeExporter commented 8 years ago
I know it is much faster to render a layer when you know that the same texture 
is used throughout, hence I will consider adding this restriction to Tiled as a 
feature. Probably Tiled 0.8 material though.

Original comment by b.lindeijer on 14 Jun 2011 at 9:32

GoogleCodeExporter commented 8 years ago
Has this been implemented? I see an AngleTileBank and AngleTileMap class in the 
source. I'm not sure how to use a tmx file in the map, since there's no 
argument for that. Can you post instruction on how to use?

Original comment by w...@lavabit.com on 19 May 2012 at 4:58