If this is your first visit, be sure to check out the FAQ by clicking the link above. You have to register before you can post.

If you have recently signed up, please make sure you log in so that your activity is registered. This is required for automatic promotions to work and to ensure your account is not deleted during the registration process.

Brtech1

I've wrote a Quake3/idtech3-compatible engine (in most all things except API-wise, so it's not API-compatible) in the last month ago.

It's written in ObjectPascal completely from scratch (compilable with Delphi and FreePascal for many targets including Windows, Linux, MacOSX, Android and iOS). The engine is fully compatible with the Quake3 file formats, but it doesn't use the OpenGL fixed pipeline, instead it uses a 100% complete plain GLSL-based render pipeline (which's fully OpenGL ES >= 2.0 and Desktop OpenGL >= 3.0 compatible), where the rendering architecture is a mix between forward rendering (for to be Quake3-render-concept-compatible) and deferred lighting a ka light pre-pass for future feature extensions.

All geometric data (maps and models) are stored in static VBOs, so all vertexdeformations/textureanimations/etc. are calculated directly only on the GPU itself (including autosprite/autosprite2 deformations!), so the CPU has nothing to do in this context, except to do the PVS+FrustumCulling.

At MD3 models with vertex animations, all frames are stored in the same static VBO, where the vertex attribute pointers are pointing to different start vertex index positions, aPosition+aNormal+... for the the source interpolation frame and aPosition2+aNormal2+... for the target interpolation frame including a uInterpolation uniform float variable to interpolate between them directly on the GPU per GLSL vertex shader.

The whole sound system is also self-implemented, which's based on my own old sound code stuff from the FoembJump Android framework.

Test binary: http://rootserver.rosseaux.net/stuff/BRTECH1.zip but you do need the original Quake3 (demo or full version) data for it, because the BRTECH1.exe binary searchs for the baseq3 (or baseoa if you have only OpenArena) subdirectory with the .pk3 files. But a small warning for OpenArena maps, it seems for me that, these are compiled wih a buggy q3map/q3map2 map compiler version => Z-Fighting on curved patch brushes. But on the original Quake3 maps this problem doesn't exist.

I'm searching for artists (quake3 mappers, quake3 material-shader-writers, quake3 texture-artists and quake3 MD3/IQM modellers) now for to doing the first real own demonstration indie game with it. If you do know someone for so such job things, then contact me please

And now some videos (P.S. door logics aren't implemented yet, so I've disabled the collisions with doors):

wow, Very impressive ! And the implementation of the vertex manipulation and textures stuff on the gpu might be very cool ! It is the case for all the platform (ios ?) ?
Let us know the advance of your project on it !
- I'm not aware of quacke like stuff : is there some editor to use ?
- Have you a licence plan for this engine ?

Wow, this is amazing. I work (kind of still am) on an engine which also provides support for Q3 assests (maps, models and such), but I guess you beat me to it
Great work. I'm interested to see what kind of a game you might develop with this.

wow, Very impressive ! And the implementation of the vertex manipulation and textures stuff on the gpu might be very cool ! It is the case for all the platform (ios ?) ?

If the PowerVR SGX GPU in the iPhones supports at least 13 shader vertex attributes (because for the on-the-GPU-interpolation of animated models), then yes, because the OpenGL ES 2.0 specification says just 8 vertex shader attributes as minimum, but most all current mobile GPUs (PowerVR SGX 540, Mali400MP, Tegra2&3, Arendo205, etc.) in android devices are supporting at least 16 vertex shader attributes. But for example the OpenGL 2.0 capable GPU in the Raspberry PI is a OpenGL 2.0 capable GPU with the absolute minimum OpenGL ES 2.0 specification data (so only 8 vertex shader attributes as minimum etc.).

Originally Posted by Vinzvega

Let us know the advance of your project on it !
- I'm not aware of quacke like stuff : is there some editor to use ?
- Have you a licence plan for this engine ?

cheers !

For maps: GTKradiant http://icculus.org/gtkradiant/ but only with the GPL full-opensource variant (where commerical usage isn't a problem, at least here in germany), because the old proprietary half-opensource/half-closedsource variant disallows commerical usage without a license from id Software.

For models: Blender, 3DSMax, etc. the models must be exported and converted then to the MD3 or the newer IQM file format.

License plan: I want to do myself a own game with it, before I'll start licensing with a unity-like freeimum model (here including a opensource dual license model, so the engine source code will be available under a dual-commerical-license-suitable opensource license, like idtech1-idtech4), so for free games => no cost, and for non-free games => small revenue participation (20% to 30%) and no high one-off payment in advance, so the planned licensing will mostly complete risk-free for the licensees.

Originally Posted by de_jean_7777

Wow, this is amazing. I work (kind of still am) on an engine which also provides support for Q3 assests (maps, models and such), but I guess you beat me to it
Great work. I'm interested to see what kind of a game you might develop with this.

Thanks

As said, I want to do a game with it. A futuristic cyberpunk first person shooter or something in that game genre direction, but I do need still artists for this (for game detail concept design, maps, models, textures and material shaders). Code, SFX and music I'm doing myself. So i am looking for artists.

Now with improved virtual-3D stereo sound engine code und underwater

The whole sound engine code is bigger than the main renderer core code now.

The sound engine do support true 3D sound spatialization now (including ear-distance-delays, listener-to-object-angle-and-distance-frequency-filtering, etc.) and I'm working on full HRTF support as a additional high-quality-3D-sound-spatialization-work-mode.

The most all sound engine code is 32bit integer-only (16.12 bit fixedpoint with 4 bit headroom, so it is 20.12 bit at the end) except at the initialization code parts for lookup tables, float -> fixedpoint constant value calculations, etc.

And here the new video. And the BRTECH1.zip at the URL in my start post in this thread is also updated.