Search Unity

"Build it yourself" Modular Medieval Houses.

Discussion in 'Assets and Asset Store' started by dogzerx2, Mar 31, 2015.

  1. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    MODULAR MEDIEVAL HOUSE

    The modular houses are already available at the Asset Store! Let me know what you think!
    ASSET STORE LINK:

    https://www.assetstore.unity3d.com/en/#!/content/35766

    :)


    In the meantime here's a video of putting a simple house together with the pieces.







    Made a second house, reusing some of the pieces, and adding a few more. :-]




    -----------------------------------

    I've been working on a house that's all made of "lego" pieces, that can be used to put together medieval houses... pieces it'll include are things such as planks, sets of tiles, brick parts, walls, doors, windows, accesories, etc. Some things comes in groups, or individual pieces... for example, you have both plank surfaces, and single planks.

    Right now I'm using this design as reference http://www.tabletop-world.com/Images/TownHouse/TH1.jpg
    Although it's not going to be limited to it, and of course you can tear it apart and re-design, or start from scratch.
     
    Last edited: May 8, 2015
  2. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Here's a pic of how the pieces are like:


     
    Last edited: Mar 31, 2015
  3. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Wow, that looks great man. I could probably use something like that. But just for the entire model itself.

    Do you know about how many polys/verts/triangles it is when it's all together to make the house?
     
    dogzerx2 likes this.
  4. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Right now? It's unoptimized. I'm getting 60k for the whole house.

    But I might be able to lower it to 30k without loosing much quality, by creating culled pieces (now most of them have front and back) and basically doing thorough optimization of the mesh.

    Then LOD versions for lower end machines, and far away houses. (hopefully mobile?)

    Another thing that improves performance are mesh combining scripts.

    I haven't optimized it yet because I'm focusing on creating the right pieces. Once I'm certain the pieces are nice and functional, I will optimize, which will take some work.

    I recently upgraded PC, and my specs are AMD FX 8350, and GTX 760... I've run some test concerned for the triangle count, I start getting less than 50 FPS at 32 houses:
    Check Image:
    https://dl.dropboxusercontent.com/u/11214337/Houses Test.jpg

    But I will certainly improve these numbers. I'll keep you posted.

    Also several LOD versions, for far away houses, or maybe mobile. But keep in mind lower LOD versions might lose some quality.

    Not sure if Unity 5 occlusion culling system works in this case... haven't tested it :-0
     
    Last edited: Mar 31, 2015
  5. Tiny-Man

    Tiny-Man

    Joined:
    Mar 22, 2014
    Posts:
    482
    I think the draw calls are the real killer in that test. But with a mesh combine script it should be good.
     
    dogzerx2 likes this.
  6. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Hopefuly, I'm sure it would improve a lot. Will run some test soon!

    Triangle count optimization is still needed, though!
     
  7. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    I use a custom batching tool, so i would love to have the house in parts and connect it. This method is also ideal for desruction of the houses (i use a local disasembler for destruction, like the one in InfiniTREE asset for chopping down trees)

    That would definitly be one of the most important aspects. Of course it can also include a connected piece for reference and ease of use, to cover every use scenario.

    The art looks stunning, absolutly love it

    When is the release planned ?
     
    dogzerx2 likes this.
  8. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Thank you!

    I will provide several configurations, so it's not mandatory that you build it yourself, but it's nice to be able to, and modify or quickly create something from scratch, and then apply a mesh optimization/drawcalls reducer script.
     
  9. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Nice, cant wait to put it to good use :)

    When is the release planned ?
     
  10. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    I think I might make a first upload of this to the Asset Store in a couple of weeks, providing I have enough variety of items by then. I will post updates here just in case!
     
  11. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Ya ideally I'd be wanting about a maximum of say 10 drawcalls per house (actually just 1 but that's sometimes not possible).

    And 60k polys/tria would be way too much for me. 30 would be better. I think as long as the drawcalls aren't too bad, I'd use it.

    I really need to pick up a mesh combining/draw call minimizing package for myself though. What you mentioned in your last post sounds good though. Different options and a mesh optimization/drawcalls reducer script would be excellent.

    I know the cool thing about the house is that you can build/rebuild it in pieces, but I'm one of the people that just wants the whole house altogether by itself lol.
     
  12. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    This is certainly possible! I'm going to run several tests. I think there are tools than can help us in this matter. Right now the house has 8 materials, with mesh combine that should take it down to 8 drawcalls if I'm not mistaken; but I'll see if there are tools that can merge the materials creating a big atlas with all textures; merge it all to one or two materials. If that doesn't give good results, I'll see about doing the merging manually. Either case, I'm pretty sure we can bring those drawcalls down a lot.

    Good to know you want as many presets as possible. I'll be sure to include various house configurations!

    Thanks you!
     
  13. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    The good thing is ... since Unity5 everybody gets static batching :)
     
    dogzerx2 likes this.
  14. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    House update!

    Added windows, lamp over door, it's close to completed. Will add some props to place around the house... maybe a couple of barrels and a box (like the reference art I'm using).

    Then, before I start making several house configurations, I might start optimizing the geometry, and see which is the best mesh combining option. If we're lucky there's a free solution somewhere! :-0

     
  15. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Watching :) Is it pretty easy to change the color of those roof tiles/shingles?

    I'm wanting to change the color of the roof tiles based on what team color the player chooses. This is looking great. I really like the lamp you added. It's a nice touch.
     
    dogzerx2 likes this.
  16. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Yes, of course! :-D Just a quick test below.

    I will be sure to include several colors for most things. And you can of course tweak the color further in the material.



    Here's a closer shot of the lamp:
     
  17. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Excellent. I'll try to keep an eye on this so I can see when you release it. :)
     
    dogzerx2 likes this.
  18. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Looks so lovely, i cant wait for this release
     
    dogzerx2 likes this.
  19. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Update: I did some major optimizations of the mesh. Without major loss of quality.

    The optimized house is 33k.

    After (33k) triangles:


    Before (90k triangles):


    I think I can put together a script that merges textures into one, and also mesh into one. Creating a mesh per house, that uses one or two materials. Really bringing down the drawcalls. So houses work at max performance out the box.
     
    Last edited: Apr 7, 2015
  20. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    I've managed to make a script that can combine all house meshes into one. You'll just have to place it at the root of the house hierarchy, and when you hit play, the house will convert to a single mesh.

     
    the_motionblur likes this.
  21. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Going to include stone surfaces and a few elements so I can have more variety.
     
    Velo222 likes this.
  22. l0cke

    l0cke

    Joined:
    Apr 15, 2012
    Posts:
    438
    Why is performance far lower with merged house?
     
    dogzerx2 and twobob like this.
  23. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    I think it has something to do with vsync. FPS is capped. Either way one house has very little impact on performance. But I will run some tests today and post them here to see if there are true gains in performance.
    With unoptimized pieces FPS started to drop after 20-30 houses aprox. Hopefully now I can cram a lot more on screen.
     
    Last edited: Apr 8, 2015
  24. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    In my PC I can have 190 Houses running at 60 FPS aprox. So there improvement is substantial, about 6 times better than before. Honestly the project was really asking for an optimization. But I think I can still improve it further, if I also combine the materials, making one big atlas per house textures that encompass everything the house has.
    And, I don't want to promise too much, but maybe I can make the script create a prefab in editor, so there's no processing involved when the game starts.

    My specs are:
    AMD FX 8350
    GTX 760
    16 GB RAM

    Below is the un-optimized version. It starts losing its grip at 20 houses. 32 Houses gave me 40 FPS.
     
    Last edited: Apr 8, 2015
  25. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Why not batch them all together and have just as many draw calls as materials ?

    Add to a pool and apply the CombineChildren script for example

    http://forum.unity3d.com/threads/combine-children-extented-sources-to-share.37721/

    Also from my work with InfiniTREE pack, one of the major problems were shadows in uncombined items. These increase the burdain a huge lot, so ideally you would want everything in one single mesh.
     
  26. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Hey, that's actually a great idea. The obstacle I find now is that there's a triangle limit of about 65k, so the way I'm combining them (making a submesh per material) at 30k per house, I can only combine two houses.

    I will try combining one mesh per material via script, instead of a single mesh with several materials. This way, we can combine more houses together, and have one drawcall per material, per few set of houses.

    Sadly because of the modular nature of the houses, the triangle count is going to be somewhat high, so it would be impossible to have 30 or 40 merged together :-(
    Although, it's probably not optimal to have the whole scene in one mesh, because you either have everything or nothing in memory.
     
  27. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Indeed, the best way is to eliminate the uneeded items, with a multithreaded dynamic batcher and use LOD too.

    This requires some auto grouping mechanism too.

    I will be using the InfiniTREE system with this asset and see how much it can handle, it will be grouping houses dynamically as i construct them in the map for example and batch them on the fly, then apply LOD and extinction based on camera distance. Theoretically i can have unlimited such houses :), but there could be a limitation in ram probably.

    I have also worked around the 65K issue with the custom batcher, so the poly count wont be a problem.
     
    dogzerx2 likes this.
  28. Xoduz

    Xoduz

    Joined:
    Apr 6, 2013
    Posts:
    135
    Could one, in theory, use this to construct a larger, multi-story building that players could enter? And possibly... make each floor a separate "building" if you will (so each floor can be hidden from view in a top-down view camera situation)? :p
     
    Rajmahal and dogzerx2 like this.
  29. CodeMonke234

    CodeMonke234

    Joined:
    Oct 13, 2010
    Posts:
    181
    Looks great - how close to releasing it are you?
     
    dogzerx2 likes this.
  30. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    @Xoduz: Yes, of course! :) This image illustrates how the pieces look like: https://dl.dropboxusercontent.com/u/11214337/Pieces.jpg
    I will make sure to provide many houses/buildings as an example. But also sets of walls, or roof, already set in place, to minimize the burden of placing piece by piece (it can be a bit time consuming)

    @CodeMonke234
    Thank you! :D I think by next week I will release this set, if I don't have any major setback.
     
    Last edited: Apr 8, 2015
    Xoduz likes this.
  31. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Great! My fear is that people see it as an inconvenience having to resort to 3rd party assets to batch the houses. So I wanted to provide something simple to get that out of the way. But I'm not an expert programmer (not sure I can even call myself a real programmer) so I would love to see how other solutions might work with this!

    For now I'll keep working in the second house, see if I can put together a nice set of houses by next week.
     
  32. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    The modular nature is one of the biggest perks for me, since i am into modular design a lot, most of my RPG will be constructed like that.

    I will make sure to post results from the custom batching i will use too.
     
    dogzerx2 likes this.
  33. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Almost finished the second house, reusing some of the pieces, and adding a few more. :-]

     
    Xoduz likes this.
  34. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Super cool.
     
    dogzerx2 likes this.
  35. l0cke

    l0cke

    Joined:
    Apr 15, 2012
    Posts:
    438
    This is not good idea, it would have big impact on texture quality, you cant do texture tiling and you cant use detail textures. Dont over optimize, quality is also important. Modern game is doing easily 2000 drawcalls all the time and have 4096 textures almost everywhere.
     
    dogzerx2 likes this.
  36. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Just showing some progress!
    I estimate somehow around next week I'll be uploading v1.0 of this pack.
    I try to add new items for each house. Like the stone corners, various props, arch door, different window frames, etc.
     
    Last edited: Apr 11, 2015
    Xoduz likes this.
  37. Xoduz

    Xoduz

    Joined:
    Apr 6, 2013
    Posts:
    135
    Instant buy the moment it's out.
     
    dogzerx2 likes this.
  38. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Kool! :)

    I think the asset will be ready to release soon. I made a 4th House:
    The more pieces the more you can mix it up. :3



    I think tomorrow I'll make one more house, add a few pieces with it, and probably upload to Asset Store.
     
    Xoduz likes this.
  39. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Great, looking forward to it :)

    What is the planned price ?
     
  40. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Well, I was thinking $30. :-0

    I think it's a nice set for both personal and commercial projects, as pieces can be rearranged for many uses. Of the top of my head, say you're just making a platformer, then you only need the front of the house, that can be easily be arranged by the user, and you make the architecture suit the game. If I was a top notch programmer I would include a procedural house generator haha, but... that's out of my league :-/

    Btw for any suggestions, my email is dogzerx@gmail.com, or you can post it here (I get notified).
     
  41. Xoduz

    Xoduz

    Joined:
    Apr 6, 2013
    Posts:
    135
    Here's a suggestion: You could expand on this idea and create a whole set of different modular pieces in a variety of styles. I would almost certainly buy ^^ . Wooden walls, brick walls, stone walls, short walls, tall walls, thatch roof, wooden shingles roof, stone roof, different style windows/doors (poor quality doors, high quality doors, wooden doors, metal doors, short windows, tall windows, wide windows), lit/unlit windows, transparent windows, windows with shutters closed,modular staircases (so you can build them of any height/width) in wood and stone, etc. Anything you can make a medieval house/village/town out of, piece by piece :)

    Don't have to limit to just houses, either. Bridges. Town walls. Fences. Gates.

    There are many assets on Asset Store for things like furniture and decoration, but not many that let you actually construct your own buildings piece by piece, like this. :)
     
    dogzerx2 likes this.
  42. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    I'm really glad you appreciate the versatility of modular pieces.

    Speaking of which, among other things, I want to entertain the idea of having a "modular terrain" that fits this style. So you'd have very detailed terrain tiles, with 1, 2 and 3 point slopes, rocky cliffs of different steepness, etc. And each tile could be further randomized by placing elements, such as rocks, grass, flowers, mushrooms, tree stumps, bushes, etc, in different ways. Also placing the tiles based on bitmap wouldn't be hard to do. I honestly think it would be fun to have that, the result would be a very detailed terrain, with minimal effort.
     
    Xoduz likes this.
  43. CodeMonke234

    CodeMonke234

    Joined:
    Oct 13, 2010
    Posts:
    181
    Looking great!

    Let me know if you want a beta tester ;-)
     
    dogzerx2 likes this.
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I love these too - and am very interested in bricks, and other even smaller bits n pieces as well. +1 on a sale when they are ready.

    From a terrain perspective i am just interested in textures that would work well with your houses.
     
    dogzerx2 likes this.
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Hi,

    Are there any news on this release ? It is one of my top awaited items in the store :)

    Thanks
     
    dogzerx2 likes this.
  46. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Sorry for disappearing!

    I got a bit derailed by reason of force majeure, couldn't get out of it. But now I'm back.

    The 5th house is done btw. Right now I'm renaming some objects, and making the webplayer model viewer for the Asset Store, so you can view the houses in 3D. In other words I'll be uploading this very very soon!

     
    nasos_333, Mister-D and Xoduz like this.
  47. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,363
    Great, looking forward to it :)

    I cant wait to turn InifiniTREE to InfiniHOUSE :) for my RPG.

    Also i will probably feature some of those assets in the InfiniCASTLE system demo.
     
    dogzerx2 likes this.
  48. l0cke

    l0cke

    Joined:
    Apr 15, 2012
    Posts:
    438
    Modeling is great, attention to detail also. I personally prefere realistic style of textures, do you consider to prepare even realistic textures?
     
    dogzerx2 likes this.
  49. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,971
    Thanks! Well... for this set I was going for an overall fantasy style... it's ever so slightly cartoon-ish, but with certain photo-realism. Much of the texturing was done using masks based real photos of wood, stone, etc. :-]
     
  50. l0cke

    l0cke

    Joined:
    Apr 15, 2012
    Posts:
    438
    Fantasy does not necesarilly mean cartonish:

    http://blogs.unity3d.com/wp-content/uploads/2014/09/Screenshot_09.jpg
     
    dogzerx2 likes this.