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
April-05: Ghost Hack!
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: Fri May 20, 2005 9:41 am    Post subject: April-05: Ghost Hack! Reply with quote

Scary Lighting

I've been through and lit most of the existing rooms we have, and they've ended up looking quite 'moody', sometimes even pretty scary. The original idea with Mr. Robot was for it to be really fun looking and colorful, so I redid one of the rooms in an attempt to make it 'toony'. Perhaps it's just our nature, but we all prefered the edgier look. I'm pretty sure it's not the most sensible thing to pursue, because it will more than likely dent the game's broader appeal, but we were all convinced this was the look we should stick with. Anyway, for better or worse, the game's visual mood is closer to Ridley Scott's 'Alien' now than it is to Mario.

New 'Moody' Lighting



Original 'Happy Game' lighting


Ghost Hack

The big Mr. Robot news this month is the addition of Ghost Hacking. Poo Bear came up with the idea, so I'll let him explain how it works. It's going to be a lot of work (in fact, it's pretty much a game in its own right) but it's one of those things that people seem to universally 'get'. Everyone we've mentioned it to has been really enthusiastic about the idea (even people who haven't even shown any interest in indie games before).

Ghost hacking takes place in a virtual computer world, so I needed to come up with some ideas for how it should look. I've been looking at the stuff United Game Artists did on Rez, the Johnny Mnemonic Movie (ok, it was pants, but it had some great looking cyberspace animations), and I've also had an excuse to read my copy of the Ghost In The Shell 2 comic - which features tons of cyberspace shots.

Johnny Mnemonic

REZ

Ghost In The Shell : Man - Machine Interface


Map Screen Components

Initially I've been working on the components for the Ghost Hack Map screen. I may still change the look of them (I've been experimenting with a more monotone feel to the whole thing,
but I'm not sure how easy it will be to reproduce in game, or even if it would be preferable.) Every surface of these models animates to some degree.


I had always thought abstract graphics would be quicker to make, but I've found there's just as much effort involved in their production. Modelling effort is much lower, but the time spent with materials and texturing tricks rises drastically. Most of the scenery in Mr. Robot shares the same material (which is good anyway, as it helps speed up rendering on slower machines) but each of the Ghost Hack objects has a minimum of 4 custom materials, many containing unique texture animation properties and multiple passes. I have a new found respect for game artists working on visually abstract games Very Happy.

Additional HUD work



At the start of the month I finished the big map (above). This can be called up on a button and is pretty much the size of the screen, allowing you to get a clearer picture of what's going on. With the addition of ghost hack there is now much more to do in terms of HUD work, and we are having a rethink how it will all be implemented. The big map may be a good way to do things; if we keep it all within the 'PDA' of the big map, we can run a second HUD on there, and have the whole game running on Asimov's PDA ingame Very Happy . We'll have to see...


Last edited by Fost on Mon Jul 11, 2005 5:51 am; edited 32 times in total
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: Fri May 20, 2005 9:41 am    Post subject: Reply with quote

DirectX8 Vertex Fetching

I'm still working through getting the DX8 renderer up and running, it's taking far longer than I expected Sad. One nasty problem that arose, and required some changes to the common code as well as the DX8 specific code, was that of vertex fetching and vertex programs. DX9 decouples the vertex fetch and vertex program such that, provided your vertex contains all the data that the vertex program makes use of, you can bind any vertex buffer and any vertex program and it all just magically works, which is obviously really nice. DX8 kicks you in the kneecaps by insisting that when you create a vertex program you have to specify the vertex declaration to use with it. That means that a vertex program is only suitable for use with one format of vertex buffer. I made extensive use of DX9s nicely decoupled system when I first wrote the renderer, which has come back to bite me in the butt now that I have to port it all to DX8. What I've ended up doing is essentially writing my own version of the decoupling inside the vertex program management part of code. It's a reasonable design, and I think it'll be ok in use, but we'll need to wait and see just how much it increases the number of active vertex programs at any given time.

Lua Scripting
I took some time this month to look into ways of speeding up future developments and ways of facilitating user mods where possible. I ended up looking into Lua for high level scripting and it seems like a great fit for high level logic and general management. As a proof of concept I hooked it into our UI system, so you can create windows, buttons, etc, set up their parameters, and even write script to handle events. This all worked great, and I can definitely see us making plenty of use of it in future titles (the front end for Mr Robot is pretty much done, so we're going to stick with the old way for that). One of the really nice things about the way it's all hooked in is that the UI can export a Lua script to recreate its state. So, for example, a designer can use an interactive console to create a bunch of UI elements and set them up, then he can ask the UI to export all those objects to a script, which can be loaded later. While it's not quite as nice as a mouse driven UI for placing controls, it's an enormous improvement on the current "Edit in notepad->Save->Load game to check->Quit game->Back to notepad" system that we're using (and used for Starscape). As well as UI stuff, I'm planning on putting Lua hooks into pretty much every bit of the engine eventually. I don't think we'll write entire games in Lua, but it'll be nice to be able to prototype chunks of logic in Lua (again, with the interactive console) and, once they're working right, consider leaving as script or converting to C++ for efficiency's sake.

For more info on Lua go to http://www.lua.org and have a browse around. You could also look elsewhere on the web, there are a whole bunch of sites that carry information about Lua, the language itself and how to hook it into C/C++ apps.


Last edited by Goober on Wed Apr 20, 2005 11:49 am; edited 2 times 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: Fri May 20, 2005 9:43 am    Post subject: Reply with quote

Ghost Hacking

Mr. Robot has evolved into a fairly unique game, but we still thought it needed something else to make it feel like a Moonpod game. Then one day it clicked, the ship is full of robots and controlled by an omniscient computer program via a shipwide network. Robots can upload their minds to the net and then download them into new bodies so why not have Asimov battle it out in cyberspace as well as in physical space. Along his journey through the ship, Asimov will sometimes be able to pick up the 'ghosts' (electronic souls or intelligent programs) from fallen robots. These robot characters you "save" will fight alongside you jacked into the network. In real space you spend your time running from the enemy robots, but in cyber space you get to turn the tables and dish out some damage.

There's going to be a lot of work involved in making this - it's almost a game in its own right that you see via Asimov's Personal Data Assistant, but the exciting thing from a design point of view is how it will intergrate with the main game (people asked about secrets before and this has opened up a lot of exciting opportunities to hide useful ghost hack items around the ship). You could power up your ghosts with items and Energon found in the real world or if Asimov needs a recharge he could jack in and gather Energon online. Certain obstacles in real space might be surmountable in cyberspace as the network connects every electronic item and robot on the entire ship.

I've already started work on the first part of Ghost Hack which is the map screen. When you hack a computer terminal, you'll be able to travel around a virtual component map, so I've been getting that up and running, with selectable transit points and making it all accessible from terminals in the main game.

The Ghost Hack Map screen.


One question that remains is how and when "jacking in" is presented, in days of old we would take the easy route and compartmentalize the ship into areas and place barriers between them that can only be removed via hacking in to a nearby terminal and defeating the system. That then implies a certain difficulty level which would require the player to spend some time in other battles "levelling up" his team. To do that he needs to explore his current area of the ship fully in real space and find as many pickups and energon crystals as possible whilst also hacking any secondary terminals he finds to further gain experience and gather items. The end result is the player gets to see every bit of content we made and doesn't really have a lot of choice in the matter.

Another approach that seems more in vogue these days is to let the player have a much greater say in how the game is played. One way to do that would be to have a game over condition based purely on real space platform action, then another game over condition based purely on your hacking performance. This means building different routes through the ship, perhaps by allowing Asimov to bypass sections by hacking into one bit of the network and then downloading himself out of another bit into a duplicate body. With certain critical enemies either defeated by physical means i.e. maneuvering them into an energy barrier or by hacking into their minds. Ideally you would need to do equally well at hacking and platforming to see a third "complete" ending, encouraging people to see and do everything but not forcing them. Did you save all the human crew but some of the bots were lost or did you save all the bots but some of the human crew died? Can you just jump on the head of any robot that is giving you grief, hack into it and disable it? Obviously the problem here is we are creating content that some people wont see and we also have a much larger and more complicated level structure designed to offer players choices i.e. platform jumping sections, problem solving sections, hacking sections, robot dodging, etc.

I think we'll end up with something inbetween, time is a hard mistress. Wink

Character Collision Response

There's a lot of jumping between platforms in Mr. Robot, so I've spent a lot of time tweaking the response to collision trying to get it just right.
So far Asimov has just been using a basic box system, and so could overhang edges even if the box was just slightly still on the edge.
There's a trade off here, you don't want to overhang edges, have it possible for the model to be pushed through walls, crates etc, and don't want to fall through gaps in the floor and get stuck.


The best way to do this is to have humanoid characters, that are taller than they are thin, and don't have bellies wider than their feet.
Mario 64 (which turned out to be the best title we researched for character collision response) works like this - mario's collision with the floor is based on a single point in the middle of his feet.
A lot of little fixes are then in place to stop mario appearing to do weird things like put his body through geometry: Mario goes flat against walls, can't walk off edges (and therefore fall straight down though geometry), and he is given a tiny kick off the edge when he runs off it, so that he never passes though a wall.

Considering it was one of the first 3D platform games ever made, Mario does an impressive job with player collision response.


Mario - no problems with falling off if you walk.

Mario pressed up against a wall.


Mr. Robot can't use some of these tricks for purely gameplay reasons (you have to be able to walk off edges in Mr. Robot), and I've spent ages trying out different tricks and ideas to get the most natural feel for Asimov. Things like using different collision volumes for his feet, or using a thin collision volume and pushing the player out of geometry when there's a problem and so on.

After I had tried just about every combination of ideas and tricks we knew of, and still not being 100% satisfied, I decided to go back to the drawing board. I first put in place more data reporting of Asimov's current status, so now I could tweak the points at which the responses kicked in. If asimov hangs over an edge by a certain amount, I could make him topple off. Too late and it looks like he can walk on air, too early and everything feels very slippery. Now though, I could tweak it more easily, and soon found the sweet spot.

If you really try to mess things up, then there is a chance you'll see occasional odd things happen, but it's now hopefully more than acceptable. It's certainly comparable to collision responses seen in other games (even Mario can walk through geometry if you put your mind to it) and most importantly, the game won't ever break. There's a danger as developers that you'll just get used to things, but it seemed ok to us (Fost play tests things like this to death!).

My final thought in collision response is a tip for any other developer wanting to make a game with similar character issues: make your lead character as thin as possible; short, squat looking heroes with bodies much wider than their feet are probably the hardest thing to make work Very Happy


Camera

Another problem that took far longer than I imagined was finalizing the camera. Due to the down-angled perspective view that Mr. Robot uses, we ended up having a lot of black on screen with the basic camera. I wanted to minimise that, both because it gets more art on screen and it gives the player the most clear picture of the room he/she is dealing with.
You would think working out the best way to fit as much of the room on screen as possible would be straightforward, but it turned into one of the project's toughest challenges. Lots of tiny issues conspired together to make one big pain. Things like the room sometimes being much bigger than is actually visible (to accommodate hidden objects that are masked off) or the need to keep a decent amount of visible space round Asimov so enemies don't jump in from the edges of the screen and catch the player off guard.


Next Month: Fight Club

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: Fri May 20, 2005 11:58 am    Post subject: Reply with quote

I don't mind the lighting in the "happy game" screenshot, but I do think the textures are too detailed for it. In general, I think gloomy lighting works best when used in contrast to better lighting. So you'd arrive in a different area of the ship having been somewhere well lit, and even though you don't see anything else actually wrong, you immediately get that "something's not right here" feeling from the lighting.

Ghost hacking sounds good. If you've not played it, go find yourselves Decker. It partly inspired "Iron Ghost", a game I designed for my course, but haven't gotten around to constructing. I have the game design document somewhere around here, but I think I lost my electronic copy in a hard-drive failure. It was pretty much about giant robots fighting and hacking each other, in a sort of Laser-Squad-style.

Weeble.
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: Fri May 20, 2005 12:06 pm    Post subject: Reply with quote

Weeble wrote:
I don't mind the lighting in the "happy game" screenshot, but I do think the textures are too detailed for it.
There's no mip mapping in the game at the moment - which is why everything looks a bit like it's been put through a sharpen filter several hundred times Very Happy Looks ok when mip maps are on.
Weeble wrote:
I think gloomy lighting works best when used in contrast to better lighting.

The whole ship has had something go wrong with it, so most of the rooms you go in will have some amount of apprehension about them. I think that's why we preferred it - we must have dark minds! Doesn't preclude having brighter rooms though - I'll probably do several passes on setting up lighting. First I'll just light all the rooms as I think they will look best, then I'll try and get some themes running through areas, and lastly I'll just go in and tweak individual rooms if there's anything I can do to gain some dramatic effect as you explore the ship.
Back to top
View user's profile Visit poster's website
Taihen



Joined: 20 May 2005
Posts: 2



PostPosted: Fri May 20, 2005 6:42 pm    Post subject: Reply with quote

I know you like the moody, dark lighting. However, both my wife and I wish that you would stick with the 'happy' lighting. In fact, this issue is what finally pushed me over the edge to register and post on your forums. There are enough gloomy, dark games - so break the mold.

The former cheerful look is one of the things we most liked about Mr. Robot from the moment you started talking about it. Perhaps the user could turn the mood lighting on/off in their play preferences? As indie game developers, you have to wonder why StarScape succeeded when so many others never see the light of day. In our opinion, it was the goofy storyline and the cute characters.

On the other hand... I suppose a husband-wife pair that play together doesn't fit the norm. Our favorite games are Princess Maker, Harvest Moon, etc... Although Starscape fit right in because of its bright art-style and anime caricatures. And the gameplay certainly gives a great change of pace.
Back to top
View user's profile
starscape junkie



Joined: 15 Jun 2003
Posts: 177
Location: The Thirteenth Colony



PostPosted: Fri May 20, 2005 7:32 pm    Post subject: Reply with quote

As long as you dont overuse either type, the lighting should be fine.

You would expect that certain parts of the ship would be bright and cheery(not yet affected and therefore properly lit) and others would be with moody lighting, flickering lights ( where theres lots of damage, robots roaming around, wiring pulled from the walls, ect)

The ghost hacking looks awesome Very Happy Fight club appears to be checkers Razz RPG checkers judging by the mini menu screen there (ah snes flashbacks)
Back to top
View user's profile
Lothar
Starscape Jedi
Starscape Jedi


Joined: 21 Dec 2003
Posts: 522



PostPosted: Fri May 20, 2005 8:02 pm    Post subject: Reply with quote

Taihen wrote:
I suppose a husband-wife pair that play together doesn't fit the norm.


Around here, it's not too uncommon...
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Sat May 21, 2005 7:38 am    Post subject: Reply with quote

Taihen wrote:
On the other hand... I suppose a husband-wife pair that play together doesn't fit the norm. Our favorite games are Princess Maker, Harvest Moon, etc...

You're a much bigger demographic than you might think. Very Happy
The original lighting was there because we were trying to make a pretty 'cheerful' game, but when I lit some of the rooms in a dramatic way, we all liked it much, much more. We are fully aware that the 3 of us generally prefer much darker games, films, books and even music. As I mentioned, we suspect the decision to make the game look a little edgier might hurt it's broader appeal. If I get a sec, I'll post up some more of the finished rooms - the corridor above is probably the most extreme example of the changes, so I'm interested in what people think.

I should point out that, Mr. Robot is still a 'friendly' game, and that I really think people will love the robot characters in it (It's pretty weird for me to say it, since I designed them, and Poo Bear came up with their characters, but they are easily my favourite game characters Smile ). The game hasn't turned into a space ship based survival horror game overnight!
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: Sat May 21, 2005 9:54 am    Post subject: Reply with quote

Taihen wrote:
Our favorite games are Princess Maker, Harvest Moon, etc... Although Starscape fit right in because of its bright art-style and anime caricatures. And the gameplay certainly gives a great change of pace.


Harvest Moon is cool, have you tried Animal Crossing? Not really the same thing but it has a similar vibe and I think it's very very good.

http://cube.gamespy.com/gamecube/animal-crossing/543720p1.html
Back to top
View user's profile Visit poster's website
Taihen



Joined: 20 May 2005
Posts: 2



PostPosted: Mon May 23, 2005 6:51 pm    Post subject: Reply with quote

Animal Crossing has had our interest for a long time. Definitely our type of game! However, it's difficult for us to justify the price of a whole new console just for one game.
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Tue May 24, 2005 9:19 am    Post subject: Reply with quote

starscape junkie wrote:
The ghost hacking looks awesome Very Happy Fight club appears to be checkers Razz RPG checkers judging by the mini menu screen there (ah snes flashbacks)

Yeah - Work in progress art that!
Back to top
View user's profile Visit poster's website
Doom III



Joined: 20 Apr 2004
Posts: 117



PostPosted: Thu May 26, 2005 2:56 pm    Post subject: Reply with quote

wahhh! i turn my back and you write four diary entries Very Happy Very Happy

i disagree with everybody above (my vote should count twice cos i bought two copies of starscape - one for me and one as a gift Wink ), i theink the scary lighting rocks!! normal lighting is ok but there is more sutlety in the scary lighting. I dont see why you cant make a game that is fun and appealing but let it be a little scary looking. I think cartoons are best when they have something sinister about them. snow white is still disneys best film (my opinion), bcause it has the scariest baddy! all the rabbits and birds and tortous (he is the best!) are still cute and maybe more because the danger is greater.

ps: thanks for writing these diaries they are the best game developer read on the net. does anyone read the diaries they right on gamespy? they are not so good compared to moonpod ones, maybe gamespy should carry yours too Very Happy
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Fri May 27, 2005 5:44 am    Post subject: Reply with quote

Doom III wrote:
i disagree with everybody above

Proving once again that you can't make everyone happy Sad

Doom III wrote:
(my vote should count twice cos i bought two copies of starscape - one for me and one as a gift Wink

...and the customer is always right Wink

I like your comments about Snow White (I agree - best thing Disney ever made), made me think that it's the characters that should set the tone of the game; if they are something you fall in love with, then the setting they are in should make no difference (in fact for me, the contrast would probably heighten my sense of protectiveness over the characters.) I generally like Grimm style storytelling (has anyone seen 'The Storyteller' with John Hurt?). Another indie game - 'Wik and the Fable of souls' has an especially 'Grimm Fairytale' look about it. Great game, but the only thing that put me off an otherwise visually stunning game, was that the character was grim too - completely unappealing to me and I've only just realised why Rolling Eyes Who wants to play Gollum?

Doom III wrote:
maybe gamespy should carry yours too Very Happy

thanks! They'd be welcome to if they wanted it, although I doubt they'd be interested as their focus is on the mainstream.
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: Mon May 30, 2005 11:07 pm    Post subject: Reply with quote

Wow, that's gotta be the biggest GitS tie-in I've ever seen Very Happy

Ironic, though, that the phrase "Ghost" in GitS was designed to illuminate the fundimental differences between Humanity and Nonhumanity, in a world where we can go out and get fully cybernetic bodies Wink
Back to top
View user's profile
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