Re: Question about development of prototyping tools.
"Morten Brodersen" <[email protected]> Fri, 22 Apr 2011 03:52:06 +1000
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <9271C09E2B0645EF97ABB75886DC1CCC@QUAD> |
Unless you are working on a stealth game where shadows are important, it doesn't matter if the lighting is not 100% correct when editing the gameplay of a level. Morten -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Oladotun Rominiyi Sent: Thursday, 21 April 2011 10:06 PM To: [email protected] Subject: Re: [Sweng-Gamedev] Question about development of prototyping tools. But then you still run into the problem of having to deal with the baking factor if, for example, you're moving objects around scenes, all your static ambient occlusion, shadows and radiosity will need to be re-baked. _____ From: [email protected] [mailto:[email protected]] On Behalf Of Morten Brodersen Sent: 21 April 2011 13:01 To: [email protected] Subject: Re: [Sweng-Gamedev] Question about development of prototyping tools. Console development hasn't fundamentally changed during the last 15+ years. Game runtime data then had to be as cooked and compressed as today. The details and data sizes are different but the issues remain the same. Don't confuse gameplay editing with resource (model/texture) editing. There are excellent external industry standard tools for resource editing (3D Studio Max etc.) and it usually makes no sense to try and recreat that within the game. However the gameplay editing (placing of objects, characters, pathways, scripts, triggers, real-time lights, pickups, spawnpoints etc.) can with great benefit be edited in-game using a normal game controller. Morten -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Javier Arevalo Sent: Thursday, 21 April 2011 4:57 PM To: [email protected] Subject: Re: [Sweng-Gamedev] Question about development of prototyping tools. On 4/21/2011 7:16 AM, Morten Brodersen wrote: And here is the dirty secret: In my experience it is a lot easier and faster to build the tools into the game. You already have the scene being rendered etc. All you need is to switch the game to "Edit Mode" and your tool(s) can take over, making the artist/designer make changes right there in the game, save and continue. Even back in the old days when I was working on Banjo Kazooie for the N64 we could stop the game at any point, move spawnpoints around, add/remove objects etc., save and the restart the level with the player character starting right next to what you edited. In other words, the cycle time was a few secs. And that was using the (by todays standard) very limited N64 hardware. So no excuse today when we have access to hardware that is literally 100+ times more powerful :-) The key thing to keep in mind (from an architectural point of view) is to put a clear wall between "level definition" data and "level running" data. That allows you to edit the "level definition" data without touching the "level running" data => you can continue playing the game after you edit it. There are a few issues with this in the console world. Modern consoles may be 100x more powerful than a N64, but modern game technologies and content (for good or bad) are also 100x bigger: - Game runtime data (even the definitions) is normally in a 'cooked' state, processed, compressed, etc. For example, your source level definition data may be some XML file, but your pipeline turns it into a binary memory image blob; scripts will usually be read by the runtime in bytecode compiled form; string identifiers will be compiled into binary hashes, etc. If your game is anywhere close to pushing the platform, you may not have memory (almost guaranteed on a certain platform's dev kit) to keep the source data and all the extra code that handles the source format. - Even if you can plug mouse and keyboard to modern consoles, the kind of interfaces that you can build on a console may be too limited compared to working on a real windowing GUI with multiple monitors, all sorts of handy widgets, on-line help, etc. These are the kind of reasons why many studios keep a PC version of their game running even if the game will not be released on PC. It's much easier to augment a PC version with the kind of tools Morten described (and not just production tools - debugging helpers as well!), and the effort of maintaining this PC version of the code may be worth because the tools will be orders of magnitude better. The other alternative is, of course, building your tools on the PC and having a communications system where the tools can send hot-reloading requests to the game running on the console. But in this way, you have to code every feature that can be reloaded separately, and my experience is that many features will not support hot reloading until you realize you absolutely need it, and this support will be crude in many cases. -- Javier Arevalo http://www.iguanademos.com/Jare _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com