Do you have a rough timescale as to when the performance issues will be fixed? This is the big killer for Lime at the moment. [import]uid: 13089 topic_id: 4422 reply_id: 15948[/import]
I have word from Carlos that him and I will be discussing the performance issues and possible solutions this week so I hope to have more info (and hopefully good news) soon.
I agree that it is very much holding everyone back, myself included as I actually want to make games with it too [import]uid: 5833 topic_id: 4422 reply_id: 15949[/import]
That’s good to hear!
Quick question, I’m just trying to figure out how to do simple sprite versus tile collision (if collide, then don’t move), but can’t quite figure out how to go about this. I’m not looking to use physics here, just simple boundary detection.
The tiles have a property of collide = true. The player is a sprite that can move in four directions (created by newSprite). Sometimes the map moves, sometimes the sprites moves; but player.x and player.y remain constant, that’s what I’m looking to test against.
So, if I’m moving right, if player.x + {number} would cause a collision with a tile with {collide = true}, how would I go about checking for this?
Thanks. [import]uid: 13089 topic_id: 4422 reply_id: 15951[/import]
If I’m understanding correctly you want to be able to get a tile at a certain position and see if it has a collide property, correct?
If so then the following API calls will help there:
http://justaddli.me/api.php?c=map&m=getTileAt
http://justaddli.me/api.php?c=map&m=getTilesAt
http://justaddli.me/api.php?c=layer&m=getTileAt
With access to the tile you could then check if it has the collide property with this function - http://justaddli.me/api.php?c=tile&m=getProperty
And then stop player movement if it does.
Assuming this is what you were after, would a tile:hasProperty() function be useful, as well as for layers, objects etc as sometimes you don’t need to know what the value of the property is just whether it has it or not.
If this wasn’t what you needed then I’ll try again [import]uid: 5833 topic_id: 4422 reply_id: 15952[/import]
That should work great, close to 2am here (as you know); and my brain died when looking through the documentation.
Hmm, a hasProperty function would be pretty useful in the long run I think :). [import]uid: 13089 topic_id: 4422 reply_id: 15953[/import]
My brain usually survives till around 3 before I start getting code-blindness, little while to go yet
The hasProperty stuff will be in the next drop. I’m also working on an exciting new feature, Berries. More information to come shortly when I have something to show of it. [import]uid: 5833 topic_id: 4422 reply_id: 15954[/import]
Can’t wait to see the next version :). Should have a Youtube video that is a few minutes long to showcase what we’re making in the next few days (hopefully).
We’ve also put an advert for Lime on our blog (which has a meagre 500~ uniques per day at the moment).
http://udesign.me/blog/?p=13 [import]uid: 13089 topic_id: 4422 reply_id: 15955[/import]
Can’t wait to see more of what you are working on, your first screencast was awesome! Bring on the vid
Thanks for the shout out and 500 uniques a day is good If I got 1% of that as paying customers a day (hell even a week) I’d be very happy.
If you have any specific requirements etc don’t forget to add them to the Feature Requests thread.
P.S. I also love your use of the .me domain, only cool people use that extension [import]uid: 5833 topic_id: 4422 reply_id: 15956[/import]
@GrahamRanson
+1 on the performance issue bug, any news on the incorrect coordinate bug on isometric? I have been working around the issue. [import]uid: 11334 topic_id: 4422 reply_id: 15960[/import]
Graham,
Using layer:getTile… I’m getting an error message of “attempt to perform arithmetic on field ‘x’”.
[lua]local layer = map:getLayer( “Collision” )
local tile = layer:getTileAt({x=pos.x, y=pos.y})
local value = layer:getPropertyValue( “collide” )
print( value )[/lua]
Can you think of why this might be happening? [import]uid: 13089 topic_id: 4422 reply_id: 15961[/import]
Berries are yummy!!!
Glad to hear you and Carlos are going to have a pow-wow. I actually think you should be getting the beta peeks from them under the NDA to see if what they are doing is helping or breaking your library. [import]uid: 11904 topic_id: 4422 reply_id: 15962[/import]
Sorry about the delay, I will be looking into that tomorrow.
Yup, I know exactly what was happening. I should have stopped coding at 3am A fix for that silly bug will be up in the next drop which will be in about 30 mins.
In the next drop will be the previous fix mentioned, the hasProperty() stuff as well as the initial support for the new Berries features. It is nearly 4am now so I won’t be explaining them tonight but will write up a post about them tomorrow and then get onto the a tutorial and parallax stuff.
[import]uid: 5833 topic_id: 4422 reply_id: 15967[/import]
The next drop is up - http://justaddli.me/downloads/builds/beta/LimeBeta1.4.zip
I will update the docs and explain Berries tomorrow, my brain is dead
Oh and newbie101, could you send me a copy of your project (or just a simplified version if you don’t want to send the whole thing) demonstrating the isometric object problem to graham AT grahamranson DOT co DOT uk
I will then take a look at that tomorrow.
Graham, Out. [import]uid: 5833 topic_id: 4422 reply_id: 15969[/import]
Thanks for the new update :). [import]uid: 13089 topic_id: 4422 reply_id: 16000[/import]
No problem [import]uid: 5833 topic_id: 4422 reply_id: 16003[/import]
Graham,
Since the update I’m getting an error when calling getTileAt:
local tileLayer = game.map:getLayer(“Background”)
local nextTile = tileLayer:getTileAt({x=newx, y=newy})
THis produces the following error:
Runtime error
/Users/robsta/code/spart_lua/lime-ugni.lua:10: attempt to perform arithmetic on field ‘tilewidth’ (a nil value)
stack traceback:
[C]: ?
/Users/robsta/code/spart_lua/lime-ugni.lua:10: in function ‘worldToTilePosition’
/Users/robsta/code/spart_lua/lime-lychee.lua:573: in function ‘getTileAt’
/Users/robsta/code/spart_lua/unit.lua:62: in function ‘move’
/Users/robsta/code/spart_lua/main.lua:39: in function
?: in function <?:214>
I notice from the error that the worldToTilePosition in ugni might be the issue?
Cheers!
Rob
[import]uid: 12431 topic_id: 4422 reply_id: 16005[/import]
Sorry again, that was me being an idiot. The fix will be in the next drop but if you need it now just download this update to Lychee - http://dl.dropbox.com/u/571145/lime-lychee.lua [import]uid: 5833 topic_id: 4422 reply_id: 16008[/import]
Thanks Graham, that fixed it [import]uid: 12431 topic_id: 4422 reply_id: 16012[/import]
Awesome stuff.
And in case anyone is wondering, all these sorts of silly mistakes won’t happen when we leave private Beta, I will have a set of regression tests to run before each release [import]uid: 5833 topic_id: 4422 reply_id: 16017[/import]
A new version is up - http://justaddli.me/downloads/builds/beta/LimeBeta1.5.zip
In this there is the fix from above as well as a hopefully useful feature for debug purposes.
Basically when I was trying (and still haven’t managed) to fix the isometric object positioning bug I found it helpful to actually be able to see the object in game (naturally), so I used objectListeners to place a rectangle over each object which worked fine but I wanted something more. Then I noticed that in Tiled object layers can have colours and visibility set. Idea.
You can use these functions to switch them on and off:
http://justaddli.me/api.php?c=map&m=showDebugImages
http://justaddli.me/api.php?c=map&m=hideDebugImages
http://justaddli.me/api.php?c=map&m=toggleDebugImagesVisibility
http://justaddli.me/api.php?c=objectLayer&m=showDebugImages
http://justaddli.me/api.php?c=objectLayer&m=hideDebugImages
http://justaddli.me/api.php?c=objectLayer&m=toggleDebugImagesVisibility
http://justaddli.me/api.php?c=object&m=showDebugImages
http://justaddli.me/api.php?c=object&m=hideDebugImages
http://justaddli.me/api.php?c=object&m=toggleDebugImagesVisibility
http://justaddli.me/api.php?c=object&m=isDebugImageVisible
To set an object layers colour, simply right click it in the Layer window of Tiled and select properties, you can then choose it from the picker box.
Designers can also switch them on and off from Tiled through the LDI:
http://justaddli.me/ldi.php?c=map&p=Objects:DisplayDebug
In the next version the object layer opacity will also (hopefully) be supported, however I’m not sure how useful that will be but I want to support all of Tileds features.
I will now start writing up the Berry features. [import]uid: 5833 topic_id: 4422 reply_id: 16023[/import]