0 registered members (),
17,416
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
CubeX Framework
#369996
05/10/11 12:26
05/10/11 12:26
|
|
CubeX Framework
Hey Guys! I want to show you my new project: CubeX FrameworkThis framwork provides functions to create games with the style of Minecraft. If you don't know how to get started, you can do the turorial or look at the examples... You can download it here: http://picshare.masterq32.de/CubeX.zipAlso you can watch a video with german comments: http://www.youtube.com/watch?v=A23Y_wTU4RkPlease post all bugs you can find! I want to improve this! Have fun and create cool things! EDIT: I was just beeing asked for reuploading the Framework. Here you go! It was nice to hear that somebody actually uses it also nowadays.
|
|
|
Re: CubeX Framework
[Re: ratchet]
#371112
05/18/11 01:38
05/18/11 01:38
|
Joined: Dec 2008
Posts: 1,660 North America
Redeemer
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,660
North America
|
I usually avoid volatile wherever possible and trust the compiler because imo the compiler can generate mor efficient code than any human (well, probably not the Lite-C compiler, but a "real" compiler ^^) But I can't give any real examples and if this really matters beside my experience with LLVM and GCC. That depends heavily upon what you're writing. Almost no compiler on the planet will make use of the MMX unit, and many compilers are horrifically bad at optimizing code for the FP unit. When writing simple applications that make little use of the extraneous bits of the PC, yes, the compiler is much better at producing assembly code than any human being. But when writing complex software that makes use of generally unused chunks of the CPU, a human who knows what he's doing can produce much faster code than any compiler. That's why, for my 3D software renderer, I resorted to assembly code multiple times throughout my program. The compiler was just too stupid to do it right, no matter how I set it up. Most modern compilers are really designed to do two things: produce games that use modern video hardware to handle the bulk of the graphical effects, and tools/business applications that do not operate at a loop that must compare to real time. Being someone who does that sort of computer programming all the time, it's only natural that you would grow accustomed to letting your compiler handle the grunt work most of the time; but I am someone who's written many real-time games that work intimately with the hardware at a very low level, and I am more accustomed to building my software myself. Anyway, with that thinking I still believe that since I, you, and Richi007 have no idea how Gamestudio works internally (and it could very well be eating up a substantial amount of performance on something relatively simple) IMO he should consider getting down to earth and applying the wonderful DirectX API directly to his problem, and sidestep the "bureaucracy" that is the Acknex renderer. This couldn't be easier anyway, since Lite-C supports this out of the box.
|
|
|
Re: CubeX Framework
[Re: 3run]
#379167
07/29/11 21:11
07/29/11 21:11
|
Joined: Mar 2006
Posts: 3,538 WA, Australia
JibbSmart
Expert
|
Expert
Joined: Mar 2006
Posts: 3,538
WA, Australia
|
The world is a 3D array of blocks, as far as I can tell. Every block will be the same size, and they all fit perfectly next to each other. This means instead of a c_trace which will compare a line with every other cube that exists (more or less), the custom trace can just check each unit that the line intersects to see if there exists a cube until it finds one or reaches the end of the line.
At least, that's my guess.
Jibb
Formerly known as JulzMighty. I made KarBOOM!
|
|
|
Re: CubeX Framework
[Re: 3run]
#379168
07/29/11 22:14
07/29/11 22:14
|
Joined: Oct 2008
Posts: 513
Carlos3DGS
User
|
User
Joined: Oct 2008
Posts: 513
|
I think I might have found it in "cubeX.c" BLOCK* cubeX_trace(VECTOR* start,VECTOR* end, var flags) I have been reading it for a while but cant exactly make out how on earth that can be any sort of trace substitute... Can anyone confirm that is the right function? It's not commented at all so that dosn't help either, I dont know what he is trying to do in that function... If it is the right function, can anyone explain what it is doing and how? Inside cubeX_trace i also found this other function call: var ret = c_intersect(pos,pos,nullvector,min,max,nullvector); But I cant find the actual function in any of the files nor in the 3DGS manual. Where is it? Is it an engine function? Does Richi007 still check on this thread?
Last edited by Carlos3DGS; 07/30/11 02:00.
|
|
|
Re: CubeX Framework
[Re: Carlos3DGS]
#379195
07/30/11 10:41
07/30/11 10:41
|
Joined: Nov 2007
Posts: 2,568 Germany, BW, Stuttgart
MasterQ32
OP
Expert
|
OP
Expert
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
|
Hey Guys! the trace function works like Jibb said. It works only(!!) on CubeX-Blocks and not with any other models... This is because i don't do any traces with c_trace or check for models... @Carlos: c_intersect is an A8 feature, which is documented http://www.conitec.net/beta/c_intersect.htmIt checks if a trace hit a box, if two moving boxes have an intersection and so on... I use it for checking an intersection with a block. Greets Felix (btw. this thread is on my watch list  )
|
|
|
|