dynamic runtime responsiveness (was: Sweng-Gamedev Digest, Vol 54, Issue 1)
Brandon Van Every <[email protected]>
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
On Mon, May 3, 2010 at 9:45 AM, Jon Frisby <[email protected]> wrote: > > On May 3, 2010, at 8:29 AM, David Black wrote: > >>>>> >> 1) Unity3D builds serialization/deserialization of scene objects >> in at a very deep level and can in many circumstances reload your >> game code (which is all C#/UnityScript/Boo-based) on the fly by >> recompiling when a file has changed, serializing the running >> scene to a temp file, loading the new code, and then >> deserializing the scene. Generally this happens quite quickly >> and causes only a minor hiccup, although the automatic >> compilation process can get pretty slow if you have a lot of game >> code -- one game of mine takes a good 10-15 seconds to recompile, >> and several seconds to reload during a running game. >> <<< >> >> Just how much game code are you talking about? I find I can recompile >> 200k lines of C# (with the MS compiler...) in less than 5 seconds. > > About 15,000 lines of code, but this is being compiled with a customized > Mono build, while the game is running (and generally chewing up more than a > full core), on a Mac laptop with a fairly slow disk (5400 RPM). The performance of a dynamic modification language under a full system load is an interesting consideration. I have wondered to what degree various apps and even the OS are just very badly threaded? For instance, I think the GUI responsiveness of my Vista laptop is garbage, even though it's running on a Core 2 Duo processor. I have contemplated writing a 3D engine that prioritizes user responsiveness as the primary consideration, to the exclusion of other architectural factors. When I've played games that run at 8..10 FPS, I've often found them usable as long as I can actually get a mouseclick in. It's when the game is ignoring my input that it completely falls apart. My brain can interpolate visual interruptions fairly easily, but slow mouseclicks are pretty much the definition of pain. True of programming environments as well. A big pig like Visual Studio or Eclipse is not a pleasure to work with, and I can't imagine that it's due to any paucity of resources. Cheers, Brandon Van Every _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com