www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Nonagon, a DirectX9-based engine written in D (download link)

reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
Well here it is!  The fruit of almost two and a half years of labor, most of 
which wasn't spent working on this.  So it's more like maybe three months of 
labor.

In any case, this is why I was trying so hard to get DirectX (or rather, 
D3DX) to work correctly in D.

This is a small engine that was started in C++ with DirectX 8 as a very 
small, crappy learning project, and has progressed to this, and I'm pretty 
proud of it.  There are still some features which have yet to make the 
transision from C++ to D, but for the moment, here is a small list of 
features:

- Very simple to use - nowhere near as complex as some engines (like 
Irrlicht.. bleagh)
- Uses DirectX9.. I know some people think this is a downside, but honestly, 
move onwards and upwards and download the 20MB update if you haven't 
already.  This allows for some very nice features, such as HLSL shaders 
(implemented in the C++ nonagon, but not ported yet), and it's so much nicer 
to program in the DX9 SDK than DX8 (and I wouldn't even touch DX7).
- Able to load meshes in the .X format (supported by many modeling programs 
now), with materials and textures
- Fairly fine control over the visual properties of objects through brushes
- Able to load textures in a variety of formats.. 2D and cubic environment 
maps are supported (cube maps need a little work though)
- Simple-to-use text drawing commands
- Fairly complete input functionality, including keyboard, mouse, and 
joysticks
- Extensible rendering engine
- Very useful scene hierarchy system - parent one object to another and have 
it move and turn with the parent
- Mesh, camera, and hardware light scene node types implemented
- Fairly complete and comprehensive docs (all in a pretty CHM bundle)

Here are some features that I have programmed in C++, but haven't yet ported 
over:

- Entire 2D-in-3D sprite library for 2D games - lots of features
- Support for HLSL shader effect files - very cool
- Rudimentary audio support
- Support for rendering to textures

Features which I have yet to program:

- Mesh animation.  I think it'll be big but it's probably one of those 
things you end up being able to program in an hour
- The rest of the audio support
- Fix the problem with global position/rotation which currently makes 
cameras and lights not work correctly when the child of another node
- Dynamic creation/modification of meshes
- Portaling system?  (quadtree/octree, BSP, proprietary?)


Please download it and try it out!  Be sure to read the readme.txt in the 
archive, as it has instructions for unpacking the files to the correct 
locations.  The prog folder in the archive contains a simple sample program 
which shows the general structure of a nonagon-using program.  And be sure 
to read the docs - they will help you.

You must have DirectX9 installed on your computer to use this.  If you don't 
know what version you have, go to Start>Run, and type 'dxdiag' in the run 
box.  In the window that comes up, look near the bottom where it says 
"DirectX version."  If it's not 9 point something, you have to upgrade.  You 
can do that at www.microsoft.com/directx.

This also obviously won't work on anything but Windows (unless some 
adventurous nerd wishes to try to with a windows emulator or something).

Here is the download link.  It's only 2.6MB.

http://www.mtwirefree.net/kbilling/nonagon.zip

Please try this and let me know if there are any problems, questions, 
comments etc.

Thanks! 
Mar 28 2005
next sibling parent reply clayasaurus <clayasaurus gmail.com> writes:
Is there an exe to run?

Jarrett Billingsley wrote:
 Well here it is!  The fruit of almost two and a half years of labor, most of 
 which wasn't spent working on this.  So it's more like maybe three months of 
 labor.
 
 In any case, this is why I was trying so hard to get DirectX (or rather, 
 D3DX) to work correctly in D.
 
 This is a small engine that was started in C++ with DirectX 8 as a very 
 small, crappy learning project, and has progressed to this, and I'm pretty 
 proud of it.  There are still some features which have yet to make the 
 transision from C++ to D, but for the moment, here is a small list of 
 features:
 
 - Very simple to use - nowhere near as complex as some engines (like 
 Irrlicht.. bleagh)
 - Uses DirectX9.. I know some people think this is a downside, but honestly, 
 move onwards and upwards and download the 20MB update if you haven't 
 already.  This allows for some very nice features, such as HLSL shaders 
 (implemented in the C++ nonagon, but not ported yet), and it's so much nicer 
 to program in the DX9 SDK than DX8 (and I wouldn't even touch DX7).
 - Able to load meshes in the .X format (supported by many modeling programs 
 now), with materials and textures
 - Fairly fine control over the visual properties of objects through brushes
 - Able to load textures in a variety of formats.. 2D and cubic environment 
 maps are supported (cube maps need a little work though)
 - Simple-to-use text drawing commands
 - Fairly complete input functionality, including keyboard, mouse, and 
 joysticks
 - Extensible rendering engine
 - Very useful scene hierarchy system - parent one object to another and have 
 it move and turn with the parent
 - Mesh, camera, and hardware light scene node types implemented
 - Fairly complete and comprehensive docs (all in a pretty CHM bundle)
 
 Here are some features that I have programmed in C++, but haven't yet ported 
 over:
 
 - Entire 2D-in-3D sprite library for 2D games - lots of features
 - Support for HLSL shader effect files - very cool
 - Rudimentary audio support
 - Support for rendering to textures
 
 Features which I have yet to program:
 
 - Mesh animation.  I think it'll be big but it's probably one of those 
 things you end up being able to program in an hour
 - The rest of the audio support
 - Fix the problem with global position/rotation which currently makes 
 cameras and lights not work correctly when the child of another node
 - Dynamic creation/modification of meshes
 - Portaling system?  (quadtree/octree, BSP, proprietary?)
 
 
 Please download it and try it out!  Be sure to read the readme.txt in the 
 archive, as it has instructions for unpacking the files to the correct 
 locations.  The prog folder in the archive contains a simple sample program 
 which shows the general structure of a nonagon-using program.  And be sure 
 to read the docs - they will help you.
 
 You must have DirectX9 installed on your computer to use this.  If you don't 
 know what version you have, go to Start>Run, and type 'dxdiag' in the run 
 box.  In the window that comes up, look near the bottom where it says 
 "DirectX version."  If it's not 9 point something, you have to upgrade.  You 
 can do that at www.microsoft.com/directx.
 
 This also obviously won't work on anything but Windows (unless some 
 adventurous nerd wishes to try to with a windows emulator or something).
 
 Here is the download link.  It's only 2.6MB.
 
 http://www.mtwirefree.net/kbilling/nonagon.zip
 
 Please try this and let me know if there are any problems, questions, 
 comments etc.
 
 Thanks! 
 
 

Mar 28 2005
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"clayasaurus" <clayasaurus gmail.com> wrote in message 
news:d2ag0o$df8$1 digitaldaemon.com...
 Is there an exe to run?

No, but there is source that compiles. I suppose if you'd like, I could change the archive to include the compiled EXE. In fact, it's done. Redownload the archive, and you'll find the compiled EXE in the prog folder. :)
Mar 28 2005
prev sibling next sibling parent reply Derek Parnell <derek psych.ward> writes:
On Mon, 28 Mar 2005 21:17:15 -0500, Jarrett Billingsley wrote:

 Well here it is!  The fruit of almost two and a half years of labor, most of 
 which wasn't spent working on this.  So it's more like maybe three months of 
 labor.
 
 In any case, this is why I was trying so hard to get DirectX (or rather, 
 D3DX) to work correctly in D.
 
 This is a small engine that was started in C++ with DirectX 8 as a very 
 small, crappy learning project, and has progressed to this, and I'm pretty 
 proud of it.  There are still some features which have yet to make the 
 transision from C++ to D, but for the moment, here is a small list of 
 features:
 
 - Very simple to use - nowhere near as complex as some engines (like 
 Irrlicht.. bleagh)
 - Uses DirectX9.. I know some people think this is a downside, but honestly, 
 move onwards and upwards and download the 20MB update if you haven't 
 already.  This allows for some very nice features, such as HLSL shaders 
 (implemented in the C++ nonagon, but not ported yet), and it's so much nicer 
 to program in the DX9 SDK than DX8 (and I wouldn't even touch DX7).
 - Able to load meshes in the .X format (supported by many modeling programs 
 now), with materials and textures
 - Fairly fine control over the visual properties of objects through brushes
 - Able to load textures in a variety of formats.. 2D and cubic environment 
 maps are supported (cube maps need a little work though)
 - Simple-to-use text drawing commands
 - Fairly complete input functionality, including keyboard, mouse, and 
 joysticks
 - Extensible rendering engine
 - Very useful scene hierarchy system - parent one object to another and have 
 it move and turn with the parent
 - Mesh, camera, and hardware light scene node types implemented
 - Fairly complete and comprehensive docs (all in a pretty CHM bundle)
 
 Here are some features that I have programmed in C++, but haven't yet ported 
 over:
 
 - Entire 2D-in-3D sprite library for 2D games - lots of features
 - Support for HLSL shader effect files - very cool
 - Rudimentary audio support
 - Support for rendering to textures
 
 Features which I have yet to program:
 
 - Mesh animation.  I think it'll be big but it's probably one of those 
 things you end up being able to program in an hour
 - The rest of the audio support
 - Fix the problem with global position/rotation which currently makes 
 cameras and lights not work correctly when the child of another node
 - Dynamic creation/modification of meshes
 - Portaling system?  (quadtree/octree, BSP, proprietary?)
 
 Please download it and try it out!  Be sure to read the readme.txt in the 
 archive, as it has instructions for unpacking the files to the correct 
 locations.  The prog folder in the archive contains a simple sample program 
 which shows the general structure of a nonagon-using program.  And be sure 
 to read the docs - they will help you.
 
 You must have DirectX9 installed on your computer to use this.  If you don't 
 know what version you have, go to Start>Run, and type 'dxdiag' in the run 
 box.  In the window that comes up, look near the bottom where it says 
 "DirectX version."  If it's not 9 point something, you have to upgrade.  You 
 can do that at www.microsoft.com/directx.
 
 This also obviously won't work on anything but Windows (unless some 
 adventurous nerd wishes to try to with a windows emulator or something).
 
 Here is the download link.  It's only 2.6MB.
 
 http://www.mtwirefree.net/kbilling/nonagon.zip
 
 Please try this and let me know if there are any problems, questions, 
 comments etc.

I downloaded the ZIP file and copied the contents of the downloaded 'lib' fodler to the dmd\lib folder, and copied the contents of the downloaded 'phobos' folder to the dmd\phobos folder. Then I used the 'compile.bat' file to compile the 'main' example and got these errors from the linker ... d3d9.lib Warning 2: File Not Found d3d9.lib d3dx9.lib Warning 2: File Not Found d3dx9.lib dxerr9.lib Warning 2: File Not Found dxerr9.lib dinput8.lib Warning 2: File Not Found dinput8.lib c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput) Error 42: Symbol Undefined _c_dfDIJoystick c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput) Error 42: Symbol Undefined _c_dfDIMouse2 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput) Error 42: Symbol Undefined _c_dfDIKeyboard --- errorlevel 3 And just to help me test the Build utility some more, I created a source file called nonagon_build.d ... module nonagon_build; import nonagon; version(build) { pragma(link, "win32a.lib", "nonagon.lib"); pragma(build_def, "IMPORTS"); pragma(build_def, "_D3DXMatrixRotationYawPitchRoll 16=d3dx9.D3DXMatrixRotationYawPitchRoll"); pragma(build_def, "_D3DXVec4Transform 12=d3dx9.D3DXVec4Transform"); pragma(build_def, "_D3DXCreateSprite 8=d3dx9.D3DXCreateSprite"); pragma(build_def, "_D3DXCreateFontA 48=d3dx9.D3DXCreateFontA"); pragma(build_def, "_Direct3DCreate9 4=d3d9.Direct3DCreate9"); pragma(build_def, "_DirectInput8Create 20=dinput8.DirectInput8Create"); pragma(build_def, "_DXGetErrorDescription9A 4=dxerr9.DXGetErrorDescription9A"); pragma(build_def, "_D3DXMatrixRotationZ 8=d3dx9.D3DXMatrixRotationZ"); pragma(build_def, "_D3DXMatrixScaling 16=d3dx9.D3DXMatrixScaling"); pragma(build_def, "_D3DXMatrixMultiply 12=d3dx9.D3DXMatrixMultiply"); pragma(build_def, "_D3DXCreateBox 24=d3dx9.D3DXCreateBox"); pragma(build_def, "_D3DXCreateSphere 24=d3dx9.D3DXCreateSphere"); pragma(build_def, "_D3DXCreateCylinder 32=d3dx9.D3DXCreateCylinder"); pragma(build_def, "_D3DXSimplifyMesh 28=d3dx9.D3DXSimplifyMesh"); pragma(build_def, "_D3DXCreateTorus 28=d3dx9.D3DXCreateTorus"); pragma(build_def, "_D3DXCreatePolygon 20=d3dx9.D3DXCreatePolygon"); pragma(build_def, "_D3DXCreateTeapot 12=d3dx9.D3DXCreateTeapot"); pragma(build_def, "_D3DXMatrixTranslation 16=d3dx9.D3DXMatrixTranslation"); pragma(build_def, "_D3DXVec3Transform 12=d3dx9.D3DXVec3Transform"); pragma(build_def, "_D3DXLoadMeshFromXA 32=d3dx9.D3DXLoadMeshFromXA"); pragma(build_def, "_D3DXMatrixInverse 12=d3dx9.D3DXMatrixInverse"); pragma(build_def, "_D3DXMatrixPerspectiveFovLH 20=d3dx9.D3DXMatrixPerspectiveFovLH"); pragma(build_def, "_D3DXCreateTexture 32=d3dx9.D3DXCreateTexture"); pragma(build_def, "_D3DXCreateCubeTexture 28=d3dx9.D3DXCreateCubeTexture"); pragma(build_def, "_D3DXCreateTextureFromFileExA 56=d3dx9.D3DXCreateTextureFromFileExA"); pragma(build_def, "_D3DXCreateCubeTextureFromFileExA 52=d3dx9.D3DXCreateCubeTextureFromFileExA"); } Then changed your main.d by replacing "import nonagon;" with "import nonagon_build;". I then ran ... build main and it compiled just fine. However I still got the same linker messages as above. -- Derek Melbourne, Australia 29/03/2005 2:14:07 PM
Mar 28 2005
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Derek Parnell" <derek psych.ward> wrote in message 
news:47d6x69j2js1$.1vlrydhctw52$.dlg 40tude.net...
 d3d9.lib
 Warning 2: File Not Found d3d9.lib
 d3dx9.lib
 Warning 2: File Not Found d3dx9.lib
 dxerr9.lib
 Warning 2: File Not Found dxerr9.lib
 dinput8.lib
 Warning 2: File Not Found dinput8.lib
 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput)
 Error 42: Symbol Undefined _c_dfDIJoystick
 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput)
 Error 42: Symbol Undefined _c_dfDIMouse2
 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput)
 Error 42: Symbol Undefined _c_dfDIKeyboard
 --- errorlevel 3

Oh crap, apparently it does depend on those libs. I thought I removed them from my lib folder to test whether or not it needed them, and it seemed to compile fine, but.. Attached is a zip containing those 4 libs. I'll have to put them all into the main archive but I don't have time right now.
Mar 29 2005
parent Derek Parnell <derek psych.ward> writes:
On Tue, 29 Mar 2005 07:30:12 -0500, Jarrett Billingsley wrote:

 "Derek Parnell" <derek psych.ward> wrote in message 
 news:47d6x69j2js1$.1vlrydhctw52$.dlg 40tude.net...
 d3d9.lib
 Warning 2: File Not Found d3d9.lib
 d3dx9.lib
 Warning 2: File Not Found d3dx9.lib
 dxerr9.lib
 Warning 2: File Not Found dxerr9.lib
 dinput8.lib
 Warning 2: File Not Found dinput8.lib
 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput)
 Error 42: Symbol Undefined _c_dfDIJoystick
 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput)
 Error 42: Symbol Undefined _c_dfDIMouse2
 c:\dparnell\dmd\bin\..\lib\nonagon.lib(nginput)
 Error 42: Symbol Undefined _c_dfDIKeyboard
 --- errorlevel 3

Oh crap, apparently it does depend on those libs. I thought I removed them from my lib folder to test whether or not it needed them, and it seemed to compile fine, but.. Attached is a zip containing those 4 libs. I'll have to put them all into the main archive but I don't have time right now.

Thanks. It compiles and links nicely now. I just run "build main" and it works! But, it crashes when run :-( Messages: NG3D.InitD3D() - Could not create device! Invalid call NGInput.unInit() - NGInput not initialized! Environment: Windows XP SP2 DirectX 9.0c -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage 30/03/2005 9:31:22 AM
Mar 29 2005
prev sibling next sibling parent reply "Joey Peters" <squirrel nidhogg.com> writes:
 - Very simple to use - nowhere near as complex as some engines (like 
 Irrlicht.. bleagh)

What? Irrlicht is great and easy to use. I don't find your engine a lot better API wise (judging from what's there). Anyway, I tried your engine and it's a good start for an engine implemented in D, probably the best you can currently get. Keep up the good work.
Mar 29 2005
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Joey Peters" <squirrel nidhogg.com> wrote in message 
news:d2bc53$15co$1 digitaldaemon.com...
 What? Irrlicht is great and easy to use. I don't find your engine a lot 
 better API wise (judging from what's there).

Well perhaps you've had better luck with it, but it kinda blew me away.
 Anyway, I tried your engine and it's a good start for an engine 
 implemented in D, probably the best you can currently get. Keep up the 
 good work.

I'm not real sure how to take that comment..
Mar 29 2005
parent J C Calvarese <jcc7 cox.net> writes:
Jarrett Billingsley wrote:
 "Joey Peters" <squirrel nidhogg.com> wrote in message 

Anyway, I tried your engine and it's a good start for an engine 
implemented in D, probably the best you can currently get. Keep up the 
good work.

I'm not real sure how to take that comment..

Sounds like a compliment to me. "Good job. It's the best that D has." -- jcc7 http://jcc_7.tripod.com/d/
Mar 29 2005
prev sibling next sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
I managed to find some time this morning to fix the lib problem Derek had. 
The archive (see original post for link) was missing some libs necessary for 
compilation.  In addition, the prog folder now contains a compiled version 
of the source, so you don't have to install everything to try it out.

A small update, but it's better than waiting a month to fix a load of 
problems. 
Mar 29 2005
parent reply "Carlos Santander B." <csantander619 gmail.com> writes:
Jarrett Billingsley wrote:
 In addition, the prog folder now contains a compiled version 
 of the source, so you don't have to install everything to try it out.
 

I ran the program (main.exe) and I get a dialog box saying: "NG3D.InitD3D() - Could not create device! Invalid call", and then another that says: "NGInput.unInit() - NGInput not initialized!". Running WinXP Pro SP2, DirectX 9.0c. _______________________ Carlos Santander Bernal
Mar 29 2005
parent reply Derek Parnell <derek psych.ward> writes:
On Tue, 29 Mar 2005 16:01:01 -0500, Carlos Santander B. wrote:

 Jarrett Billingsley wrote:
 In addition, the prog folder now contains a compiled version 
 of the source, so you don't have to install everything to try it out.
 

I ran the program (main.exe) and I get a dialog box saying: "NG3D.InitD3D() - Could not create device! Invalid call", and then another that says: "NGInput.unInit() - NGInput not initialized!". Running WinXP Pro SP2, DirectX 9.0c. _______________________ Carlos Santander Bernal

SNAP! :D -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ Guru Bob: "Before critizing someone, walk a mile in their shoes. That way when you do critize them, you'll be a mile away and you'll have their shoes." 30/03/2005 9:32:45 AM
Mar 29 2005
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Derek Parnell" <derek psych.ward> wrote in message 
news:1ucofyc45irqw.1nn3gngqswyg8
 SNAP!  :D

Oh, dear.. don't you love nondescript errors? The NGInput error is being called because the NGInput.uninit() is being called in the finally block before the NGInput.init() ever gets called. I thought I removed the exception-throwing if in all the .init() and .uninit() functions if the unit was already initialized / not yet initialized, but I must have missed that one.. will be fixed in the next release. The NG3D error is a bit more difficult. This is being thrown from a function (IDirect3D9.CreateDevice()) which takes six parameters, and thanks to COM's wonderfully descriptive error codes, all I know is that _one_ of them is causing the function to fail. Of course, it works fine on both computers in my house, so I don't even have a testing platform. I'll see if I can whip up a small tester program in the next few days to see what's causing it to fail. (Yess. My own betatesters..)
Mar 29 2005
prev sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Downloaded. Launched. Worked straight away (XPSP2, DX9C, GF4Ti). Ok, 
it's cool that we've got DX9 in D, but the demo doesn't show many of the 
features you have listed or even usage of the API calls (specular, 
anyone ?) It's be cool if you'd shown some of these 'HLSL shader effect 
files' and 'rendering to textures' :)
I hope we can all get better lighting when I finish my photon mapper ;)
Btw, there are lots of good free 3d models on the net, but maybe not in 
the .x format. I'm happily loading .ase at the moment.


Jarrett Billingsley wrote:
 - Portaling system?  (quadtree/octree, BSP, proprietary?)

I guess you mean a spatial partitioning system. Portals are a different story. For these you'd need a special editor (to insert them manually or create levels from brushes and apply a solid-leaf bsp) or use some Quake tools. Anyways, great job ! Welcome to the 4d club (3d in d) ;) -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Mar 30 2005
parent reply Jarrett Billingsley <Jarrett_member pathlink.com> writes:
In article <d2dof5$iqo$1 digitaldaemon.com>, Tom S says...
Downloaded. Launched. Worked straight away (XPSP2, DX9C, GF4Ti). 

it's cool that we've got DX9 in D, but the demo doesn't show many of the 
features you have listed or even usage of the API calls (specular, 
anyone ?) It's be cool if you'd shown some of these 'HLSL shader effect 
files' and 'rendering to textures' :)

Yeah, this is a very preliminary release, just to make sure it's working fine (which it doesn't seem to be for some people). I whiped up the demo prog in maybe 10 minutes ;)
I hope we can all get better lighting when I finish my photon mapper ;)
Btw, there are lots of good free 3d models on the net, but maybe not in 
the .x format. I'm happily loading .ase at the moment.

I take it that's a lightmapping program you're working on? Or is it... *gasp* PRT? To tell the truth, I've never heard of ASE.
I guess you mean a spatial partitioning system. Portals are a different 
story. For these you'd need a special editor (to insert them manually or 
create levels from brushes and apply a solid-leaf bsp) or use some 

tools.

Hmm, I always saw the two terms used interchangeably. Is there a subtle difference (or a major one) that I never learned about?
Anyways, great job ! Welcome to the 4d club (3d in d) ;)

Yay :) There should be a community. If there isn't one already.
Mar 30 2005
parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Jarrett Billingsley wrote:
 Yeah, this is a very preliminary release, just to make sure it's working fine 
 (which it doesn't seem to be for some people).  I whiped up the demo 
 prog in maybe 10 minutes ;)

Cool, waiting for a prog made in a few hours ;]
 I take it that's a lightmapping program you're working on?  Or is it... *gasp* 
 PRT?

Nope, PRT is above my level yet :( I'll first play around with some lightmaps, then I'll look SH.
 To tell the truth, I've never heard of ASE.  

Nope ? it's Ascii Scene Export, a very nice format exported by 3dsmax. I prefer it over 3ds, it contains more info.
I guess you mean a spatial partitioning system. Portals are a different 
story. For these you'd need a special editor (to insert them manually or 
create levels from brushes and apply a solid-leaf bsp) or use some 

Quake
tools.

Hmm, I always saw the two terms used interchangeably. Is there a subtle difference (or a major one) that I never learned about?

Uh... well, structures like octree, kdtree, abt, grids, etc are just spatial partitioning structures. You can do frustum culling with them, but that's all (of course you could accelerate screen-space occlusion culling with them). Portals are directly useful to hidden space removal and they make the process independent of level size. Also, it's easy to generate spatial partitioning structures like octrees but it's hard to generate portals automatically (possible but painful... oh yeah...). Yeah, you might read up on portals :> The best docs about portals were written by Mr.Gamemaker, they used to be free, I've got that version from the time they were free, now in a modified version they are sold by Game Institute and I doubt if I can put them anywhere for download :(
Anyways, great job ! Welcome to the 4d club (3d in d) ;)

Yay :) There should be a community. If there isn't one already.

There probably isn't any... I really wonder how many ppl do game dev in D :) Maybe we should create a community site ? I've got a server, lol. -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Mar 30 2005
parent reply Georg Wrede <georg.wrede nospam.org> writes:
Tom S wrote:
 Yay :)  There should be a community.  If there isn't one already.

D :) Maybe we should create a community site ? I've got a server, lol.

More than you'd think. Put up a few web pages, and a mailing list, and see!
Mar 30 2005
next sibling parent Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Georg Wrede wrote:
 Tom S wrote:
 There probably isn't any... I really wonder how many ppl do game dev 
 in D :) Maybe we should create a community site ? I've got a server, lol.

More than you'd think. Put up a few web pages, and a mailing list, and see!

If I had more time and skills (I know DHTML/CSS but I'm not an artist to create a good looking site), I'd certainly do this. Any volunteers ? ;) -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Mar 30 2005
prev sibling next sibling parent reply clayasaurus <clayasaurus gmail.com> writes:
Georg Wrede wrote:
 
 
 Tom S wrote:
 
 Yay :)  There should be a community.  If there isn't one already.

There probably isn't any... I really wonder how many ppl do game dev in D :) Maybe we should create a community site ? I've got a server, lol.

More than you'd think. Put up a few web pages, and a mailing list, and see!

Why not just take advantage of dsource.org ? You could use the tutorials section to add new game tutorials for DirectX, OpenGL, or whatever is requested the most. You could also ask for a D Game Programming forum, for the 20 or so D game programmers (are most of them hiding under rocks until they whipout something cool?)
Mar 30 2005
parent Paul Bonser <misterpib gmail.com> writes:
clayasaurus wrote:

 game programmers (are most of them hiding under rocks until they whipout 
 something cool?)
 
 
 

That sounds about right for me :D -- -PIB -- "C++ also supports the notion of *friends*: cooperative classes that are permitted to see each other's private parts." - Grady Booch
Mar 31 2005
prev sibling parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Georg Wrede" <georg.wrede nospam.org> wrote in message 
news:424B0128.60303 nospam.org...
 More than you'd think.
 Put up a few web pages, and a mailing list, and see!

That's probably true.. I know the japanese D community makes a lot of games and does a lot with directx/SDL.. Tom S wrote:
 Nope ? it's Ascii Scene Export, a very nice format exported by 3dsmax. I 
 prefer it over 3ds, it contains more info.

Oh, I know what you're talking about now. I think I used ASE to get some models out of MAX into a small modeling program before. Is it allowed to contain stuff like boned meshes? Or is it more on par with 3DS files (limb animation)? I'll also have to look up some more info on portals though. Thanks for the clarification :) ------------------------------------- Sorry if the download link was down for anyone - my ISP was down THE ENTIRE DAY yesterday. Of course, on the day when I need the internet for a school project...
Mar 31 2005
parent reply Tom S <Tom_member pathlink.com> writes:
Oh, I know what you're talking about now.  I think I used ASE to get some 
models out of MAX into a small modeling program before.

Is it allowed to contain stuff like boned meshes?  Or is it more on par with 
3DS files (limb animation)?

Here's what it can contain :) http://udn.epicgames.com/Two/MAXtoUnreal/exportoptions.jpg Or you could use Flexporter to get much more data from 3dsmax. I don't need it ATM.
Mar 31 2005
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Tom S" <Tom_member pathlink.com> wrote in message 
news:d2gt3t$uvp$1 digitaldaemon.com...
 Here's what it can contain :)
 http://udn.epicgames.com/Two/MAXtoUnreal/exportoptions.jpg

Cool. Exports more than I thought :)
Mar 31 2005