Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

166 Neutral

About Salty_Maia

  • Rank
  1. Salty_Maia

    Octrees with multiple-sized objects

    Hey guys,   Thanks a lot for all the answers, and especially to slayemin for the kickass tutorial, you ROCK!   I'm finishing up on the Octree implementation (hopefully) and will check if I have performance issues with a large volume of objects. If so, I'll be looking into some minor optimizations but if I can't fix it quickly I'll probably be looking deeper into the AABB Tree Randy mentioned.  Didn't know about that method but at a first glance it seems it might be more suitable for my game, if its performance holds up.   The planets will be moving in regards to each other and their orbits are not very predictable, I'll literally have all this stuff smashing into eachother. Bruteforcing was able to handle something like 50 planets and 200 asteroids before fps started dropping (asteroids not colliding with asteroids), although my octree will not just help collision detection but also help knowing when the distance between two objects makes gravitational pull becomes too small to be worth computing     Thank you all! I think I probably have the information I need and it's pretty much up to me now. I'll post my results here if I can get anything relvant in a few days time   Thank you guys, you're awesome!
  2. Salty_Maia

    Octrees with multiple-sized objects

      I'm not sure what you mean. Do you mean as in testing the planet itself (spherical) against intersection of its subnodes? So instead of detecting for collisions in all the subnodes vs. parentnode, I'd have a preliminary step that crosses the sphere's radius with the distance of the subnode to the parentnode center?   I like this idea, it should help quite I bit I think. The only problem is that I don't know whether all the massive meshes will be spherical. I imagine this procedure gets real tricky with concave shapes. I'll run with it for now though.         The trouble is that there are several planets, hopefully... That was only an illustration of the problem using just one.   About the dual-tree, I meant that even if I break it up into two octrees, how will it help me not have to run detection on some of the asteroids' nodes that are (albeit in a different tree), in the planet's node space? my problem is exactly in the crossing, not in the asteroid-to-asteroid or planet-to-planet       By the way, thanks very much for the answers guys, just being able to talk about this is helping a lot
  3. Salty_Maia

    Octrees with multiple-sized objects

        Regarding the second option, it's the one I've considered. But the fact is that the biggest encompassing node for a planet will have a ton of sub-nodes where asteroids could possibly be, and I'd just have to brute-force them all. This doesn't seem like a very good option.   Regarding the first one of having two octrees, I had though about it but can't really grasp how I would cross-reference asteroid-tree with planet-tree so I could detect collisions between them, or how I could cut back on the planets' sub-nodes.   I've made an illustration of my problem below, in 2D for simplicity's sake. The planet's encompassing node leaves too many sub-nodes for small objects to occupy. While the octree helps by not having to test every asteroid against each other, I'll have to test all of them  against the planet. Is this ok? Is there a better solution I'm not thinking of? It's quite probable I'll have a lot of objects in that space, near the planet         Green - planet Blue - asteroids Red - Bounding Boxes Grid - Minimum node size
  4. Hi,   I'm implementing a collision-detection system on my 3D game. The idea is to use an octree to partition space so I can save up CPU by not needlessly testing for object collisions. I'm sure those of you who can help me will know all this by now but I'll link some relevant things nonetheless:   Introduction to Octrees (this is the basis tutorial I'm learning from) Loose Octrees     My problem is this: I will have a great disparity in size on the objects that I want to test collisions against. It would be something like 100 to 1 or more, meaning that there are objects that are more than 100 times the size of the others. Think of it as having big planets and small asteroids, though their meshes will not be necessarily spherical.   My problem is that when partitioning the space in cubes for the octree, the "planets" will leave considerable space empty in their bounding-box, considering their relative scale to the asteroids'. This means that I could reasonably have dozens of asteroids in the planet's "super-node", in each planet. This is still better than brute-forcing, of course, but I don't reckon I will be able to get a decent enough performance to have several planets being tested with dozens of asteroids each frame.   Am I thinking about this wrong? Should I consider testing whether the asteroids' enclosing node is able to collide with the planet's sphere rather than using the bounding-box? Is using an octree in this sort of situation just a bad idea? Kind of lost as to how to think this, any help would be appreciated.     TL;DR: Using an octree to collision test objects. Have objects that are very large relative to others, and its nodes will reasonably contain dozens of small objects.    
  5.     That makes a lot of sense, I thought of making a layer of randomly-generated decorations to overlay the base tiles but I thought it'd still be overwhelming on terrain generation. But I guess it isn't if you make it non-randomly and have it handmade in the level editor. Thanks!       The reality is those two traits are mutually exclusive.  On the one side you have the Baldur's Gate games and their relatives, where each map is a custom crafted background image, but those games were very finite and creating a new map was a time consuming task.  On the other side you have Minecraft and its progenitors/derivatives which provide a practically endless variety of maps all based on a finite and obviously repetitive set of tiles (though the overall maps themselves provide a different kind of uniqueness).   The best you can do is attempt to provide the illusion of uniqueness, and there are a variety of techniques available to work toward that goal.  As Krohm mentioned, you can layer tiles and decorations/decals, but this is still limited by the variety of tiles and decorations/decals you create for the game.  You can also blend tiles together.  You can add dynamic color palettes to tiles.  You can scale/distort tiles.  You can combine all those techniques in any manner you wish.  The challenge is coming up with a randomly generated map that accomplishes this in a manner that doesn't result in a mess, and that's a pretty significant challenge.       Actually, I don't plan to randomly generate the map, but I get your point. These are exactly the answers I was going for, thank you so much!   While we're on the topic, does Tiled allow for this kind of intricate map building without getting to inadequate? Is building my own editor really unnecessary? I guess that the only requirements I have towards the map is that I can generate it in background (chunk the full map), and have a sense of uniqueness on the tiles (regardless of how much hard work that takes)
  6.     I have tried it, but I don't reckon it allows me much control over individual tile editing?   Meaning that instead of creating a full map with basic tiles and editing it with a pencil, I would have to create individual tiles for each uniqueness I want to create, and then put them in the map.   Maybe I'm wrong and I missed something when trying it but It just seems like an awful confusion to get a sense of uniqueness with tiled
  7. Hi,   I'm currently researching into how to build a Tile Map Editor. The game in question is a 2D top-down action rpg. My problem is in regard to keeping uniqueness in the tiles while making an infinite-world (background loading of terrain as player moves through sub-areas, so as to have no in-game load time).   (TL;DR) My question is: Is it possible to edit individual tiles in a tile map based game? if so, how is that data stored? Is it generated by the tilemap editor and actually stored as a completely new tile? Or is it the same old tile with a randomly-generated particle graphic overlayed? Are these options too cumbersome to generate in the background on gameplay?   As you can see, I'm sort of lost as to how to go about this, and I'm finding it pretty difficult to find research material on it. Any pointers would be welcome.   Here is an example of the feel I'm trying to achieve (game is Hyper Light Drifter):       As you can see, every inch of terrain has a pretty unique feel to it, patches of grass, inset squares and cracks on the wall, mounds of snow on the stairs, etc. I don't know what sort of engine was used to produce this, not even if it's tilebased (should be somewhat tile based, right?). I also don't know if it implements infinite terrain   Any help would be much appreciated, I really want to have everything well planned out before I start development and I think this should be my last research step   Thank you!
  8. Salty_Maia

    Choosing the right Tile Map Engine

    My question is pretty much this though, I know simple tile mapping is not hard, and at this point I've managed to do it (simple examples). Sorry for the late reply, by the way   So, my question: Is vectorial tile mapping feasible for a beginner game programmer, and if so do you know of any good reading material on it? Is it even adequate for an action-paced platformer?     (vectorial tiling collision handling example)     Thank you for your answers though
  9. Hi,   Im making my first non-tutorialed XNA game right now, currently just researching how exactly to go about it as I draft my initial thoughts. I am making this thread to ask about the tile map engine which might best fit my game, so I guess I will first explain a bit of what I'm after.   First off, I think it's pretty important to say that I'm looking to learn. Learn a lot. My decisions so far have been in that focus which is why I'm not much of a fan of using pre-made engines (be it box2d or unity or anything else).  So, about the game, basically I figure it will consist in an action platformer, base a lot on movement. What I have in mind is somewhat like Rogue Legacy, only a little faster-paced.   (Rogue Legacy Gameplay video)   Upon researching about how to go about implementing the tile map engine, I came across a few different solutions, namely "pure tile", "smooth tile", bitmask, and vectorial. http://higherorderfun.com/blog/ (pretty much the most detailed abstract guide of implementation I've found)   Now, the examples of vectorial tile mapping are very enticing indeed, but so far I've been largely unable to find information regarding how to implement it correctly (only information claiming that's it's very hard to).   So, my question: Is vectorial tile mapping feasible for a beginner game programmer, and if so do you know of any good reading material on it? Is it even adequate for an action-paced platformer?
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!