|
Post by quicksilva on Mar 14, 2005 19:02:08 GMT
OK, I`ve just purchased SpriteCandy and am very happy I just thought that I`d throw a couple of ideas at you that I would like to see added in the future. My first one has been mentioned elsewhere on this forum but I would really like to see images that can be half faded for effects such as water reflections etc... Secondly from looking at the demos of the alpha command the FPS still reads the same when all objects are completely faded. Shouldn`t the FPS go up? Would it not be best to hide the entities completely if they have zero alpha to increase performance? Does the frame rate still stay the same if the object goes off screen or is the object deleted and remade on reentry? Adding multiple images at a time in the image packer I think has been mentioned. How about the ability to create light sources that can be updated in real time and dictate where the shadows fall and options for shadow length, soft shadows, shadow colour etc... And lastly the ability to skew objects so that Street Fighter style perspective floors can be created easily. I hope you can include some of these to an already great product. Keep up the great work. Jason.
|
|
|
Post by Xpressive on Mar 15, 2005 9:39:30 GMT
Do you mean the ability to give each object vertex it's own color and alpha value yourself? This would be no problem and could be added to the next update, of course.
There is an important difference between hiding objects by setting their alpha to 0 and hiding them by using HUD_SetObjectVisibility:
If you set an object's alpha to 0, it will still be rendered. This is important since you can still rotate, resize it etc. and the object's coordinates, width, height will be kept up to date. You will need this in some cases, especially if you want to perform collision checks with invisible objects.
If you hide an object using HUD_SetObjectVisibility, it won't be rendered anymore and most of the object's properties won't be updated until you set it to visible again. This will save performance, but you should use this method only, if you don't want to 'use' those hidden objects.
Both cases may be quite useful.
Sprite Candy does not perform out-of-screen-checks by default, because you will still need objects that are outside the screen in some situations, depending on what you are doing. But it's very simple to do this yourself. Simply check if the x / y -coordinate of an object is < 0 or > screen width, for example and hide it then. You will keep track of the layer's position, of course, too, when it has been moved or rotated.
This is a feature I am currently working on. There will probably also be a bump mapping feature to simulate 3D-surfaces. But this may take a while.
Good idea, sounds quite useful. Could you explain that in more detail? What parameters would you need exactly?
|
|
tonyg
Junior Member
Posts: 73
|
Post by tonyg on Mar 15, 2005 10:38:57 GMT
Really great news that you're working on lights/shadows. I raised the question of partial alpha for an image and Jake replied that alpga gradients on an image would be good.
|
|
|
Post by Xpressive on Mar 15, 2005 11:32:37 GMT
I am currently trying to implement a feature that will allow to access each object vertex' color and alpha individually, so you will be able to set the color and alpha of each single vertex to any value of your choice. The problem is to find a method that does not influence the speed peformance too much and does not waste too much memory (usually, the R,G,B color and the alpha colors would have to be stored for each vertex which would require a huge amount of memory, so I'll need to tweak the vertex color processing a little...). Stay tuned...
|
|
|
Post by quicksilva on Mar 16, 2005 17:48:26 GMT
Sounds like there will be some great features added soon. Thanks for listening.
Well how about just giving the user access to the individual object vertices so that they can freely position them. This way people can skew and manipulate their objects however they wish.
BTW the new shape editor is great but how can animated shapes be created using the new collision features i.e from anim strips. Also do you plan on a way to add collision markers in code via a command, for example say when making a map editor and allowing the user to create their own collision shape to suit the level. Or is this already possible? (May have missed it.)
Jason.
|
|
|
Post by Xpressive on Mar 17, 2005 11:04:55 GMT
UPDATE 1.0.5 HAS BEEN RELEASED.You can now set the color and transparency value of each individual vertex. I agree - it would propably be more flexible to let the user modify or 'tweak' individual vertices himself. I added this to the list. This is not directly supported yet, but you could define arrays containing some different shapes, for example. You can then clear an object's collision shape and attach another one 'on the fly'. Collision shapes are currently supported 'object based' only, so you can add a shape or individual points to an object only, not a complete layer, for example. But I put this feature suggestion to the list (Jeez, it's getting longer and longer...)
|
|
|
Post by Jake on Mar 17, 2005 13:14:48 GMT
Also do you plan on a way to add collision markers in code via a command, for example say when making a map editor and allowing the user to create their own collision shape to suit the level. If you use a tilebased map, you should create collision-masks for individual tiles. Then, first check which tiles are affected by an object's rect. Then check the collisionmask of these tiles against the object-mask. Using a layer/level-wide mask would be a major slowdown. For non-tilebased maps you could do the same. Draw a levelwide collision-mask with your mapeditor, automatically build collision-tiles from it and handle them like the example above. That's the way I would do it. If you see a faster way, let me know
|
|
|
Post by Xpressive on Mar 17, 2005 14:58:23 GMT
Jake's right. I also did several platform games in the past - and I never(!) needed pixel or shape collisions. You can solve 90% of these tasks simply be evaluating the tiles (assuming that each tile is saved as a number within a map array, for example).
I use to grab for points (x/y coordinates) at the players head, to the left / right of the player figure and at the player's feet. All these coordinates can simply be achieved by the player's x/y position only.
Then convert these points into the corresponding column/row on the tile map and go through your array to look what tile is on this place. You should also save your enemies, lifts, etc. in the level array map, so you can easy evaluate if the player 'touches' an enemy or any other item.
You can do even more simply by evaluating tiles: assume that '3' in the array map represents a diagonal tile (from left-bottom to top-right). If the player's feet overlap this tile's field on the map, you know that the player has to move upwards or downwards, depending to his current direction etc...
This method is much faster than using collision shapes for many tiles.
|
|
tonyg
Junior Member
Posts: 73
|
Post by tonyg on Mar 17, 2005 14:59:40 GMT
Can we have an updated decls delivered with 1.05 when it's emailed? Thanks
|
|
|
Post by quicksilva on Mar 17, 2005 18:30:27 GMT
OK I agree with the collision ideas for speed purposes but my idea may have other uses. Loving the new update with those nice shiny new vertex commands. I am particularly looking forward to seeing some bump mapping action, can`t wait. BTW would it be posible to put a copy of your todo list up so that we can see what`s planned or is it top secret I agree that a .decls file should be distributed with each new release. Oh and completely off topic but was there ever a downloadable Particle Candy manual (+decls file) as it would be a great help. Keep up the good work! Jason.
|
|
|
Post by Xpressive on Mar 18, 2005 8:10:50 GMT
The updated .decls file can be downloaded here (will be included in all future updates):www.x-pressive.com/SpriteCandy/downloads/SpriteCandy_DECLS.zipThis 'to do' list is a private list to collect raw ideas, suggestions etc. It also changes almost daily. Not all ideas on this list will be implemented, and there's also no time table for these features. Features with a high demand do have a higher priority than others, of course. Currently not, and this will take some time since I am quite busy with the next Sprite Candy updates at the moment.
|
|
|
Post by aaa11 on Aug 11, 2008 5:56:24 GMT
|
|