Re: Sweng-Gamedev Digest, Vol 54, Issue 1
Don Williamson <[email protected]>
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
I actually serialised to RAM and let the OS worry about it. Crazily, that included all textures, vertex buffers, etc. and their (somewhat light) intermediate post-load conversion steps. ________________________________ From: "Nicholas "Indy" Ray" <[email protected]> To: Don Williamson <[email protected]> Cc: [email protected] Sent: Thu, May 13, 2010 5:59:39 PM Subject: Re: [Sweng-Gamedev] Sweng-Gamedev Digest, Vol 54, Issue 1 So from what I can gather: On source update, you build, serialize the game state, reload the entire engine, and then de-serialize the entire game state again? You were able to do this whole process in a matter of seconds? Indy On Thu, May 13, 2010 at 12:56 AM, Don Williamson <[email protected]> wrote: > It's not clear what you mean by " completely isolated from the Unreal >codebase" since you also mention that this uses Unreal. >> Other then that, > this sounds very exciting. How did you allow hotloading of c++ code? >esp in regards to updating structures/classes. > >It's isolated in the sense that the dependency is one way: Unreal calls into the engine whereas the engine never calls back. I documented a method on-list a while back so you should easily be able to find it in the archives. You can achieve it all with a very simple library, such as: > > http://bitbucket.org/dwilliamson/reflectabit/ > >I've been working on a PDB version of the above on and off for the last couple of years - it really transforms the C++ language (e.g. you get a constant-time typeof operator and custom attributes). But it's not sufficiently developed to be releasable yet (and it's crunch time at the moment). But anyway, Microsoft and Sony really need to pull their finger out, step around this C++0NaN nonsense and help us out with some compiler/linker mods. > > > > > > ________________________________ From: "Nicholas "Indy" Ray" <[email protected]> >To: [email protected]; Don Williamson <[email protected]> >Sent: Thu, May 13, 2010 5:14:17 AM > >Subject: Re: [Sweng-Gamedev] Sweng-Gamedev Digest, Vol 54, Issue 1 > > >>On Wed, May 12, 2010 at 10:17 AM, Don Williamson <[email protected]> wrote: > >>> >>I did the first one for the Conviction engine, within Unreal and in C++. We built the engine from scratch and hence had very fast compile times (completely isolated from the Unreal codebase, custom windows header, DLL with minimum dependencies, etc). At one point you could load a level within UnrealEd while iterating on some C++ code, hit build and link - this would complete within 2-3 seconds - and then see your changes reloaded within another couple of seconds. If you wanted you could sit editing code for hours (changing data structures, adding/removing functions, etc) without bringing the game/editor down, maintaining the ability to step-debug it. It was stupidly powerful but not fully developed... though certainly proved that "hot-loading" C++ code changes is more than possible and r eally >> should be >> the standard these days. > > >It's not clear what you mean by " completely isolated from the Unreal codebase" since you also mention that this uses Unreal. Other then that, this sounds very exciting. How did you allow hotloading of c++ code? esp in regards to updating structures/classes. > > >Indy > _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com