Project Cube Root [INACTIVE]

Miscellaneous projects by the Build and Shoot community.
43 posts Page 1 of 3 First unread post
RootDynasty
Deuce
Posts: 5
Joined: Mon Nov 05, 2012 9:39 pm


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
Last edited by RootDynasty on Thu Nov 29, 2012 8:50 pm, edited 4 times in total.
izzy
Head Admin / Co-founder
Head Admin / Co-founder
Posts: 474
Joined: Tue Oct 09, 2012 8:16 pm


impressive!
Sponge
Deuced Up
Posts: 176
Joined: Mon Nov 05, 2012 5:52 pm


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
JohnRambozo
Deuce
Posts: 10
Joined: Thu Nov 08, 2012 6:40 pm


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
RootDynasty
Deuce
Posts: 5
Joined: Mon Nov 05, 2012 9:39 pm


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.
rakiru
Coder
Coder
Posts: 1349
Joined: Sun Nov 11, 2012 12:26 pm


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.
HoboHob
Winter Celebration 2013
Winter Celebration 2013
Posts: 979
Joined: Mon Nov 05, 2012 5:02 pm


Release the source code ;)

I like to mess around with stuff.
Sponge
Deuced Up
Posts: 176
Joined: Mon Nov 05, 2012 5:52 pm


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.
EssigGurkenFred
Deuced Up
Posts: 111
Joined: Tue Nov 06, 2012 3:15 pm


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 ).
RootDynasty
Deuce
Posts: 5
Joined: Mon Nov 05, 2012 9:39 pm


Okay the code has been pushed up onto github
HoboHob
Winter Celebration 2013
Winter Celebration 2013
Posts: 979
Joined: Mon Nov 05, 2012 5:02 pm


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...
RootDynasty
Deuce
Posts: 5
Joined: Mon Nov 05, 2012 9:39 pm


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.
HoboHob
Winter Celebration 2013
Winter Celebration 2013
Posts: 979
Joined: Mon Nov 05, 2012 5:02 pm


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.
GreaseMonkey
Coder
Coder
Posts: 733
Joined: Tue Oct 30, 2012 11:07 pm


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 all
varying 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 all
varying 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.
Articsledder
Deuced Up
Posts: 209
Joined: Mon Nov 12, 2012 5:13 pm


I'm interested to see how this will turn out. Will it be compatible with the voxlap version?
43 posts Page 1 of 3 First unread post
Return to “Noteworthy Picks”

Who is online

Users browsing this forum: No registered users and 17 guests