Page 2 of 3

Re: [FTEQW] CubiQuake

Posted: Mon Apr 15, 2019 2:48 am
by frag.machine
Thanks Spike, it worked.

Re: [FTEQW] CubiQuake

Posted: Mon Apr 22, 2019 7:59 pm
by daemon
Ok, I'm back. Got locked out for a bit due to an email change.

There's been some updates. I started putting a changelog on the github page.
New tools, texture, shape, rotation, and some other small stuff.

revision 78
https://github.com/uowaep/CubiQuake


Here you can see the ramp shape in use. (turned up fog for the sreenshot)
Image

Re: [FTEQW] CubiQuake

Posted: Mon Apr 22, 2019 10:49 pm
by Julius
That's fairly cool :)

How's overall performance and any chance for advanced lighting on that?

Have a look at these for a fitting texture pack:
https://opengameart.org/content/big-pac ... g-textures

Re: [FTEQW] CubiQuake

Posted: Tue Apr 23, 2019 12:06 am
by daemon
Performance seems pretty decent considering the csqc side hasn't been optimized as far as draw order. FPS on my old machine stays around 200 at the current settings. I've set it up to draw/load more or less by tweaking the code, so there's room for experimentation. Much can be optimized on the server as well. I'm sure there's a faster way to do things than what I'm currently doing, but so far seems decent. The main issue I notice is the load/unload sequence causing a slight stutter, but I'm also running it off an old HD. The default load area is wider than it is tall, so the load/in is more noticeable when changing elevations.

Someone who knows how to write shaders would need to help out on the project to get lighting into it. That is what it needs the most, but I'm having a hard time getting into learning shaders.

Feel free to swap out textures. This project is just framework, no actual game within it. I will probably make a game with it later, but I'm mainly focusing on advancing the framework.

Re: [FTEQW] CubiQuake

Posted: Tue Apr 23, 2019 2:07 am
by frag.machine
I hope someone at Func_MsgBoard reads this and propose a quick map challenge using only cubes. :razz:

Re: [FTEQW] CubiQuake

Posted: Tue Apr 23, 2019 10:54 pm
by daemon
Also I should note that the source is set up to just drop into Quake or any mod. You have to edit your main.qc and client.qc source files, but I've kept those edits very minimal. Look for server/sv_main.qc and server/sv_client.qc. CSQC integration is fairly easy as well, check client/cs_main.qc and client/cs_view.qc. They are not as well commented yet though.

Re: [FTEQW] CubiQuake

Posted: Mon May 06, 2019 12:22 pm
by daemon
New revision up with more shapes, and performance improvements.
https://github.com/uowaep/CubiQuake

r83 (clear data dir if anything is broken)

- added wedge and wedgetip shapes
- added more angles of rotation to shapes (All angles are possible now with non-symmetrical shapes.)
- chunks are now drawn from closest to furthest for 25% ish FPS increase
- greatly improved chunk and cluster lookup speed by using entity references rather than findradius()
- chunk and cluster entities are re-used where possible to reduce allocations and memfree usage
- moved face rendering functions to their own file in csqc
- moved shape functions to their own files in csqc
- no longer using dpcompat_findradiusarealinks cvar
- changed some instances of world to NULL
- removed some unused variables

Re: [FTEQW] CubiQuake

Posted: Fri May 10, 2019 4:28 pm
by Julius
Would be really cool if this would also work with Darkplaces or if FTEQW would get VR support.

There is a Occulus Quest compatible but Darkplaces based quake engine in the works:
https://github.com/DrBeef/QuakeGVR

Re: [FTEQW] CubiQuake

Posted: Fri May 10, 2019 4:35 pm
by toneddu2000
I'm pretty sure FTE does have some basic VR support

Re: [FTEQW] CubiQuake

Posted: Sat May 18, 2019 3:01 pm
by daemon
Julius wrote:Would be really cool if this would also work with Darkplaces or if FTEQW would get VR support.

There is a Occulus Quest compatible but Darkplaces based quake engine in the works:
https://github.com/DrBeef/QuakeGVR
From what I understand Darkplaces doesn't support addtrisoup_simple() which is required for this functionality. I could be wrong though.

Re: [FTEQW] CubiQuake

Posted: Sat May 18, 2019 3:05 pm
by daemon
Preview of lighting and torch blocks in next update:

Image

Re: [FTEQW] CubiQuake

Posted: Sat May 18, 2019 3:55 pm
by toneddu2000
Supercool! How did you add light, though dynamiclight_add()?

Re: [FTEQW] CubiQuake

Posted: Sat May 18, 2019 5:17 pm
by daemon
Spike helped me set up a basic shader which allows trisoup_simple to interpret the color values set on the polygon vertexes. Any time polygons are added/removed to/from csqc or lights added/removed, I recalculate the static light values on each vertex within range on the client. There's some optimization to be done, but it's running good.

No use of dynamiclight_add() here.

Re: [FTEQW] CubiQuake

Posted: Sat May 18, 2019 10:02 pm
by toneddu2000
ok, thanks

Re: [FTEQW] CubiQuake

Posted: Sat Jun 08, 2019 6:40 pm
by daemon
https://github.com/uowaep/CubiQuake

r96
- added ambient, static, and dynamic light
- added a torch cubic object, using the torch model from Quake
- T toggles a dynamic light around the client (impulse 150)
- cvar ambientlight takes a vector ('0.2 0.2 0.6' in default.cfg)
- [ and ] keys for cubic Y rotation are swapped in default.cfg
- added console command "worlds" to list existing worlds
- added console command "resetlights" for debugging (don't need it anymore, but don't need to remove it)
- removed fog from the world.hmp map file
- added a very basic shader to allow csqc to light/color polygons drawn with trisoup_simple
- hacked in some animation code for the torch
- added chunk entities that can use models/lights or any custom code
- added cs_cubicobjects.qc for defining custom objects
- removed some draw sorting code. wasn't helping as much as perceived ;)
- added cluster matrix on client that is created as needed for chunks
- moved most csqc defs to cs_cubicdefs.qc
- moved most svqc defs to sv_cubicsdefs.qc
- the cubic tool can now place custom entity type cubics along with normal trisoup_simple polygon cubics
- added an arg to DrawFaceGroup() that is unnecessary. FIXME
- worldsize is sent with the first set of chunk csqc/svqc entities before running InitGameVariables()
- fixed a texture bug in wedge shape
- now drawing engine crosshair
- fixed a bug where chunks arriving out of order would arrive before worldsize is set on the client
- added maxchunksloadedperframe and maxchunksghostedperframe to smooth out cluster/chunk load in/out
- added maxlightradius setting. can be any value, but default is recommended for performance. (192 with default world settings)
- added ambientlight setting using autocvar_ambientlight acting as the base light color
- added lightupdatedelay_static settting. 0.5s default
- added lightupdatedelay_dynamic setting. 0.02s default
- iseven settings are now automatic
- .lightradius .lightbrightness .lightcolor for lighting
- fixed some bugs with placing chunks and clusters
- added centerprint warning when trying to edit while chunks are loading