Page 1 of 3
Project Cube Root [INACTIVE]
Posted: Mon Nov 12, 2012 3:02 am
by RootDynasty
Project Cube Root is an effort to create a new client that is compatible with pyspades. It is currently written in C++ and rendering is done in OpenGL.
I will open source this project after it is more mature. There is still a ton of stuff left to do!
Demo video 1:
Github:
https://github.com/RootDynasty/cuberoot
Cube Root is currently based off of a tutorial series on wikibooks:
https://github.com/RootDynasty/cuberoot
The code is taken off of
https://bitbucket.org/ZephyrSL/modern-t ... scraft.cpp
Todo List:
- Get colors working
- Re-write another VXL loader
- Add physics/collision detection
- Player models/guns
- Networking
Re: Project Cube Root
Posted: Mon Nov 12, 2012 3:10 am
by izzy
impressive!
Re: Project Cube Root
Posted: Mon Nov 12, 2012 3:10 am
by Sponge
RootDynasty wrote:Project Cube Root is an effort to create a new client that is compatible with pyspades. It is currently written in C++ and rendering is done in OpenGL.
I will open source this project after it is more mature. There is still a ton of stuff left to do!
Demo video 1: http://www.youtube.com/watch?v=bE9kc-x5rhA
This looks interesting. Is this just going to be a spectator thing or will it be a playable game?
Will get it once it's released :D
Re: Project Cube Root
Posted: Mon Nov 12, 2012 3:27 am
by JohnRambozo
RootDynasty wrote:Project Cube Root is an effort to create a new client that is compatible with pyspades. It is currently written in C++ and rendering is done in OpenGL.
I will open source this project after it is more mature. There is still a ton of stuff left to do!
Demo video 1: http://www.youtube.com/watch?v=bE9kc-x5rhA
Its nice to see there may be a client that continues to evolve with pyspades. I hope there is even more coordination of the features this time. And don't forget about us builders!
-JohnRambozo
Re: Project Cube Root
Posted: Mon Nov 12, 2012 3:34 am
by RootDynasty
Sponge wrote:RootDynasty wrote:Project Cube Root is an effort to create a new client that is compatible with pyspades. It is currently written in C++ and rendering is done in OpenGL.
I will open source this project after it is more mature. There is still a ton of stuff left to do!
Demo video 1: http://www.youtube.com/watch?v=bE9kc-x5rhA
This looks interesting. Is this just going to be a spectator thing or will it be a playable game?
Will get it once it's released :D
The goal is to make a fully functional client.
Re: Project Cube Root
Posted: Mon Nov 12, 2012 9:58 am
by rakiru
I'd be interested in helping out where possible, or at least following your progress if you were to put it on github or something.
Re: Project Cube Root
Posted: Mon Nov 12, 2012 4:06 pm
by HoboHob
Release the source code ;)
I like to mess around with stuff.
Re: Project Cube Root
Posted: Tue Nov 13, 2012 12:55 am
by Sponge
RootDynasty wrote:Sponge wrote:RootDynasty wrote:Project Cube Root is an effort to create a new client that is compatible with pyspades. It is currently written in C++ and rendering is done in OpenGL.
I will open source this project after it is more mature. There is still a ton of stuff left to do!
Demo video 1: http://www.youtube.com/watch?v=bE9kc-x5rhA
This looks interesting. Is this just going to be a spectator thing or will it be a playable game?
Will get it once it's released :D
The goal is to make a fully functional client.
Then I know which client I will be using from now on.
Full support, and another full support because you deserve more.
Re: Project Cube Root
Posted: Wed Nov 14, 2012 2:08 pm
by EssigGurkenFred
Wow.
It is great to see what people are able to create just with a submission :O
I hope you are able to finish this project (soon :D ).
Re: Project Cube Root
Posted: Wed Nov 14, 2012 8:58 pm
by RootDynasty
Okay the code has been pushed up onto github
Re: Project Cube Root
Posted: Wed Nov 14, 2012 9:03 pm
by HoboHob
RootDynasty wrote:Okay the code has been pushed up onto github
Cool!
If only someone left a link somewhere convenient for me to click it...
Re: Project Cube Root
Posted: Wed Nov 14, 2012 9:08 pm
by RootDynasty
HoboHob wrote:RootDynasty wrote:Okay the code has been pushed up onto github
Cool!
If only someone left a link somewhere convenient for me to click it...
The link is conveniently placed in the first post.
Re: Project Cube Root
Posted: Wed Nov 14, 2012 9:10 pm
by HoboHob
RootDynasty wrote:HoboHob wrote:RootDynasty wrote:Okay the code has been pushed up onto github
Cool!
If only someone left a link somewhere convenient for me to click it...
The link is conveniently placed in the first post.
I am blind :o
EDIT:
My computer hates shaders :/
But maybe when I install my new graphics card I can help.
Re: Project Cube Root
Posted: Thu Nov 15, 2012 1:02 am
by GreaseMonkey
RootDynasty wrote:
IF YOU KNOW HOW TO USE OPENGL SHADERS PLEASE HELP OUT
The most important thing is to get the rendering to be done in color. The shader in the Glescraft tutorial takes a texture. The shader also uses a clever trick to shade the cubes by using negative texture coordinates. The code needs to be modified so that the color information is received along with the vertex information. I have spent many hours trying to get this to work with no luck.
These might help (GLSL 1.20, which you should support at the very least):
Code: Select allvarying vec3 pt_vec, pt_norm;
void main(void)
{
gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
pt_vec = gl_Vertex.xyz;
pt_norm = gl_Normal.xyz;
gl_FrontColor = gl_Color;
gl_TexCoord[0] = gl_MultiTexCoord0;
}
Code: Select allvarying vec3 pt_vec, pt_norm;
uniform vec3 sun; // directional light; does NOT compensate for occlusion!
const float ambient = 0.1;
const float diffuse = 1.0-ambient;
void main(void)
{
float dl = max(0.0,dot(-sun, pt_norm));
gl_FragColor = (ambient + diffuse*dl) * gl_Color;
}
Note, this does not do specular refraction. To do that, consider using Phong shading for point lights, and Blinn-Phong shading for directional lights.
This only handles one directional light (the sun).
RootDynasty wrote:Re-write another VXL loader
Personally I'd just load VXL in its raw form - it's quite raycaster-friendly, allows you to do at least some stuff more quickly than a raw format, and saves wasting 64MB of your not-so-precious-nowadays RAM. Just be wary that a lot of naïve stuff (hell, even VOXED does this) tends to spew runs which don't have a top part (S = E-1), but might have a bottom part (some don't, though).
I know Pyspades uses raw voxel data (as opposed to VXL). For Iceball though, I do have vxl<->raw conversion going on for block placement/removal, and even for the bunch-of-blocks-breaking code (which uses A* with a minimisation heuristic of -y, y being the positive vertical direction in my case, and broke those buildings in that screenshot in i think 0.4 seconds).
RootDynasty wrote:Add physics/collision detection
I suggest using fixed-point ints of reasonably good precision (16:16 is plenty). Floats can screw you over. Which reminds me, I need to split my physics routines up into quotient/remainder in Iceball, as you tend to fall through the floor every now and then. (The "jump up into the blocks" bug is due to autoclimb being a wee bit broken.)
That's all I can really say for now.
Re: Project Cube Root
Posted: Thu Nov 15, 2012 1:46 am
by Articsledder
I'm interested to see how this will turn out. Will it be compatible with the voxlap version?