Search Unity

ironVoxel - Voxel / block game solution

Discussion in 'Works In Progress - Archive' started by NicholasKoza, Aug 13, 2013.

Thread Status:
Not open for further replies.
  1. NicholasKoza

    NicholasKoza

    Joined:
    Jun 10, 2012
    Posts:
    12
    EDIT: This asset has been released now. Please visit the release thread for additional information:
    http://forum.unity3d.com/threads/ironvoxel-infinite-world-voxel-solution.266947/





    Hey everyone. I'm excited to share something I've been working on for a while now.

    $ironVoxel_beta_preview.png



    ironVoxel is a voxel / block game middleware solution for Unity developers.

    Features (more in-depth information available on the website):
    • Optimized Voxel Renderer
    • Infinite World Generator
    • Custom Lighting System
    • World Saving and Loading
    • Lightweight Custom World Interactions
    • Threaded
    • 100% Unity Free Compatible

    Demo:
    The web player demo is available on the website, along with more screenshots, full features list, etc:
    www.ironVoxel.com

    Status:
    March 24th, 2014:
    Beta demo released.

    August 12th, 2013:
    Alpha demo released. I'm pouring a lot of time into this project, and there's still a lot left to be done. The ultimate goal is to make it available in the asset store. Before then, I need to continue optimizing, adding features, fixing bugs, etc, before I hand it off to the community.

    Follow:
    Follow me on twitter @nicholaskoza or go onto the website, click the buy link, and sign up for email updates.

    $unityforum_screenshot_beta_001.jpg
    $unityforum_screenshot_beta_008.png
    $unityforum_screenshot_beta_010.png
     
    Last edited: Sep 7, 2014
  2. abysswolf

    abysswolf

    Joined:
    Oct 15, 2012
    Posts:
    62
    more minecraft copies

    brace yourself
     
  3. NicholasKoza

    NicholasKoza

    Joined:
    Jun 10, 2012
    Posts:
    12
    Whether users of ironVoxel choose to clone Minecraft or do something different and original is entirely up to them. The system is purposely gameplay agnostic. "Minecraft clones" are becoming a genre, much like "Doom clones" became "First Person Shooters." It'd be silly for developers to ignore the market, especially when other developers are proving that it's fertile ground for non-MC-clone gameplay as well.
     
  4. GD-Darren

    GD-Darren

    Joined:
    Jan 12, 2013
    Posts:
    53
    abysswolf no offence but the creator of the asset is showcasing a system he has been developing, it has nothing to do with minecraft clones. Minecraft also wasn't the first game to use this type of terrain generation.

    Back to the original post, good job on creating this nice system.
     
  5. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey newwavenick,

    Hey, Just a few questions -

    1. Will this be able to be handled over a network? (Client-Server for example) and what networking solution are you using with this?
    2. How are biomes made?
    3. How are custom blocks made?
    4. Will there be documentation on Custom Biomes and custom blocks? How deep will the documentation go? (if any).
    5. Do blocks have their own attributes? (Example: Durability)
    6. What is the estimated release for this asset?
     
    Last edited: Aug 14, 2013
  6. NicholasKoza

    NicholasKoza

    Joined:
    Jun 10, 2012
    Posts:
    12
    Thank you, GD.Darren.


    Thanks for the interest. Let me explain a bit more context and I think that will make my answers make more sense. ironVoxel is being designed to tackle the most difficult parts of voxel games. Things like the renderer, smooth chunk loading, threading, etc. In comparison, gameplay is actually relatively easy to program. There are a lot of programmers out there that can handle creating gameplay that can't handle creating a production quality voxel engine. That's who ironVoxel is geared towards.

    1 - regarding networking: Networking is outside the scope of the initial ironVoxel releases. I have quite a bit of experience with real-time networking, and it's been designed with that in the back of my head, but it's something that would be some time down the line, if at all.

    2 - regarding biomes: Biomes have not yet been implemented. Most work has been going into the voxel system itself. Biome implementation will likely be minimal. I think in most games biomes would be very gameplay specific, and therefore trying to create a perfect solution would just not be reasonable. I'll see what I can provide though as far as a good starting point to simplify things.

    3, 4, and 5 - regarding custom blocks: Currently block definitions are being loaded from code. There's little reason they couldn't eventually be loaded from external sources though. At this point, creating a block type is as simple as calling a function like:

    Code (csharp):
    1. DefineLightEmittingBlock(BlockType type, TextureSlot textureSlot, bool transparent, bool solidToTouch, bool removeHiddenFaces, byte lightHue, byte lightSaturation, byte lightValue, int lightRadius)
    BlockType is a simple enum, for type safety. TextureSlot defines where in the atlas to find the texture, and the rest are fairly obvious. Simple, eh?

    By the way, the lava and the lamp blocks are two blocks in the demo that demonstrate light emitting blocks. It's not yet taking into account the colors though. That will be coming soon.

    Block durability falls under the category of gameplay-specific, and therefore not in the scope. I suppose if there were enough demand for it then it may enter the scope, but that's how it stands right now. Each block type can have it's own attributes though. In programming terms, the block system uses the flyweight pattern, which allows for many unique block types without killing the memory.

    4 - regarding documentation: The website is designed to provide documentation before the release. An easy to use public API will be provided, along with some architectural overviews. Other than that, the code is largely self documenting. I'm a big believer in clean code and proper design. If you do need to dig deeper into the code, I think you'll be pleasantly surprised.

    6 - regarding a release date: Ah, now that is the great question. I unfortunately do not have an estimate yet. There are still a handful of unknowns on the table that are making estimates difficult. I want to make sure this system is in great shape before handing it over to you guys. That's why on the website I suggest rather just signing up for updates and I'll let you know more when I do.

    I hope that's not too overwhelming of a reply - you presented me with a good opportunity to clarify some things that I think other people may questions about as well. Thanks.
     
  7. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey Thanks for the reply!

    This clears up allot of things :)
     
  8. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    I am surprised nobody ask this yet...
    Price? :D
     
  9. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    I am surprised I did not ask this yet... Considering that I had a giant list of questions :p

    But yes - What would be the intended price point?

    and would this be cross platform compatible? (Android, Mac, Linux, Windows, etc.)
     
  10. NicholasKoza

    NicholasKoza

    Joined:
    Jun 10, 2012
    Posts:
    12
    Ah, that's also an excellent question. And similar to release date, it's undecided. It will be a nominal fee though. My goal is to make this a fantastic value and get it into the hands of many devs. So, most likely, it will release with a double digit price tag.

    I've not had a chance to try it on anything but windows yet. It uses pure C# though, no DLLs, no special compile flags, etc. So in theory it should work. At the most, I would think changes to it would be minimal to get it going cross platform.
     
    Last edited: Aug 20, 2013
  11. NicholasKoza

    NicholasKoza

    Joined:
    Jun 10, 2012
    Posts:
    12
    Beta Demo Now Available!
    I've been waiting a while to say that...

    Anyway, the new demo is available, as always, at www.ironVoxel.com. You can checkout some of the new screenshots and the new video in the main post. Among the new features are:

    • The world generator has been refined:
      • The world generator is several magnitudes faster, which causes the world to load faster.
      • Some basic ores now appear in the world.
    • Lighting improvements:
      • Basic AO added.
      • Color lights are now available. These things are seriously gorgeous - be sure to checkout the new screenshots of them on the website.
    • Light now dims as it passes through a transparent block. This causes deep water to be darker.
    • A native executable demo is available for the first time for Windows. This has the added benefit of running just a bit faster.
    • Massive under-the-hood optimizations. This has resulted in a higher frame rate. Many testers were seeing it lock at 60 FPS.
    • Water is now animated.
    • The fog has been refined. It now gets out of your way a bit quicker.
    • Player movement has been refined. In particular, the jumping should feel much better now.
    • Added a basic place-able tree model, with the intention of eventually adding it to the world generator.
    • Added block and block-face selector graphics.
    • Generic Unity skybox added.
    • Added some debug controls and menus.
    • Fixed an issue where holes could appear under water during world generation.
    • Fixed a lockup on exit.
    • Fixed numerous stability issues.


    To answer an earlier question, my goal at this point is to release this to the asset store by the end of Q2 of this year. If it ends up being a trade off between quality and the release date, the release date will have to slip. But end of Q2 is the goal right now.
     
  12. Vanamerax

    Vanamerax

    Joined:
    Jan 12, 2012
    Posts:
    938
    Looks good, I like the colored lighting

    Any roadmap plans?
     
  13. SiegfriedCroes

    SiegfriedCroes

    Joined:
    Oct 19, 2013
    Posts:
    569
    Looks and works really nicely :D Keep up the fantastic work :)
     
  14. mathias234

    mathias234

    Joined:
    Sep 9, 2012
    Posts:
    239
    This looks amazing! running smooth in webplayer even on my laptop :) Looking forward to see games begin developed using this engine, I might even buy this for myself when it comes out


    BUT:

    Threading should be sorted in imprtant and unimportant ex: Block placing and deleting should be more important then chunk loading
     
    Last edited: Mar 25, 2014
  15. NicholasKoza

    NicholasKoza

    Joined:
    Jun 10, 2012
    Posts:
    12
    Thank you.

    I have some ideas on where I want to take it, but at this point my goal is to release it by the end of Q2 this year, see how the community reacts, and go from there. I'd like to put something more formal together, but only after I've gotten a better feel for what people consider to by high priority features.

    Thank you.


    Thank you.

    I agree entirely. There is actually already a system in place doing just that. The work queue is constantly being re-ordered based on what you do and where you go. The issue I'm having is that the system has about a dozen different settings that can be tuned, and balancing the world load time and block change responsiveness is a bit tricky. If I tune it to be super responsive then the world loads much slower. If I tune it to load the world faster than block change latency increases. I'm still working on creating the proper balance, and I hope to get it a bit smoother in future releases. Overall though, I feel like it's in pretty good shape - there's only a few specific situations where it falls on its face.
     
    Last edited: Mar 26, 2014
Thread Status:
Not open for further replies.