Modular design within games.

Hi everyone,
I am currently working on a research project into the effects of modular assets (benefits and problems) within games design, aimed towards UDK however a general knowledge-base for all games engines.

I have currently found a fair few tutorials and information based upon this subject, there's an entire section here on the polycount wiki (very helpful) and tutorials from 3d-palace and others that are free and available over the Internet.
The following is what I found so far.
UDN - Two - WorkflowAndModularity
CategoryEnvironmentModularity - Polycount Wiki
Gamasutra - Features - Creating Modular Game Art For Fast Level Design
PHILIPK.NET - WORKING WITH MODULAR SETS
PHILIPK.NET - WORKING WITH MODULAR ROCKS
3dmotive | Sci-fi Modular Floor Workflow
MT7 – Modular Structure Building in 3ds Max – The Bunker 3d-Palace
Modular Floor Tiles - Outlined in Shadow - Polycount Forum
Modular vs single mesh - Polycount Forum
Sci-Fi Spaceship w/tileable texture elements workflow - Polycount Forum
The Best Quality Seamless Tileable 3D Textures*Ever - PhotoSculpt Blog - PhotoSculpt creates 3D models and textures from 2 stereo photos
Digital Mercs 2009 December
3D modular Models, 3D modular Animation, 3D modular Files at TurboSquid

I am after as much information on the subject as possible, this includes any tutorials on the subject, these may not be directly related to modular assets however may contain snippets of information within the tutorial and may be just an overall optimization techniques tutorial or other tutorial.

Along with these tutorials I am after any technical information on the subject, as an artist this will be my weak area on the research and not entirely sure what to search for regarding the technical aspect.

I do know that having only one asset takes up the same amount of memory and is not related to how many times it is re-used, the only new things that will be added per asset would be lightmaps and world position information, collision detection may also come into this however if this is set up by a volume in UDK over an entire surface this possibly would not be the case.

However I am trying to find specific information on how engines handle data like this and also I need evidence/information currently available to back up the theory (If people post information directly about the subject then can I please have permision to quote yourself and if is the case, could I possibly have information on what position you may hold within industry or experience within the subject so I can have a solid and relevent basis for my research, I dont mean to offend people who have no experience but I cant use it to back research up even if it is correct as industry standards hevily influence the way everyone works and normaly has a standard and been proven.)

On top of information and tutorials on how to create modular assets, I would also like examples of games that heavily use a modular aspect, games such as mass effect and mass effect 2, Total war seires (uses the same units though not module it uses the same effect and also buildings I do belive use a modular design) and UT3 use modularity a fair bit in different areas of game play and to different effect.

With a large user base on these forums directly aimed towards games I am hoping that there are a few of you that may know of tutorials that may be hard to find, or may at first glance seem irrelevant to the subject.

In return of any help given I would be giving out the research I do on the subject so other people can benefit from this as well.

I would like to thank you in advanced for reading and any help provided.

Replies

  • Ben Apuna
  • ScottJ
    thank you, that was very interesting, this is exactly the stuff I am after.
  • Ben Apuna
    There was also Modular Facade Challenge a couple of years ago. (time sure does fly by...)

    You should do a search for the various threads, I remember there were quite a few good entries.
  • ScottJ
  • Eric Chadwick
    Great sets of links, and a great subject! I'm also really interested in this, and would love to see the results of your research so I can expand what's covered in our Wiki. I'm a bit busy at the moment but I might be able to contribute at some point as well.
  • ScottJ
    Analasys of the information will be starting shortly, I am still in need of more technical hardware related information.

    Any and all help with obtaining usefull links/information are most welcome, the more the better as it will strengthen the outcome of the research and make the overall paper more reliable and usefull.

    here are a few more that can be added to the list.
    http://forums.cgsociety.org/showthread.php?f=39&t=444791&page=7&pp=15#post4855106
    http://www.game-artist.net/forums/support-tech-discussion/182-step-step-techniques-tiling-textures-3ds-max.html
    http://www.brameulaers.com/tutorials/generic_wall_tutorial/generic_wall_tutorial.html
    http://www.polycount.com/forum/showthread.php?p=924231#post924231
    http://www.polycount.com/forum/showthread.php?p=1101338#post1101338
  • Eric Chadwick
    Some good technical reading material in the wiki page CategoryWhitepapers. I would start with the Game Renderer Articles section, then search through the whitepaper links. You'll want to learn about memory, framerate, instancing, batching, atlases, vertex duplication, etc.

    It would also help you immensely to get in contact with a graphics programmer or two, so you can plumb the depths of various topics. This is the way most artists learn this kind of material, as some of it is very engine-specific (like whether and how well the engine handles instancing).

    Check out game programmer forums, like http://gamedev.net
  • ScottJ
    Just a quick update, I have almost finished the research of this topic I have yet to evaluate everything though, I was able to find infomation on the technical aspects from nVidia and done some some quick tests, this will be published int he full report but the overall figures where nice and though would be something good to share early.

    a simple instanced asset (not a modular asset but for performance test this is all that is needed) of a 1000 polygon model instanced 2000 times saved over 3000% of memory (this was untextured) and over 10% FPS increase on a DX9 graphics card.

    obviously this is not a real world example as its impractical to think a level can have an object instanced 2000 times, however the results are a relativly good indication to performace gains
  • tristamus
    Offline / Send Message
    tristamus polycounter lvl 9
    You know, I currently work in a book store (Borders Bookstore, Chicago), and I can't stress enough just how OUT-DATED the books are nowadays on game asset creation. In fact, there's barely any books on game asset creation to even begin with. Is this something that is just impossible to write about, given how fast this industry changes, or are people just lazy and don't care to compile this info?

    I know compiling such data would be monumentaly difficult at times, but I think it'd be great to see someone compile all of the known free knowledge there is out there, from forums, websites, etc, and make a current-gen book based upon the general knowledge of current game art creation processes and techniques. Modularity would be one of them.
  • ScottJ
    I wouldnt say its through lazyness, there are many factors that contribute to the reason though, in my opinion, its mainly because the life of an artist in the games industry is extremely busy, its up to something like 1/4 of the dev time is becoming crunch time where you work for extra long days (and at times for no extra pay) I think the speed of the industry changes fairly rapidly however of late no new breakthrough technologies have been made, just more raw power, so for making a model, sculting it baking the normals and importing into engine hasnt changed much, just the quality of these, the biggest breakthrough imo of late is tesselation, though this I dont think will effect artists all that much.

    another reason I think is we are not writers, we make art and have no experience in wrighting so most of us dont think of it.

    and the last huge factor that contributes to this is there are just so many different methods of doing things and there is alot of information out there on most of it, just not put into a single book.

    there is one for texturing I know of and one for 3 for UT3/UDK there are ones for modeling however you are correct I know of none complete asset creation guide.

    the only reason I am doing this project is for my university dissertation, so they are giving me the time to do so.

    it is a good point that needs chaning, however I doubt it will any time soon.
  • ScottJ
    I am pleased to announce that I can now show you my research, in parts its a bit dodgy and iffy and I am sorry for this, as such this was all the time I had to cover the subject with, I have named this version version 1 as I may update it in the future, however I finished this in may and have not added much sinse and as such not sure if I will, so as promised I present the research
    http://www.scottjonescg.co.uk/FYPResearch/Investigation_into_modular_design_within_computer_games_v1.0.pdf
    If people do request the practical part that is coverd in the latter sections of the research I can upload the required files, however as this was a test into modularity there are a few issues with the level and it will be released as a UDK file and not an instalation.
    I hope this is usefull to some people and whilst UDK was extensivly used the practicies and information given in this document can be used in other engines.
  • OBlastradiusO
    Offline / Send Message
    OBlastradiusO polycounter lvl 11
    When it come to modular building should one work on the textures first or last? I get the feeling that for low to med poly buildings or interiors one should do the textures first. When doing hipolys one should do it last.
  • Eric Chadwick
    ScottJ wrote: »
    I am pleased to announce that I can now show you my research, in parts its a bit dodgy and iffy and I am sorry for this, as such this was all the time I had to cover the subject with, I have named this version version 1 as I may update it in the future, however I finished this in may and have not added much sinse and as such not sure if I will, so as promised I present the research
    http://www.scottjonescg.co.uk/FYPResearch/Investigation_into_modular_design_within_computer_games_v1.0.pdf
    If people do request the practical part that is coverd in the latter sections of the research I can upload the required files, however as this was a test into modularity there are a few issues with the level and it will be released as a UDK file and not an instalation.
    I hope this is usefull to some people and whilst UDK was extensivly used the practicies and information given in this document can be used in other engines.


    Great stuff Scott! I would like to upload this to the Polycount wiki, with your permission.
    http://wiki.polycount.com/CategoryEnvironmentModularity
  • ScottJ
    that is absolutly fine, with the help I got from here and from epic forums I am more than happy to return the favour, it also raises peoples awarness ofmyself as I am looking for a job, just need to get a portfolio complete
  • ScottJ
    OBlastradiusO to answer your question, I found it best to make the assets first, make them modular to each other and fit nicely (this is coverd in detail in the report) this then enables you to make a base texture that will work with all and make the texture itself modular by using shaders to swap key aspects out (different grunge maps) Tyler Wanlass over at 3Dmotive actualy goes about it the same way as you mentioned, it can be a faster technique at times however its limited in places. If you look at page 35 I cover his technique.

    If anyone disagrees with any part of the document I would like to discuss it and correct it or even expand it, one thing I would like to add to the document is a table of how different engines handle modularity with statistics, late on in the research it was found that UDK instances the meshes in the system memory but sends out a draw call for every different asset instead of batch rendering, as such the engine doesnt actualy take full advantage of instanced modular parts.
  • mixeh
    Offline / Send Message
    mixeh polycounter lvl 8
    This is a great read. As you said above I'd like to know a little how each engine handles modularity, for example cryengine compared to unreal. But that's just the icing on the cake :D.
  • NordicNinja
    Thanks for all of the info!

    I've only been able to skim the PDF so far but it looks like its going to be very helpful. :thumbup:

    Tons of great links in here too. Much thanks gentlemen. :)
  • DJ_Aaron
    Offline / Send Message
    DJ_Aaron polycounter lvl 7
    Thanks for this ! got a bunch o good tut's :P
  • Kurt Russell Fan Club
    Offline / Send Message
    Kurt Russell Fan Club polycounter lvl 8
    ScottJ that paper was a great read, thanks :poly142:

    If you're going to revise it maybe replace all commas with periods? Epic sentence:

    "Using these parts the model can be created from using extrude, cut, bevel and other tools to give this flat plane depth and 3D shape, while most of the UV map will be good, after altering the mesh like the above causes some problems, the extruded parts do not have any new UV coordinates and so have to be manually placed into position, this may be a little difficult as instead of making the texture based on the model, the model has to be positioned in the best location, with time this may not cause a problem however there is a chance it causes a seam in the model as these are removed in creating the texture, as this normally happens on a corner though, depending on its position in the level it might not be noticeable."
  • allaze-eroler
    Offline / Send Message
    allaze-eroler polygon
    nevermind, i should read first before i post this document... apparently, scott jones did posted his document here ^^;
  • ScottJ
    :) no problem, I am glad it is still being of use to people and that people are thinking of polycount! even more that people don't randomly post new threads and use the search function is even better.
  • Eric Chadwick
    Thanks for reminding me about this! Finally added it to the wiki. Thanks again Scott!
  • allaze-eroler
    Offline / Send Message
    allaze-eroler polygon
    ScottJ wrote: »
    :) no problem, I am glad it is still being of use to people and that people are thinking of polycount! even more that people don't randomly post new threads and use the search function is even better.


    thx, i really though i did posted it for nothing since i did the error and at the moment, i'm reading your pdf file from here, i learned alot of stuff !

    anyway, you need to update the links because some of them were not availlable any more.
Sign In or Register to comment.