Pixel Perfect Posted July 19, 2010 Author Share Posted July 19, 2010 Updated the first post with the final video this morning showing the techniques applied to the whole test level. No commentary on this as it's more 'in game' focused. Copy of the link below (again best watched using the 480p option): http://www.youtube.com/watch?v=L8sn5kA7eKs Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Richard Simpson Posted July 19, 2010 Share Posted July 19, 2010 Oh man, this is too cool pixel! for the destructable objects... does your editor automatically break up the model like UDK does? Or would it have to be modelled in parts? Looking forward to seeing more of this. Quote Intel core 2 quad 6600 | Nvidia Geforce GTX460 1GB | 2GB DDR2 Ram | Windows 7. Google Sketchup | Photoshop | Blender | UU3D | Leadwerks Engine 2.4 Link to comment Share on other sites More sharing options...
Pixel Perfect Posted July 19, 2010 Author Share Posted July 19, 2010 for the destructable objects... does your editor automatically break up the model like UDK does? Or would it have to be modelled in parts? Thanks Richard. In answer to your question .. no it's not that sophisticated so you need to, as you suggest, model the parts externally. However to add them to my engine is simple, just a question of filling out a series of properties in an ini file associated with the main model file and the engine does the rest for you. You can assign how much force is needed to trigger the break or explosion and it supports any number of parts. You can even assign a burnt model to substitute for items which are marked as just flammable. I actually produced the broken parts for the items in the video using the original models and gmax and I know nothing of modeling! Making all the Newton physics files is a pain though! Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Sooshi Posted July 19, 2010 Share Posted July 19, 2010 hey Pixel, great stuff man, one suggestion though. You may want to tone down the speed of the NPC's as they are seeking through the level, the speed is kind of too fast and doesnt match the animation properly in my opinion. But im sure you have already noticed this and are not concerned as you are primarily concerned with testing things out. Looks awsome man, I am such an RPG nut and I cant wait to implement my own pathfinding solution in my Zelda/ICO clone that I am starting later on this year after "whats bugging you" is done. But mine will not have navamesh solutions though. Quote Working on a major RPG project.......will showcase soon. www.kevintillman1.wix.com/tillmansart Link to comment Share on other sites More sharing options...
Pixel Perfect Posted July 19, 2010 Author Share Posted July 19, 2010 Yeah, the animations all run fine when it's not being frapped lol, with no foot skating! However, it does show a problem in my code as it's supposed to be able to cope with all that. That's something I do need to look at. But yes, as you say, I'm not too bothered about the fine detail just now, just trying to get all the key components in place first and I'll go through a major refinement process once that's done. I’ve picked up on a lot of things though putting this together … the list is getting quite long! That will inevitably keep me out of mischief for a while when I get round to fixing it all Good to hear about your RPG plans. Good luck with that Kevin Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
TylerH Posted July 20, 2010 Share Posted July 20, 2010 In regards to the foot skating, should be as simple as modulating either your animation, pathfinding movement, or both, by AppSpeed. Quote nVidia 530M Intel Core i7 - 2.3Ghz 8GB DDR3 RAM Windows 7 Ultimate (64x)----- Visual Studio 2010 Ultimate Google Chrome Creative Suite 5 FL Studio 10 Office 15 ----- Expert Professional Expert BMX Programmer ----- Link to comment Share on other sites More sharing options...
Pixel Perfect Posted July 20, 2010 Author Share Posted July 20, 2010 Yeah, its just some silly bug thats crept in there somewhere. I did some stuff on modulating the movement speed to reflect the gradient and I've obviously screwed something up Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Richard Simpson Posted July 20, 2010 Share Posted July 20, 2010 Thanks Richard. In answer to your question .. no it's not that sophisticated so you need to, as you suggest, model the parts externally. However to add them to my engine is simple, just a question of filling out a series of properties in an ini file associated with the main model file and the engine does the rest for you. You can assign how much force is needed to trigger the break or explosion and it supports any number of parts. You can even assign a burnt model to substitute for items which are marked as just flammable. I actually produced the broken parts for the items in the video using the original models and gmax and I know nothing of modeling! Making all the Newton physics files is a pain though! Ah cool. Thanks for the answer. B) Quote Intel core 2 quad 6600 | Nvidia Geforce GTX460 1GB | 2GB DDR2 Ram | Windows 7. Google Sketchup | Photoshop | Blender | UU3D | Leadwerks Engine 2.4 Link to comment Share on other sites More sharing options...
Pixel Perfect Posted July 24, 2010 Author Share Posted July 24, 2010 Just a quick update to say that I've now coded some additional path finding visual feedback into the Editor. The 'Test Pathfinding' function now not only displays the final calculated path in blue with an NPC walking it but also all of the grid tiles taken into consideration whilst running the A Star algorithm and displays those in red along with the elapsed time in thousandths of a millisecond using a high precision timer. It will even sequence through these in slow motion (one every 1/4 of a second) so you can see the exact sequence of checks as they occurred when the algorithm was run. This gives the designer much more visual information on the performance of the system and allows for better fine tuning. This is great for playing around with heuristics and visualising the effects of any changes. It also gives good visual indication of where geometry layouts result in inefficient path finding using the A Star algorithm and allow you to do something about it or at least make decisions about how path finding in those areas will be executed. (This is a well recognised issue with A Star where, in the worst case scenario, certain combinations of start and end points combined with geometry can end up with it searching through practically every node on the grid before resolving the path). As my system can divide long path searches over multiple frames where needed this is less of an issue but the visual feedback can result in minimisation of these issues by aiding the designer tweak the level design. I'm off on holiday with my family later tomorrow (a complete break from computers for a while ) but will be concentrating on developing some real AI capability for my engine and editor on my return. Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
AggrorJorn Posted July 25, 2010 Share Posted July 25, 2010 That sounds really cool Pixel. Can't wait to see that in a working example (^^hint) Quote Link to comment Share on other sites More sharing options...
Pixel Perfect Posted August 28, 2010 Author Share Posted August 28, 2010 I updated the 2.24 Leadwerks Island Demo today to run in 2.40 in order to see how well my path finding would work with that type of level. I found I was able to use a single navArea to cover the entire Island and it took about one and a half minutes to process the geometry. Tested NPCs walking the terrain and it all worked perfectly, very pleased with the results. I now believe my navArea approach is pretty much suitable for anything I care to throw at it. I've included a couple of pics below: Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
AggrorJorn Posted August 29, 2010 Share Posted August 29, 2010 Very cool pixel. How large of an area are we talking about here? Quote Link to comment Share on other sites More sharing options...
wailingmonkey Posted August 29, 2010 Share Posted August 29, 2010 that looks awesome, Pixel! I don't recall from watching your vids, but is there a 'buffer' property that one can assign, for instance, if you wanted to allow somewhat 'close' proximity to a tree? Keep up the good werk, dood! Quote Vista Ultimate SP1 64bit | Q6600 2.40 GHZ | 8GB RAM | 320MB Nvidia 8800GTS Link to comment Share on other sites More sharing options...
omid3098 Posted August 29, 2010 Share Posted August 29, 2010 very good pixel! Quote Omid Saadat OD Arts Blog AMD Phenom II X4 940 - Geforce 8800GTS - 4GB RAM - XP x86 AMD 6000+ - Geforce 9800 GT - 2GB RAM - XP x86 (Home pc) Intel Core i7 - Geforce 310M - 4GB Ram - Win7 x64 (Laptop) Link to comment Share on other sites More sharing options...
Pixel Perfect Posted August 29, 2010 Author Share Posted August 29, 2010 Cheers guys! How large of an area are we talking about here? The Island demo is a half kilometre square area (512x512 @ 1m per tile) is there a 'buffer' property that one can assign, for instance, if you wanted to allow somewhat 'close' proximity to a tree? Currently, the path finding resolution is determined by the grid size and any obstacle within a grid will result in a non walkable area but this is only used to find the route from the first node on the path to the closest node to your destination. The movement system is designed to then move you from the last node to the target position if flagged to do so. So if you specify a position directly behind a tree which happens to be within a non walkable area the moveToPosition command will get you there using the path finding to get you as close as possible and then finally move you up to your chosen position. The path finding is an aid but does not restrict your ability to move an NPC anywhere. If you choose to collide it with a wall by taking the NPC right up to it then it will allow that! This allows for cover positions etc where you might want to get 'up close' and also works on the principle of 'the game designer knows best'. Otherwise, it will only accept target destinations that are not in non-walkable areas. Not sure if this answers your question or not Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Mumbles Posted August 29, 2010 Share Posted August 29, 2010 The Island demo is a half kilometre square area (512x512 @ 1m per tile) 512 metres squared? as in 262,144 square metres? The first measurement sounds really small, but the second makes it sounds ridiculously large... Your system copes with that size without any slowdown? What's the density of your NavArea? 1 cell per 1 unit? Or a little less dense than that? Quote LE Version: 2.50 (Eventually) Link to comment Share on other sites More sharing options...
Pixel Perfect Posted August 29, 2010 Author Share Posted August 29, 2010 What's the density of your NavArea? 1 cell per 1 unit? Or a little less dense than that? A little less dense, I'm using a 250 by 250 grid as the geometry density is not large on this type of level with plenty of space between non walkable tiles. As the Island doesn't actually cover the entire terrain I could have brought the grid boundary markers in and reduced this to further increase performance but it was easier to just set them to the extents of the terrain. Yes, the system copes with this size without any real slowdown but if a slow processor was struggling you could break it down into say 4 smaller linked navAreas. Linking them along paths and natural topographical boundaries is really easy for this type of terrain. Hierarchical searches across multiple navAreas can be carried out over multiple game loops helping maintain overall frame rates but it’s rarely needed unless you are driving a lot of NPCs. Quote Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++ Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.