gameQuery 0.8
Here are the possible features for gameQuery 0.8, this is just a proposal and will evolve with the community feedback:
- isometric tile maps
- polygone based collision
- key-framed movement
- transformation for tile-maps
- physic engine integration (through wrappers like for sound)
- update existing sound wrappers and add new ones
- quad-tree / BSP for collision detection
- unified control (gamepad API, keyboard, mouse - touch) access
Please just comment to say which of those you'r more interested in seeing in 0.8 or to propose new ones!
Comments
Hi Selim!
at a first glance, I'd say isometric tile maps and quad-tree / BSP for collision detection.
Could you please explain what you mean by transformation for tile-maps?
Thanks!
6 weeks? - 6 months?
what is quad-tree / BSP for collision detection?
http://forum.gamequeryjs.com/discussion/102/new-code-for-2d-sprite-#Item_3
Hope can help.
Thanks all of you for you feedback. 0.8 haven't progressed at lot because I spend all my free time on the last months writing a book about game dev. using jQuery (http://www.packtpub.com/jquery-game-development-essentials/book).
This wasn't expected when I first posted about gQ 0.8. To start working on gQ again I will first release 0.7.1, it will include the following:
After that I will resume my work on gQ 0.8. A thing I will try to do is create a benchmark to compare different ways to do collision detection and choose which one is the best. This will include quad-tree, BSP and so on.
Scheme:
Row #1 [[3, 5, 7, 1, 4, 2, 3, 6, 10, [7, 10]*, 9] End Tile Row
Row #2 [8, 6, 3, 5, [8, 7, 6]*, [2, 5]*, 7]]
*meant overlaying animations in the same tile where, for example, z-index property will increases by 0.5 when array index increases.
For example, animation #10 is a Jump Pad, and 7 is block of background iron.
[7, 10] tile property will show Jump Pad in front of Iron Block and we will not need to edit images additionally.
@MinDev no this is not supported in the way you describe it. However you can use two separate tile-map and it won't have big impact on the performance level.
For example, I use to have 1 jump pad and 1 top-collission platform in one tile.
top-collission platform is effect ingame where you can jump, sure when platform is above you, jump, collide to platform but nothing happens cuz you are below, and after platform is below you, you simply collide and you will not fall anymore unless you lose collission.
So I walk into this tile, I now collide with top-collission platform and jump pad at once. top-collission platform state is -1, or below(0 is no collission and 1 is above), means if there is nothing below this tile I will fall. As well I collide with jump pad at once, boosting my jump by additional 3 tiles and changing my gravity temporarily. Won't collission system cause trouble?
So, I will add ability to change terrains a bit with help of your guns using collission. You will be able to destroy cash machines and their drawers, and get some loot, destroy walls whose only can be destroyed and something as well as pushable buttons for your weapon.
As for collision detection you have the ability to filter the detection by tiles. For example let say you have three layers and only care about collision with two of them. You can use a filter for the .collision() function that only select those two. This you will improve performance a lot and only get the tiles that really maters to you.