Chad J wrote:
On 01/07/2012 08:47 PM, Manu wrote:
On 8 January 2012 03:40, Nick Sabalausky <a@a.a> wrote:

"Froglegs" <lug...@gmail.com <mailto:lug...@gmail.com>> wrote in message
 news:lwcqnrvamqlnjjlxz...@dfeed.kimsufi.thecybershadow.net...
 >
> can reload scripts while program is executing. Neither D nor C++ work
 > here.
 >

Why not a dll? Those can be compiled/loaded/reloaded at runtime. And
 since
it's just scripts, it wouldn't take long to compile at all, at least
 in D
 (maybe not so much in C++).


It's common for designers to edit scripts, and they don't usually have
coding environments on their machines.

Meh, just link/package a D compiler into/with the game and
recompile/reload a file whenever it changes. It would probably help if DMD ditched its non-redistributable license stuff, but there's also LDC/GDC (LDC is probably the most promising for this kind of thing).

My thoughts exactly. A D compiler/linker should be able to be packaged with an game engine editor rather easily, and if I'm not mistaken LDC has the potential to offer JIT/AOT compiling.




Manu wrote:
I'm generally shovelling large, strictly controlled buffers which need proper placement/alignment, pool allocation, or allocation from temporal ring buffers and that sort of thing. I don't typically find C/C++ intolerable, or even particularly unpleasant for engine level code as it
is, it's the higher level code I'm keen to escape.

As I understand it, most low level game engine code deals with reusable memory pools to reduce memory thrashing with large amounts of dynamically allocated/deallocated objects (correct me if I'm wrong). C/C++ is great for this because in C memory is memory, whereas in C#/Java memory is objects. Which makes general purpose memory pools difficult to manage. I know there are engines like the Delta Engine which, to my knowledge, is written entirely in C# (minus a few minor bits). I'm currently porting over our Reign SDK (code.google.com/p/reign-sdk) which is a modest set of libraries attempting to wrap DirectX, OpenGL, and other 3D media libraries into a universal interface. I've plans on enhancing, d-atizing, and expanding these libraries into a more full featured game engine one day. I've got some interesting ideas on how pre-written code packages could be easily designer-style assembled in-editor and compiled into efficient native logic blocks "on the fly". Only D's fast native compile times and easy-to-grasp syntax would really allow for what I'm thinking.

Given your experience in this area, I would appreciate any insight you could offer about the potential pros/cons for writing low level game engine components in D. Would you say D is a effective tool to write a general purpose memory pool, or would something like that be better written in C? Or.. is it common to have an array of specialized object pools? I'd imagine such an engine would sacrifice flexibility and eat up more memory, but most likely easier to implement.

Reply via email to