Re: Sweng-Gamedev Digest, Vol 54, Issue 1
"Nicholas \"Indy\" Ray" <[email protected]>
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
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 really 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