Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 27

Thread: ideas for TAtmosphere

  1. #11
    Quote Originally Posted by phibermon View Post
    Incredibly you seem to be working on a very similar setup as I am for your game project.
    No kiding! I have also been thinking of adding similar capability into one of my games

    First thing I would have done on your place is replace default A* pathfinding alhgorithm with Huristics pathfinding algorithm. With this you can reduce the necessary scope that pathfinding algorithm needs to traverse.
    You would define your game world something like this:
    1. Lowest heuristic level contains information about each cell (voxel). Each cell also contains information to which room it belongs. Why a bit later.
    2. Second heuristic level joins several cells into roms
    3. On third level you join several rooms into buildings
    4. Forth heuristic level joins several buildings into bases
    ....
    The bigest problem would be writing the algorithm for determining rooms. This is something I haven't figured out yet.
    Anywhay when you have information that one cell belongs to a room and another neighbouring cell belongs to space (another room) you can easily stop the simulation from traversing into space blocks by simply removing air when it travels from room cell to space cell.

    As you also see from above it would be great if you would have all that information saved in a tree like form. And if you add Changed flag to every tree node you can easily make sure that simulatiuon only runs on areas (rooms) where atmospheric presure needs to be updated.


    I suggest that you guys check StarMade (http://star-made.org/) as it uses similar concept. Currently its atmospheric simulation still isn't working as intended so it is disabled.
    I gues they are probably facing same problems as we do


    Anywhay I have idea for making fluid simulation which could be used for simulating both liquids and gases (atmosphere).
    I intent to first make 2D based simulation and later expand it into 3D based so I can track initial bugs and lags more easily.
    Unfortunately I don't have much time lately as I have started working on new workplace which has compleetly different job (still at same employer). This means I'm spending lots of time studying new literature that I need for my work.

  2. #12
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    StarMade looks like it's pretty much what I had in mind, so I probably won't bother now. Looks awesome

    Voxel engines will become the only thing in 3D one day, possibly even in the next Tech Engine from John Carmack will be a voxel one (if not then the one after that) obviously not in a minecraft style, we're talking super high res voxel engines where the voxels are as small as pixels.

    I'm not really sure what I wanted to do as a game, I won't really be able to devote proper time to it until my engine hit's v1.0. I guess like everybody I just want to make a really cool game and I guess I feel that nobody is going to think it's cool if there's a dozen other games like it.

    I'll keep on searching for the holy grail of Indie game development - The cool thing that nobody has yet done, or done well.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  3. #13
    Quote Originally Posted by phibermon View Post
    I guess like everybody I just want to make a really cool game and I guess I feel that nobody is going to think it's cool if there's a dozen other games like it.
    I chose blocky voxel style because I can make a game like this single handed, without a graphics guy similiar to retro 2d its easier to produce graphic content without serious skills when resolution is low. Plus it let's player to modify the world in a way that traditional 3d would make very difficult if not possible to implement. i think that at some point when there is a lot of games looking 'blocky' people will stop thinking about them in terms of minecraft clones but as an alternative to polygons

  4. #14
    hm maybe I'll start with simplest solution for starters and see how it performs. global water simulation using existing 3d world data and a thread dedicated to traversing chunk columns marked as 'wet'

  5. #15
    PGDCE Developer Carver413's Avatar
    Join Date
    Jun 2010
    Location
    Spokane,WA,Usa
    Posts
    206
    Quote Originally Posted by laggyluk View Post
    I chose blocky voxel style because I can make a game like this single handed, without a graphics guy similiar to retro 2d its easier to produce graphic content without serious skills when resolution is low. Plus it let's player to modify the world in a way that traditional 3d would make very difficult if not possible to implement. i think that at some point when there is a lot of games looking 'blocky' people will stop thinking about them in terms of minecraft clones but as an alternative to polygons
    it makes since to stick with what you can do yourself, artists can be hard to find and usually want money. I think the voxel style could be greatly improved by adding more then blocks to the mix more of a lego approach could make it much more attractive while maintaining its anyone can do it style. with the Explorer project I will be experimenting with these Ideas along with the tools needed to build a library of parts to use in the game. By throwing out what is exceptable in the game we are free to mix simple with complicated and really showcase those parts while not feeling obligated to put such work into all areas of the game
    Last edited by Carver413; 05-07-2013 at 01:57 PM.

  6. #16
    Quote Originally Posted by SilverWarior View Post
    I suggest that you guys check StarMade (http://star-made.org/) as it uses similar concept.
    Thanks, i will look into this game very carefully Minecraft in space.

  7. #17
    Quote Originally Posted by phibermon View Post
    Voxel engines will become the only thing in 3D one day, possibly even in the next Tech Engine from John Carmack will be a voxel one (if not then the one after that) obviously not in a minecraft style, we're talking super high res voxel engines where the voxels are as small as pixels.
    Main advantage of voxel engines are:
    1. easy implementation of destructable objects since voxels actualy represents some kinda particles from which objects are build.
    2. easy colistion detection as you are simply doung Point to Square colision detection especially if all of your voxels have unform size.
    3. easy content creation since at some point in our lives most of us have been playing with some blockbuilding toys (Legos and such) so such approach seems more natural to us in comparison to traditional 3D modeling. And since the maximal level of detail (number of rendered voxels at any time) that can be used in voxel engines is proportional to computer processing capability it is raising quite fast as does the computers processing capabilities.
    4. voxel based objects are usually being stored in 3 dimensional arrays as a series of BlockID's and while each block definition (which texture to use for which face and such) you have great data reusability which generally results in lower memory requirements.


    Quote Originally Posted by phibermon View Post
    StarMade looks like it's pretty much what I had in mind, so I probably won't bother now. Looks awesome
    Don't quit out just yet as there is still lots of posible inprovments for a game such as StarMade.


    Quote Originally Posted by phibermon View Post
    I'll keep on searching for the holy grail of Indie game development - The cool thing that nobody has yet done, or done well.
    Good luck with that!
    I have been doing the same for about 5 years now and haven't got much sucsess. Whenever it seems that I found it I realize that somebody else is already making it

    I do still have many ideas but most of them would require lots of work to finish which is not good for making a first game as the development might take too long due to my limited game development expirience and I might lose interest in the process.

  8. #18
    Quote Originally Posted by SilverWarior View Post
    4. voxel based objects are usually being stored in 3 dimensional arrays as a series of BlockID's and while each block definition (which texture to use for which face and such) you have great data reusability which generally results in lower memory requirements.
    Actually voxels (cubes) make very low quality models, so visually they should be compared to low-poly models. In most cases voxel approaches result in much higher memory and performance cost, especially when it comes to heightmapped poly-terrain VS voxel terrain. But as you say, voxels are very good at entertaining us

  9. #19
    Quote Originally Posted by User137 View Post
    Actually voxels (cubes) make very low quality models, so visually they should be compared to low-poly models.
    It all depends on the size and number of voxels being used.


    Quote Originally Posted by User137 View Post
    In most cases voxel approaches result in much higher memory and performance cost, especially when it comes to heightmapped poly-terrain VS voxel terrain.
    It is true that heightmapped poly-terrain has lower memory consumption but it is much harder of creating underground caves and such with it.
    Also it is even harder creating of fully dynamically destructable terrain with heightmapped poly-terrain. Simply changing terrain height is easy but creating underground caverns, clifs, overhangs, and such is much harder.


    It is true that voxel based models or terrain looks more like low poly models due to its cubigness but with some postprocessing you can improve that by replacing some of the cubes with other shapes which then alows you to get smoth edges.
    One example of this is game Terraformer: http://www.vtss-llc.com/ It is true that the implementation of such postprocessing isn't best and that game itself has lots of other bugs, but you can see the idea of it.

    EDIT: Another advantage of voxel based graphical engine is easy implementation of LOD (level of detail) as you can always join 4 voxels into one. And for doing this it is best to store data in octa-tree.
    Last edited by SilverWarior; 06-07-2013 at 03:17 AM.

  10. #20
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    I haven't got the links to hand but there exists voxel engines that put most poly rasterizing engines to shame. As Silverwarrior said, it's only a matter of decreasing the voxel resolution etc

    Voxel models are volumetric by definition. So a voxel model doesn't need textures applied as the voxels themselves make up the 'pixels' of the texture. Whenever you've seen a CT scan of a brain, a 3D volumetric volume, that's rendered using voxels (or is ideally rendered as voxels) For example, a game that used voxels would let you cut an orange in half, see the segments seeds etc

    (note this is totally different from destructable walls and things inside modern PhysX games, the texture data isn't volumetric, it's all a uniform 'wall' texture wrapped around the bits of wall)

    With A poly engine, the inside of all geometry is empty space.

    --

    The main reason we're not seeing lots of voxel engines is we're still one generation away from cards that are powerful enough for a voxel engine to match the quality of a current generation engine.

    Another reason is Skinnning (you may know it as Skeletal animation, bones etc) as with a poly model you only have to skin the vertices in the model, a small amount of data. A Voxel model can't be skinned easily. You'd have to apply the result of the current pose to every single voxel. A vast amount of processing in comparison.

    Until cards are powerful enough to skin per voxel or until some clever workaround is found, we will not see mainstream voxel engines do EVERYTHING with voxels. But we will defintely see static scenes, maps etc rendered using voxels in PC games, perhaps as soon as 2 years from now.

    For rendering in 3D, radiosity and all manner of high end 3D techniques, voxels are vastly preferable to polygons. In the hypothetical situation where a voxel and poly map could be rendered using the same amount of work, more advanced things such as raytracing, radiosity could be applied far quicker and more simply in the voxel engine. When a ray hits a poly and you want to know the colour, you have to calculate the texture coordinates from the face you hit then sample the colour. A ray hits a voxel, you've already got that information (although I see an issue here, the poly face will give you the surface normal, so unless every surface voxel stores it's normal, you'd have to sample surrounding voxels to determine the angles... but John Carmack said it's better and he's a lot, lot better than me)

    And another big advantage is Level of Detail. in a Poly engine, you control the textures LOD (and with more recent tesselation hardware) the poly LOD seperatley.

    A voxel engine has no textures as such (the colour values of the voxels in the model equating textures) and the LOD calculations are oct-tree based, so you instantly have a really simple way to handle LOD that works for everything in the same pass.

    Voxel engines are a far more 'realistic' simulation of reality than poly engines. It's a poor example but a voxel engine would let you for example heat something up with a blowtorch until it was white hot, then you could watch the heat dissapate thru the model in a natural way. Or destructable terrain or blowing holes in enemies etc are ridicuously simple in a voxel engine but require some complex maths to perform boolean operations in a poly engine (Red faction anybody?)

    Voxel engines are the future, don't take my word for it, take John Carmacks.
    Last edited by phibermon; 06-07-2013 at 04:09 PM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

Page 2 of 3 FirstFirst 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •