• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Ysaneya

The Minas Tirith Project 56k = good luck

39 posts in this topic

I didn't know where to post this.. it's not directly related to programming, but it's not an announcement either. Just wanted to show off a new project i'll be working on this summer (note: i will try to regularly update this topic with new screenshots as progress is done). There's this group of 3D artists that are collaborating to create a massive 3D model of Minas Tirith. Just as a challenge: not for a game project or whatever. All done in medium to hi-polycount. I proposed my help to display (or try to.. ) the model in real-time. At the moment the model is 1.3 millions polys, and is not textured (how they are going to texture it, that's beyond me..). The ASE file is 450 Mb on disk. It's only the very top of the city, with the main hall and Ecthelion's tower. This is basically 1 / 100th of the total model they're trying to recreate. Some screenies: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Comments: 1. An overall view of the current model 2. The main hall (1 million polys) from outside 3. Another view of the hall, a bit further away 4. A side view (on the left) looking at the hall 5. Entrance 6. Back view from the left 7. Back view from the right 8. Interior, near the entrance 9. Interior, under the roof 10. Interior, some statues 11. Zoom on a statue 12. A wireframe of the statue (there's more polys in this statue than in a whole Quake2 level) 13. Candle holder 14. Wire for candle holder 15. Bird view, from top of Ecchtelion's tower 16. Wire for fun: main hall from front 17. A side tower 18. Back view of the hall Y. Edit: used some thumbnails for the sake of my website's bandwidth.. [Edited by - Ysaneya on June 17, 2004 10:30:37 AM]
0

Share this post


Link to post
Share on other sites
That's... just amazing.
Seriously, great work. I don't know how you got the FPS you did, even on a top range system.
Wow.
0

Share this post


Link to post
Share on other sites
Amazing! How do multiple people work on the same model though? Is it built in parts that the moddelers can check out so there won't be time conflicts?
0

Share this post


Link to post
Share on other sites
Wow, that's really cool. Modeling an entire city just for fun? Does that mean people will someday be able to download it themselves to look at or walk through? That'd be cool. I'd love to see that thing textured.
0

Share this post


Link to post
Share on other sites
Nah, I reckon he's 'shopped the framerate ;)
Woo, that's impressive! Great modelling!
0

Share this post


Link to post
Share on other sites
WOW! Definitely let us know how that goes. I can't wait to see the finished product, and possibly download the walkthrough.

That really needs to be made into a game someday, even if it's "Hide and Seek in Minas Tirith."
0

Share this post


Link to post
Share on other sites
*jaw drops*

WOW!! what amazes me is the amount of detail in that map. Its just incredible. Its going to be a pain to texture. But still I would love to see the finished product.
0

Share this post


Link to post
Share on other sites
Great artwork. Looks like you could really benefit from some occlusion culling in there. A binary file format might be a sensible idea too if you don't want to be storing and parsing 450MB at init time.
0

Share this post


Link to post
Share on other sites
Really impressive :)

I wonder if it can be converted to a map for some 3D shooter though... Perhaps the Quake3 Raytracer engine can handle those polycounts.
0

Share this post


Link to post
Share on other sites
I was enjoying the pictures until I got to the wireframe one. That's where I glanced at the framerate ... ... What machine spec is that being rendered on?

0

Share this post


Link to post
Share on other sites
I've tried scene with about 1.1 mil polygons in my engine and got about 4 fps when everything was on the screen.
When I turned on wireframe, my fps dropped down to 1 or 2 :)
I've also used .ase file which had more than 400 megs (3 decimals precision)...
What kind of culling algo are you using? And what are system spec?
0

Share this post


Link to post
Share on other sites
I've received a few more buildings ( in a different part of the city ), couple of new screens:

1.

2.

Now to the questions:

Quote:

Amazing! How do multiple people work on the same model though? Is it built in parts that the moddelers can check out so there won't be time conflicts?


Everybody works on the part he wants to. They are working from pictures and photos of the LOTR movie. To synchronize they use this map.

Quote:

Wow, that's really cool. Modeling an entire city just for fun? Does that mean people will someday be able to download it themselves to look at or walk through? That'd be cool. I'd love to see that thing textured.


That's the idea, yeah.. and for the textures... i agree. But i doubt it will be done anytime soon..

Quote:

Incredible. What sort of culling algorithms are you using on that?

and
Quote:

I was enjoying the pictures until I got to the wireframe one. That's where I glanced at the framerate ... ... What machine spec is that being rendered on?


All these shots were taken from an Athlon 2.4 Ghz and a "simple" Radeon 9700. There's surprizingly very little visibility work done - only frustum culling at the moment. I plan to add LOD and occlusion culling (via occlusion queries) when the model will grow bigger.

The screens were all taken with antialiasing x4. No texture, and 3 directional light sources (per-vertex). Code uses OpenGL with VBO/IBO.

Quote:

Great artwork. Looks like you could really benefit from some occlusion culling in there. A binary file format might be a sensible idea too if you don't want to be storing and parsing 450MB at init time.


Agreed, occlusion culling shouldn't be too hard to code, maybe if i have time this week end. I've just finished implementing a custom binary file format, so now i've taken the whole scene back to 50 Mb.

Y.

[Edited by - Ysaneya on June 17, 2004 10:08:08 AM]
0

Share this post


Link to post
Share on other sites
Holy crap! Awsome. Definately have to keep this up to date... can't wait to see what it looks like when it's done, and textured...
0

Share this post


Link to post
Share on other sites
Quote:

Is this the same group that started a Minas Tirith project on CGTalk awhile back?


Yeah :)
0

Share this post


Link to post
Share on other sites
What's so cool about the frame rate? It's normal for a non textured model.
Anyway, great work, but I want to see it textured :)
And then Yann will show you some even better looking screenshots, running twice as fast :D
0

Share this post


Link to post
Share on other sites
I don't think texturing is a problem. It's geometry limited, not fillrate limited (for instance enabling antialiasing x4 does not drop the framerate at all). The vertex format already includes tex coords, so i doubt enabling a single diffuse texture will drop the framerate.

Now if you're talking about per-pixel lighting, dynamic shadows & tralala, i have to agree..

Y.
0

Share this post


Link to post
Share on other sites
Any chance you would make a part of it available for download?

Im coding a BSP algorithm to bake 3D structures into an occlusion culling structure, and this type of architectural structure is exactly what im looking for...

Good luck with the project ;)
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Ysaneya

I don't think texturing is a problem. It's geometry limited, not fillrate limited (for instance enabling antialiasing x4 does not drop the framerate at all). The vertex format already includes tex coords, so i doubt enabling a single diffuse texture will drop the framerate.

Now if you're talking about per-pixel lighting, dynamic shadows & tralala, i have to agree..

Y.


Well, yeah, of course it is geometry limited, since you have no texture :) But you can't put only one texture on such an impressive set of models. You will need loads of BIG (and usually unique) textures if you want really high quality.
Also, some light/shadow maps would look so cool :)
0

Share this post


Link to post
Share on other sites
Oh oh, sorry, i hadn't seen the latest replies on this thread..

Quote:

Any chance you would make a part of it available for download?


I've uploaded the demo on my website.. get it Here (20 Mb).

Note: gamedev.net being a very popular website, i hope this won't make my bandwidth quota explode. Please only upload the demo if you're sure it interests you and you can run it. It requires a pretty recent video card - Geforce 4+ or Radeon 9500+. Please do not download it if you have an older video card, it won't run well anyway.

The file format for the .bin files is as follow:


FILE:
- one integer (4 bytes), number of objects in file
- array of objects, one after each other

OBJECT:
- a string (object name)
- one integer (4 bytes), mask (value should be 37)
- a boolean (1 byte), should be >0 (true)
- one integer (4 bytes), number of vertices in object
- an array of vertex positions: nbverts * VEC3D
- a boolean (1 byte), should be >0 (true)
- one integer (4 bytes), number of normals in object - should be equal to nbverts
- an array of vertex normals: nbverts * VEC3D
- a boolean (1 byte), should be >0 (true)
- one integer (4 bytes), number of tex coords pairs in object - should be equal to nbverts
- an array of tex coord pairs: nbverts * VEC2D
- 15 booleans (1 bytes each, 15 bytes total), all should be 0 (false)
- a boolean (1 byte), should be 0 (false)
- one integer (4 bytes), number of indices in object
- an array of indices: nbindices * integer. This defines a triangle list array.
- one integer (4 bytes), number of primitives in object
- an array of primitives: nbprims * PRIMITIVE
- one integer (4 bytes), number of materials in object
- an array of materials: nbmats * MATERIAL
- the object's bounding box: BBOX
- the object's bounding sphere: BSPHERE

PRIMITIVE:
- one integer (4 bytes), type of primitive. Should be 0 for trilist.
- one integer (4 bytes), offset of first index in index array
- one integer (4 bytes), number of indices from offset for the primitive
- one integer (4 bytes), ID of material for this primitive

MATERIAL:
- one string: material name
- one string: diffuse texture file name (string empty in demo)
- one string: bump map file name (empty too)
- one string: gloss map file name (empty too)
- one string: reflection map file name (empty too)
- one string: emission map file name (empty too)
- a float (4 bytes): ambient light value in [0-1]
- a boolean (1 byte): object receives shadows (should be true)
- a boolean (1 byte): state flag, undescribed
- a boolean (1 byte): same
- a boolean (1 byte): same
- an integer (4 bytes): same
- a boolean (1 byte): same
- a color: material's diffuse color, if no texture mapping
- a boolean (1 byte): state flag, undescribed
- a float (4 bytes): same

BBOX:
- a boolean (1 byte): true if box is empty, false if not
- a vector (VEC3D): position of minimum corner
- a vector (VEC3D): position of maximum corner

BSPHERE:
- a vector (VEC3D): position of sphere center
- a float (4 bytes): radius of sphere

COLOR:
- 4 floats (4 * 4 = 16 bytes), RGBA components in [0-1] each

VEC3D:
- a float (4 bytes) (x component)
- a float (4 bytes) (y component)
- a float (4 bytes) (z component)

VEC2D:
- a float (4 bytes) (u component)
- a float (4 bytes) (v component)

STRING:
- one integer (4 bytes), size of string in characters
- if size > 0, the size characters, data in string



Quote:

You will need loads of BIG (and usually unique) textures if you want really high quality.
Also, some light/shadow maps would look so cool :)


I'm currently working on that - but the model won't be textured any time soon, unfortunately. Although if i could get the assignment between objects and materials, i could use procedural textures at least..

Y.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0