FAQ Search
Memberlist Usergroups
Profile
  Forum Statistics Register
 Log in to check your private messages
Log in to check your private messages
Moonpod Homepage Starscape Information Mr. Robot Information Free Game Downloads Starscape Highscore Table
November-04: Interior Design for Spaceships
Goto page 1, 2  Next
Post new topic   Reply to topic    Discussion Pod Forum Index -> Developer Diary View previous topic :: View next topic  
 Author
Message
Moonpod Developer Diary RSS feed -RSS Feed
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Tue Nov 30, 2004 12:33 pm    Post subject: November-04: Interior Design for Spaceships Reply with quote

RESEARCH
This month I read Isaac Asimov's 'The Complete Robot' as research. It's actually the first Asimov book I've ever read; even though I seem to have accumulated piles of them over the years, I always put off reading them. I got it into my head that Asimov was quite 'clinical' in his writing, a bit like Philip KA. Dick, but I was pleasantly surprised. The complete Robot collects 99% of Asimov's positronic robot stories and is a highly recommended read. The recent movie 'I Robot' is set in the same world as the stories, although it isn't based on one of them and was an original work.

PRODUCTION
Mr. Robot artwork this month has been completely dominated by scenery requirements. Poo Bear has been trying to get one zone of the ship completed, and I've been concentrating my efforts on that zone (Storage).
Right now most of the basic building blocks for making a room are complete, and there's just a few gameplay specific objects left to do. A few more wall and floor variants would help too, just to break things up a bit, but I can work on them at a later date.


A selection of crates and boxes.


Basic Wall sections for the ship's storage area.


Floors and Objects.

THOUGHTS & NOTES

MODEL PERFORMANCE
Model Performance in our engine (although this should apply to most, modern 3d engines using Hardware T&L) relies on the following factors:
  • Keeping the lowest Vertex count possible.
  • Using as few materials/textures within one model as possible.
It's perhaps not so clear cut, but you have to try and work out some rough rules to give your models that performance edge, so I try to aim for low vertex count, single texture, singles material objects - Especially when something is going to be used a lot in a scene (Floors in Mr. Robot).

In some cases we've also found that you can split the edges of a mesh to improve the lighting, yet still maintain the same speed. In the following picture, box 2 has had the edges smoothed off so that you don't get aliased edges where the lighting abruptly changes. Since the mesh would be split anyway to create the extra vertex normals, the final vertex count in both models would be the same.

Of course, nothing is ever that easy, and the model would also have to be 100% seamlessly UV mapped - which is pretty much impossible on a box with a detailed texture map. The principle does work though in many cases, with only a small overhead in memory for the extra face data.

UV MAPPING (AGAIN!)
As ever, UV Mapping is the bottleneck in my model production pipeline.
My Current UV Mapping workflow goes a little like this:
  • Delete any sections from the model that will be mirrored, or will reuse the same mapping - I find it easier to copy the mesh back into place rather than the mapping, and taking out these sections first reduces the apparent complexity of the model for mapping purposes.
  • Identify large chunks of mesh that can be seamlessly mapped. (The more the object can be seamlessly mapped, the less it will be split on export, resulting in lower vertex counts).
  • Map each chunk at a default scale - Even if I'm mapping a small chunk, I use the same scale of mapping as the rest of the mesh. This ensures the average pixel coverage is the same across all parts of the model, and means that if I need to draw a line that crosses UV splits, it should be possible to make them match up easily. If I'm using a lot of lines and geometric shapes in my texture, it's also worth trying to keep the lines aligned vertically or horizontally (lines look much sharper aligned that way especially if a lower texture resolution is selected), and this may require rotating the UV chunks.
  • Apply a checkered texture to the model (wings3da has a handy feature to do this) and then fix any distortion.
  • Pack all the UVs into texture space - again by scaling all chunks at the (same time so average pixel coverage is the same) until they are roughly small enough to fit.
On complex objects I quite enjoy UV mapping, but most of the scenery is 'boxy' with annoying folds that are a pain to map, so it gets tedious very quickly Rolling Eyes

SCHEDULING
One last thing I'd like to mention this month regards scheduling - I've been consistently underestimating (or just not even allowing time for) how long it takes to export things to game ready status: an increasing amount of time is spent on this in game development, and yet no one ever seems to take it into account. If you are undertaking a game project then scheduling can help immensely. It's worth bearing in mind that the time taken between finishing a model in an art package and getting it to the game as a final signed off piece of work can be roughly one quarter of its development.
Back to top
View user's profile Visit poster's website
Poo Bear
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 4121
Location: Sheffield, UK



PostPosted: Tue Nov 30, 2004 12:35 pm    Post subject: Reply with quote

I've spent a lot of time this month playing old spectrum games, drawing isometric pictures on graph paper and building things out of lego! Smile

That sounds bad but it's a necessary part of game design, you have to fully immerse yourself in the genre you are developing and find ways to easily experiment with as many new ideas as possible.


Lego is a great way to protype ideas for a game like Mr. Robot
(You can be tempted to start building vast lego castles though Wink


The editor is really coming on now and i've already mocked up about 25% of the environment. Visualising the internal structure and layout of a huge space station is a lot of fun. Quite tricky at the minute though because lighting isn't finished so everything appears a bit dull and flat, hopefully it wont be long though. It's a bit daunting considering how much there is still to do. You have to put that out of your mind, slow down and just keep making sure you aren't repeating yourself and that what you're doing is fun. No point cranking out game content just for the sake of it, if ideas don't come I don't force it, I just do something else for a while.

I'm also starting to put the games front end together (the menu system), hopefuly it wont take too long as it seems fairly simple compared to Starscape.


Editor In use (*Note, there's no lighting at this point, the game will look much better than this!!).
Back to top
View user's profile Visit poster's website
Goober
Pod Team
Pod Team


Joined: 11 Oct 2002
Posts: 449
Location: Moonpod Central



PostPosted: Tue Nov 30, 2004 12:36 pm    Post subject: Reply with quote

My time has been spent making the editor for Mr Robot. The initial version was pretty quick to hack together, but it's only until other people start using it do you find (a) your idea of user interface design sucks, and (b) there are a whole category of bugs that you never knew about simply because you inherently know how the code works. So you know not to click on button A, then put a block down because you know that'll bomb the app out. These are mostly under control now, and I'm back to adding features rather than patching up what's already there Smile

One thing that has become apparent with this game is that lots of draw calls can be expensive (if you're a developer you'll probably have seen some presentations from nVidia and ATI saying just this sort of thing). The initial implementation of Mr Robot just renders the rooms a block at a time, because that's how the basic rendering system works. This was quick to get working and, while the rooms were small, worked pretty well for a time. Unfortunately Poo Bear has been making some large rooms with lots of blocks in, which means a large number of draw calls. While our PCs can cope well enough, we want to target a larger range of systems, including fairly low spec machines. What I'm going to do is to collate objects into fewer, larger vertex buffers, so the app is sending more data to the graphics API in a single draw call. I'll probably only do this for the environment blocks, purely because they are static and won't need updating while the room is active. Anything dynamic (the player, enemy robots, effects etc) will still be a draw call (or calls if it's rendered in multiple passes) of its own, but there are far less of those types of objects than there are environment objects. This should take the number of rendering calls for the environment down from hundreds (I kid you not) to how ever many shaders are required, probably around four or five in a typical room; a huge improvement.

The graphics APIs have a concept of instancing for just this sort of thing, but they require one of the newer graphics cards to be able to support it in hardware. Unfortunately we aren't in a position to require high-end graphics cards only for our games, so it's of no use to us. The method of repeating data and having large vertex buffers containing multiple objects will work on any graphics card that we want to run on.
Back to top
View user's profile
Japlish



Joined: 13 Apr 2003
Posts: 67
Location: France/Japan/UK



PostPosted: Thu Dec 02, 2004 4:34 pm    Post subject: Reply with quote

Hoping one day you release editor. I anticipate another Moonpod game for very long. If editor is for download, I make pledge to architect many levels Very Happy

I love Mr. Robot (The Yellow One!), if you are without name, call the game:
Surprised supercutemachinesimulator! Surprised

Mister Robot is very sympathetic to see!
Back to top
View user's profile
Flumpaphone



Joined: 18 Sep 2003
Posts: 86



PostPosted: Thu Dec 02, 2004 4:55 pm    Post subject: Reply with quote

The Moonpod Team's Receptions were always the talk of the town:

'Why Monsieur! With these games, you are really spoiling us!'


As ever, thanks for the behind the scenes peak! I love reading your journals, in some ways they are torture - seeing a game really want to play come together, but I can't play it now!!!

I told the computing department at our school about the developer diaries the other day (all the kids want to write games these days!), and now all the kids are playing Starscape survival mode!! I don't think they are learning much, but they seem to be having fun! Hope it gets you some sales anyway Very Happy
Back to top
View user's profile
icarus
Troll
Troll


Joined: 01 Mar 2004

Location: Olympia Washington



PostPosted: Thu Dec 02, 2004 5:22 pm    Post subject: Reply with quote

yay screenshots
Back to top
View user's profile Visit poster's website
Jake89



Joined: 13 Sep 2004
Posts: 34



PostPosted: Thu Dec 02, 2004 7:28 pm    Post subject: Reply with quote

So... I dont suppose you could tell us a little about how some of the blocks work (i know there is sure to be some that do neat things, right?) that way we could design levels using legos... now that would be interesting. You wouldn't have to stress yourself with trying to come up with puzzling levels: Let us users do it for you! XD (Beleive me, we could come up with some that might stump you guys!!!)
Back to top
View user's profile MSN Messenger
BluePhoenix



Joined: 08 Jun 2004
Posts: 96
Location: Between Georgia and Cuba



PostPosted: Thu Dec 02, 2004 11:18 pm    Post subject: Reply with quote

Looking good guys!
Though, Poo Bear: Where'd you get that desktop image? Very Happy
Back to top
View user's profile AIM Address Yahoo Messenger
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Fri Dec 03, 2004 6:56 am    Post subject: Reply with quote

BluePhoenix wrote:
Where'd you get that desktop image? Very Happy

I scanned it for him out of one of my artbooks.

It's by Ugetsu Hakua, you can find more of his images on his website (Japanese, but you can find the images easily)
Back to top
View user's profile Visit poster's website
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Fri Dec 03, 2004 7:13 am    Post subject: Reply with quote

Jake89 wrote:
So... I dont suppose you could tell us a little about how some of the blocks work

We aren't 100% finalised on some of it; even though it looks like there's a game there, the only the data sets right now and the ability to view them. Basically what I'm saying is: what I'm about to say may change when we get down to playtesting it.

Anyway: the core works a little like this:

Static objects (room scenery) align on a grid which is 1X1X0.5 (1 being the size of a floor tile). You can place this stuff anywhere you like on that grid. Asimov can jump the length of one block, and the height of half a block. He can also push blocks (like the 1X1X1 crates). There's other things to the game, but I'd rather not go into detail about them until we have had the chance to playtest.

Out of the blocks on display, the ones with obvious functions are conveyor belts, and 'push-protected floors' (The floor with nobbly bits). Conveyor belts work in the obvious fashion. Push Protected floors cannot have crates pushed onto them (useful for avoiding situations where a player might get stuck - like if they push a crate against a wall, and so can't pull it away from the wall - there's no pull)
Jake89 wrote:
that way we could design levels using legos...

Ha! I'd love to see some pictures! Lego really is a great timesaver for prototyping ideas. I'll try and take some photos of Poo Bear's prototypes for nect month if I get a chance - although he keeps cannibalising them for new ideas!
Back to top
View user's profile Visit poster's website
Gravitron



Joined: 12 Jan 2004
Posts: 125
Location: Isra(H)el



PostPosted: Fri Dec 03, 2004 7:39 am    Post subject: Reply with quote

Fost, I really believe that you should take Crusader for a refresh trip.
There's just no other game like it around that has done 2.5D high quality graphics of the design you seek like it has done.
It'll really help you a push-wise to get a clear general design idea.
Infantry, like crusader, also makes a good model for a 2.5D game with industrial/hi-tech environment (not to mention being kick *** action game Very Happy).

Fost & Poo Bear : nice desktop...YOU PERVS! Razz

Goober, if a bug isn't patched within a week, it's a feature. Very Happy (besides, saves you the need to code in ctrl+q for a quick unsaved exit)
Also, don't forget in the beta candidate to throw in many options for turning off graphical elements (this way, you won't have to over-do cutting downs on things, while still allowing weaker boxes to work the game).

Lego is sweet. I still have my ships I designed in Lego (anyone say nerd and I make you eat a graviton pulse-wave).
Back to top
View user's profile Visit poster's website AIM Address Yahoo Messenger
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Fri Dec 03, 2004 10:49 am    Post subject: Reply with quote

Gravitron wrote:
you should take Crusader for a refresh trip.

I know you that you've brought up both Crusader and Infantry many times, but I think we'll just have to agree to differ. They just aren't what I'm into (from a graphics point of view I mean - the games obviously rock). I'm not saying they are bad or good - just not my preference. I always have a clear idea of what I want to do with the art, and because there's just me doing it, there's no sense trying to emulate something else - particularly games that don't use a style similar to my own. It can be done (in fact it's the norm in big team) but it would just take longer, and make me less happy in my work - which kind of defeats the point of starting Moonpod Very Happy
Back to top
View user's profile Visit poster's website
Gravitron



Joined: 12 Jan 2004
Posts: 125
Location: Isra(H)el



PostPosted: Fri Dec 03, 2004 1:02 pm    Post subject: Reply with quote

No, no, no, no, no, no, no.
Not emulate, not asking you to be someone else, just some general directions so you won't have to struggle as much.
Back to top
View user's profile Visit poster's website AIM Address Yahoo Messenger
Poo Bear
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 4121
Location: Sheffield, UK



PostPosted: Fri Dec 03, 2004 1:10 pm    Post subject: Reply with quote

Well if FOST ever starts struggling i'm sure he'll bear it in mind, cheers.
Back to top
View user's profile Visit poster's website
Gravitron



Joined: 12 Jan 2004
Posts: 125
Location: Isra(H)el



PostPosted: Fri Dec 03, 2004 1:14 pm    Post subject: Reply with quote

Pfft, artists always struggle.

Are you in the same area where you develop?
I'm certain that you've before heard him scream in anger at the monitor/piece of paper many times and/or seen him fill up a garbage can that has "NOT GOOD NUFF!" written over it.

Or do you telecommute maybe?
Back to top
View user's profile Visit poster's website AIM Address Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic    Discussion Pod Forum Index -> Developer Diary All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group