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
February-05: Heavy Metal
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
Goober
Pod Team
Pod Team


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



PostPosted: Wed Mar 23, 2005 11:18 am    Post subject: Reply with quote

I've been getting vertex animated meshes working. Now, some people might think that vertex animation is a bit of a step back, when you consider that skinned meshes are all the rage with the kids these days, but there are good reasons for doing things this way instead. No, really!

Essentially we needed something built quickly, that was efficient. To support doing skinned meshes we (that is, I) would have to have built an animation system to drive the skeleton, plus tools to export the skeletons, the meshes and the animations from whatever DCC (Digital Content Creation) application Fost wanted to use. This is something we do want to do eventually, but it's overkill for this project when you consider the size of the characters on screen, and how much animation they will require (i.e. not that much really). Use vertex animated meshes, we can just export a bunch of static frames from the DCC app and munge them together to get our vertex animated model. But that's still too much work for me Smile. So I was playing with an MD3 viewer I wrote one day when I realised the answer was literally staring me in the face (with a railgun in hand at the time too). There are a huge number of MD3 exporters and creation tools available, and loads of them are license free, so we can use them to build our data. The MD3 file format is license free, because it's just a file format. So I've taken that MD3 viewer of mine and munged the code into our engine, and it's working nicely, I think. John Carmack has previously spoken about this very subject, using id file formats in other commercial endevours, and his stance was that it's ok as long as you don't use the id code to generate the data. With the vast quantity of 3rd party tools available, I really don't see that as a problem Smile

The other cool thing about doing things this way is that I was able to build and test the system without needing to bother Fost for test data. There are a ludicrous number of Quake3 models kicking around on the net, and that was all the test data anyone should ever need Smile

If anyone is interested in writing their own MD3 importer/viewer/tool-chain then I got the file format information from this page. It's all pretty straightforward, even the slightly wacky normal encoding Smile


Last edited by Goober on Wed Mar 30, 2005 6:01 am; edited 1 time in total
Back to top
View user's profile
Poo Bear
Pod Team
Pod Team


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



PostPosted: Tue Mar 29, 2005 7:00 pm    Post subject: Reply with quote

All the bots are working for the first zone and the player is moving around well, added items you can pickup like keys and the doors they unlock. So the first zone has really come together and I can move around with all the rooms connected together and see how it all gels.

Adding an onscreen map really helps visualize the "world" and getting that to work was quite fun. In the past i've always had maps either created by an artist or you had to run some slow external process to generate it and there was usually some photoshop touching up required. I never did like that so this time i'm generating it on the fly. This means creating a blank texture in memory, updating it every time you walk into a new room and then uploading it to the graphics card. Sounds simple enough, but getting something like that to work fast when the game has never seen the rooms before is tricky. Think about all the possible room designs someone might make, with stairs and odd shapes, holes, doors and goodness knows what. How can the game work out exactly what the floor is to draw it and still get everything to line up and connect? The answer is to pretend you're the robot and recursively visit everywhere that the robot could if it was walking around and just draw where he walks. Nice and future proof, you always have an up to date map when building levels, it's made automatically and it's guarenteed to scale so when you scroll it around it always lines up properly (unlike the ones an artist makes - tsk!).

Here's one the computer made earlier:



Now that things are closer to actually working you start to see the holes in all those lovely levels you made. It sounded good in your head, it made sense on paper and it looked good in the editor. Why then, does it never work when you're playing the game? All of a sudden people are interested now that things are working and it isn't long before there is a long list of bits of the game where people can do something unexpected and then something breaks or they get somewhere they shouldn't. It might only take a day to get something in and working, but it usually takes 5x that long to fix it up and stop people being able to break it.


Asimov hitches a ride...
Initially getting Samson to work we had to use stand-in box objects to see if we could make it work. His entire design had to be collision led. He also needed to be able to turn on the spot easily so he would not rotate his collision volume into other objects, and also provide a front 'platform' for carrying Asimov. If you see the collision objects around Samson, you can see how they have influenced Fost's design:



Asimov being carried by Samson. everything fits nicely into a box and rotates nicely within the box.

Asimov stands on the platform created by Samson's arms. You can see here how Samson's arms have had to be designed to create the 'shelf' that holds Asimov.
Back to top
View user's profile Visit poster's website
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Wed Mar 30, 2005 6:29 am    Post subject: Reply with quote

I'll have to split this week's diary into business and pleasure sadly (most people will want to scroll past the first section I'd guess Wink )

Business

A lot of work this month (probably more than half my time) has been spent preparing our website for multiple products. It's pretty boring to anyone who's only interested in hearing about how the game is progressing I know, but there's so much needs doing before you can even put a game on a website. Just to sell Mr. Robot we need all the related screenshot/about/help pages set up, and most importantly we need the payment system and back end to support more than one product. The whole website has revolved around Starscape so long that much of it needs reworking and then extensively testing. I estimate I've only completed about 25% of the work Sad.

The largest job that needs finishing is the rebuilding of our purchase page with the following criteria:

  • Support multiple products.
  • Support multiple currencies.
  • Ability to offer discounts when purchasing more than one product.
  • Gift ordering system, so people can purchase online products for friends easily.
  • Have javascript based running total with fallback for users who have disabled javascript.
  • Support multiple currency display using up to date payment system exchange rates. (We currently do this when you reach our 'basket' page, but it would be nice on the main page)
  • Coupon code system so we can offer discounts to existing customers.


New multi-product puchase page (all text is placholder right now)


Currently the page is up and running, but now I need to tie all the data it sends into the backend - which is a testing nightmare.


Pleasure
(AKA: actually making art for the game Very Happy)

Have started the pretty dull but highly necessary task of masking off areas on all the exising scenery objects. This is one of the final 'cracks' that are stopping the game from looking finished (Even though it isn't finished, we are pretty close to having it look like it is.) If the game was 2D then this wouldn't have been a problem, but with 3D you end up with parts poking out of the back of objects. Since the backdrop will be black, I've added geometry resembling black capes and hoods round the backs of any objects that would show through. It's looking really good so far (I was a bit worried this wouldn't work when objects were next to each other - but so far no problems.


As promised at the end of our last dev diary, much of this month I've been working on a new robot character. I've really been in hog heaven with this one - he's just a big dumb robot! Something I really wanted to do for a long time is a heavy lifting robot (yes I'm sad). This robot started life as an idea to have other robots as allies to the player that would help him on his journey. The first idea we had was a heavy robot called 'Big AL', that the player could essentially use like a moving platform to reach higher platforms. In the end we renamed him to SAMS-1 (Samson), because everyone kept calling him 'Big Gay AL' (after the South Park Character) Very Happy.
Currently he weighs in at just over 1500 polygons - which is a bit more than he should have, but I love him so much I don't want to remove anything now! Hey - I'll justify it by saying he's a hero character!

Mr Robot: Samson (Concept Art)
Samson concept art
(At this point we didn't have a name for him,
so I called him 'AL-76' after the Isaac Asimov short story Very Happy)


Mr Robot: Samson (Final Game Model)
Render of final Game model
This actually shows why you should always try and design things
from the viewpoint they'll be seen in the game.
Samson's big grinning mouth isn't that visible in the game right now.
I might try and do something about that before we release though.
Here's some Samson Wallpapers:

800X600
1024X768
1280X960
1280X1024
1600X1200



Choosing a lighting mode

Here's some tests I've been doing of the most basic shader setup for lighting. A simple description of vertex lighting, is that each vertex of a model is assigned a colour based on its distance and angle from any lights. This is then multiplied (modulated) by the object's texture map.

the trouble with this, is the brightest a model can ever get, is the colour of it's texture, and only then on a side directly facing and close to a light. An easy way round this is to use Modulate2X or Modulate 4X in the shader. This means the light can overbright the texture, and helps stop the whole scene being slightly dull. It does mean however, that you have to mess with the lights a little to stop everything looking like a nuke has just gone off. So I wanted to do some tests first to make sure we were using the right shader mode (changing this later would basically mean redoing each room's lighting Crying or Very sad)

In the end I decided Modulate 2X gives enough of a brightness range to work with. Modulate 4X adds a little bit more, but it is much harder to set up more subtle colour variations (It is technically not an issue, but it;s much harder to 'think' in 4X - especially when you have lots of lights playing off each other - for me at least anyway Wink)

Modulate lighting


Modulate 2X lighting

Modulate 4X lighting


Next Month:



probably Wink


Last edited by Fost on Mon Oct 24, 2005 8:25 pm; edited 2 times in total
Back to top
View user's profile Visit poster's website
Sick-Boy



Joined: 17 Jan 2003
Posts: 7
Location: Bath



PostPosted: Wed Mar 30, 2005 6:55 am    Post subject: Reply with quote

I have to say the game is looking really good. I'm looking forward to seeing it in action.

Good luck with the final push!
Back to top
View user's profile
Rup



Joined: 19 May 2003
Posts: 363
Location: London, UK



PostPosted: Wed Mar 30, 2005 7:24 am    Post subject: Reply with quote

Ooh. I figured Samson was a bad guy from the silhouette. The grin plus the way Asimov's turned slightly almost looks like he's holding his baby Smile

Neat way to draw the map - I guess I'd imagined lots of close-packed square rooms like Alien8 or the old Ultima games. But obviously you've got loads more flexibility if you don't stick to that. And everything looks spectacular as always.

MD3s: Heh, Mr Robot vs the Quake grunt! Or Mr Robot with a BFG Smile
One of the problems with MD3 is that the files get large when there's lots of polygons floating around and people were worried about how much memory many different models would eat back in the day. I guess that's not a problem anymore, though. The Q3 models are 700 polygons or so, IIRC, half of Samson.

Business: Ooh, moonpod.com works over https more or less Smile We use instantssl.com for our certs, they seem to be the cheap-but-good end of the market. Let us know if you've found someone better.
Sorry to jump on the business bit but it's my day job, on and off. The system we've built up is horrifically complex so you have my sympathy! What are you using for an exchange rate feed? I think we still haven't found a good source. Does your payment provider give you something useful? I guess you could draw straws and someone could type them in from the paper every morning Smile
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Wed Mar 30, 2005 9:08 am    Post subject: Reply with quote

Rup wrote:
One of the problems with MD3 is that the files get large when there's lots of polygons floating around and people were worried about how much memory many different models would eat back in the day. I guess that's not a problem anymore, though. The Q3 models are 700 polygons or so, IIRC, half of Samson.

I do know of Quake 2 models with over 2000 polys (maybe even more, theink I saw one with 3,500 once), but it's still better to try and reduce it as much as possible. Most of Samson's poly 'weight' is in his hands, so it might be possible to attach them (kind of like how the guns are attached in Quake) as separate objects - that way there would only be one copy the model (as opposed to one for each frame). Poo Bear did some work on Gun Metal (an X-Box title we worked on) that did some interesting compression on vertex animated models, so we might be able to do something similar if it becomes a problem.

Rup wrote:
We use instantssl.com for our certs

We do too, but only for code signing - I've yet to see anyone come any cloer really to their value. We let our payment processors (swreg) do all the secure stuff when the payment occurs though, as I think they are much better qualified for the task.

Rup wrote:
Sorry to jump on the business bit but it's my day job
No problem Very Happy - the dev diaries are here so both our customers can get a glimpse behind the scenes and see what we are up to, and so other developers/businesses can learn from our mistakes Wink So we are happy to answer questions wherever they are coming from.

Rup wrote:
What are you using for an exchange rate feed?

Swreg provide one thankfully - you just call a script on their servers with the currency code and they'll give you the dollar price, so it can all be done as customers view the page. I'm pretty happy with the javascript price update system we've done - as you select products and options, the sub total updates in realtime. Not seen many places that do that, and it's really nice to get that instant feedback.
Back to top
View user's profile Visit poster's website
Rup



Joined: 19 May 2003
Posts: 363
Location: London, UK



PostPosted: Wed Mar 30, 2005 9:38 am    Post subject: Reply with quote

OK, thanks - at first glance I thought you were moving some of the SSL stuff onto your site. Shame about the exchange-rate feed, I was hoping you'd point me at one we could use!

I meant to ask about Ultra Violet - is that a sketch or a 3d model? The hair looks like it'd be hellish to model but I've got a gut feeling that's a render.
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Wed Mar 30, 2005 10:38 am    Post subject: Reply with quote

Rup wrote:
is that a sketch or a 3d model?

That's a 3D model - although I've used an existing hair model I found as a start point (I'll post more on that next month), but it's essentially the age old technique of polygon layers with an alpha texture applied. Mr. Robot is a little annoying (from a worload point of view) in that we'll have characters talk on screen with a larger popup (as with Starscape), but you'll also be able to see them in the main window. So we'll need an ingame model, and a set of expression heads.

I'm tempted right now to hand draw all the character heads...
Back to top
View user's profile Visit poster's website
Weeble
Starscape Jedi
Starscape Jedi


Joined: 25 Apr 2003
Posts: 1143
Location: Glasgow, Scotland



PostPosted: Wed Mar 30, 2005 11:13 am    Post subject: Reply with quote

Ooh! Tell me about the gift ordering system.

Oh, yeah. Game looks good too.
Back to top
View user's profile Visit poster's website MSN Messenger
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Wed Mar 30, 2005 11:25 am    Post subject: Reply with quote

Weeble wrote:
Ooh! Tell me about the gift ordering system.

Haven't quite finalised plans yet - I've just done the part where it collates the relevant data. The back end part that deals with it still all needs to be put in place,

Something along these lines though - you pick which products you want to buy + any options, and there's a 'send as gift' option - if you've selected that, then you are asked for the details of who you want to send the gift to. as the order goes though, we set up a blank game acount.

There's a couple of things we can do here - we could send an email out to the recipient - something along the lines of an e-card perhaps, and in it there will be a link where they can activate their account, download the game, and get a code. One worry here is that they would think it is spam Sad as it's hard not to word this without it sounding a bit like 'you have won a free gift' Smile

Or, we could supply the link to the e-card to you, and then you could forward it on to whoever you are buying the game for.

There's also the question of CD-ROM orders and how they will be handled - I'd really like to be able to have some Mr. Robot gift wrap printed and some gift tags made so a message can be printed in - really need to think about this a lot more.
Back to top
View user's profile Visit poster's website
Weeble
Starscape Jedi
Starscape Jedi


Joined: 25 Apr 2003
Posts: 1143
Location: Glasgow, Scotland



PostPosted: Wed Mar 30, 2005 12:00 pm    Post subject: Reply with quote

If my experience is anything to go by, good gift options sound like a great idea. It is often awkward to buy games online for somebody else, especially somebody who is supposed to be unaware of the process. At the same time, games like this make great presents, because they're often something that the person would enjoy but is reluctant to buy online for whatever reason. If nothing else, it is a good way to get me to buy more copies of the game. Very Happy

EDIT - I forgot why I made this post in the first place - I support any method that allows me to pass on the item in person, even if it's for a downloaded version. Something I can stick inside their card, like maybe a print-out book token with whatever code they need. A personal email from me including the information is a good second choice. If I'm buying a boxed version then it would be good to have the registration details attached or inside the box, rather than me having to email them separately.
Back to top
View user's profile Visit poster's website MSN Messenger
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Wed Mar 30, 2005 4:55 pm    Post subject: Reply with quote

Weeble wrote:
If I'm buying a boxed version then it would be good to have the registration details attached or inside the box, rather than me having to email them separately.


Yes, I think if you are sending the CD-ROM edition, then this is the ideal method - you may not even want an email sending to the person in question in case you spoil the surprise.

My main concern is keeping it all easy to manage at the point we are assembling the CD-ROM contents and so on. I had to spend a few days updating that the other day, so it can cope with multiple-products. Our back end system used to just be able to print out labels straight from the database via a web interface. We needed some way to show what products go into the package, so it now adds a small icon to the label for each game we will have. If it was a gift, it would be nice to mark on there any options needed if we can get them to happen -gift wrap, card etc. It's possible we could even get gift tags made, and print any message that you want sending onto a label, then stick it in (that would be cool!) but we need to make sure it's easy to handle 'on the assembly line' - mainly so we don't mess it all up!

I don't think we will get that many gift orders to be honest, and CD-ROM editions only account for around a quarter of sales, but since we are redoing the site, it's worth being comprehensive and giving people options. I know there's a few downloadable games I'd like to have sent as presents Very Happy
Back to top
View user's profile Visit poster's website
HunterXI



Joined: 26 Dec 2003
Posts: 476
Location: Playing like there is no tomorrow.



PostPosted: Fri Apr 01, 2005 2:23 pm    Post subject: Reply with quote

Rofl!

Starscape
Enjoy this game because it's loads of fun.
It's one of the best 20 games ever made in fact!
Go on! Spoil yourself!!!


Battlescape
This one is a really great strategy game


Mr. Robot
Robot! Robot! Robot!
even the [blank] love this little guy! Find out what all the fuss and all the exclamation marks are about!!
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Sat Apr 02, 2005 11:37 am    Post subject: Reply with quote

Embarassed Err, yeah - your eyesight is much better than mine!

I'm sure it's obvious, but that copy is placeholder Very Happy

You don't want to know what the blank is! let's just say it was a reference to TATU and leave it at that...
Back to top
View user's profile Visit poster's website
BluePhoenix



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



PostPosted: Wed Apr 06, 2005 8:02 pm    Post subject: Reply with quote

quick question: Why javaScript?
Back to top
View user's profile 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