Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411478 Posts in 69369 Topics- by 58424 Members - Latest Member: FlyingFreeStudios

April 23, 2024, 07:50:00 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCube Engine Game
Pages: [1] 2
Print
Author Topic: Cube Engine Game  (Read 5036 times)
penguins
Level 0
**



View Profile
« on: February 01, 2011, 06:08:52 PM »

Hello everyone,
Just wanted to share and hope to get input on my current project.
I have been debating to post about it since i started, sometime in mid November, and finally decided to do it now.

About the game:
Ok so I am not sure about my current direction for this game, I have many ideas but I have not narrowed down. I have mainly been focused on technology. I was inspired mainly by the game 3d dot hero. I have always loved pixels and pixel art so i was thinking, why not make it in 3d or voxels? Seeing as my artistic skills are bad, I decided to make much of the game procedurally generated as possible.

Technology:
C++,Ogre3d, Bullet
I am hoping to make this cross platform, but currently I have only testing in mac.

I am new to both c++ and Ogre, so naturally progress is slow.

So does anybody think a game with this style will work? Does it look good? Any tips on how to make it better?
Thanks everybody. Comments and critique is welcome :D.

Screens:
See all screens in this thread here
Note about fps: (messed up here, in smaller shots I get over 200 in larger i get around 80)





Thanks again.

Side note, I just created an account here, am I aloud to post here? There was something in the rules but it got crossed out so i assume its ok.
« Last Edit: February 05, 2011, 01:35:48 PM by penguins » Logged
Raku
Level 10
*****


Dream's Bell


View Profile WWW
« Reply #1 on: February 01, 2011, 06:18:06 PM »

Wow, this looks beautiful. I love games that look like this!
I'm pretty new here as well, but I'm pretty sure this is the right place to post something like this.

I really like the colors and shadowing in those screenshots.
It could use a background, though.

So what would this game be about?
Logged

Chris Pavia
Guest
« Reply #2 on: February 01, 2011, 06:33:18 PM »

I'd prefer it without the grid lines personally. They are too overpowering visually for my taste.
Logged
duo
Level 0
**


View Profile
« Reply #3 on: February 01, 2011, 09:17:39 PM »

Are the voxels dynamic (like animation), or does this load static data only? Also, +1 vote for getting rid of the grid lines.
Logged
AndrewFM
Level 2
**


whoops


View Profile WWW
« Reply #4 on: February 02, 2011, 05:38:08 AM »

Quote
I have always loved pixels and pixel art so i was thinking, why not make it in 3d or voxels? Seeing as my artistic skills are bad, I decided to make much of the game procedurally generated as possible.

...

So does anybody think a game with this style will work? Does it look good? Any tips on how to make it better?
Thanks everybody. Comments and critique is welcome :D.

From a generally overhead perspective, the gridlines don't look bad (like in the first screenshot). However, if the camera is going to be able to span around and look in all directions (second and third screenshots), the gridlines look terrible.

However, if you remove the gridlines, keep the cube style, and keep the game procedurally generated, I garuntee you will get accused of trying to make a Minecraft clone.

If you want to do pixel-art 3D, perhaps this will spark your interest.

Quote
Side note, I just created an account here, am I aloud to post here? There was something in the rules but it got crossed out so i assume its ok.

You're allowed to post here, although it's typically frowned upon if you use your first posts to talk about your own games. At minimum, you should post in the Introduce Yourself thread before posting about your own projects. Otherwise, it can come across as you just wanting to advertise without you really caring about the site or the community.
Logged
penguins
Level 0
**



View Profile
« Reply #5 on: February 02, 2011, 10:25:13 AM »

@Rakugaki-Otoko:
Thank you. That really means a lot. I certainly do agree with the background. The default ogre pink is ugly. As for what I am planning, I don't really know yet. I have been throwing around the idea of blending in and camouflage in a multi-player setting. Having groups of NPC all looking the same as you. Assassins creed multi-player and spy party like. I saw a few threads in the Versus challenge that are similar except in 2d that I really liked.  

@duo:
Currently the voxels are rendered into meshes so that only visible faces are rendered. This is a fairly expensive though for large blocks of pixels though Sad. I can in theory have each frame be a different mesh then cycle through them, but i have not tried.

@AndrewFM:
I agree. The grid lines are a little over powering and ugly. I am ok with the accusations. I am hoping my game play is going to be hugely different. Also did post in the Introduce your self thread and thanks for the help.


Some tests:

Personally, i think the plain or the 2nd noise is the best. One problem i see is that without some lines one looses height and depth. The pixels all merge together.

No textures of any sort.


Very faint lines:

2 different types of noise.




Thanks a bunch everybody it really means a lot.



Logged
Doktor_Q
Level 2
**



View Profile
« Reply #6 on: February 02, 2011, 10:31:12 AM »

I'd advocate taking the "very faint gridlines" and making them even a little fainter.
Logged
QOG
Level 3
***



View Profile WWW
« Reply #7 on: February 02, 2011, 12:28:57 PM »

I'd vote for the first noise. Looks nice, btw.
Logged
AndrewFM
Level 2
**


whoops


View Profile WWW
« Reply #8 on: February 02, 2011, 12:59:54 PM »

It might look really good if you could make the grid lines get progressively more faint, the further they get from the camera. However, I'm guessing the grid lines are just part of the texture, so that'd probably be infeasible.
Logged
HDSanctum
Guest
« Reply #9 on: February 02, 2011, 02:48:03 PM »

Custom Mip Maps should make that do-able.

I personally love the look that grainy radiosity gives: Example

You should give a go at faking something like that. SSAO kind of gives the desired effect.
Logged
duo
Level 0
**


View Profile
« Reply #10 on: February 02, 2011, 03:06:52 PM »

Instead of having two sets of mesh data, have two sets of voxel data. Make a function to compare the voxel data on display to the updated data, then update the mesh based on the changes only. It will be faster and save memory.

Also, you don't have to make your whole voxel scene into a mesh. Instead of scrolling with your camera, scroll the voxel data. Leave the camera static except rotating around the scene. This way you can run any size scene without a decrease in fps. Instead of a smooth scroll you will get a jumpy voxel scroll, though. Depends on the look you're going for. Voxatron uses this, minecraft does not.
« Last Edit: February 02, 2011, 03:13:37 PM by duo » Logged
penguins
Level 0
**



View Profile
« Reply #11 on: February 02, 2011, 04:10:15 PM »

@AndrewFM: sry, forgot to respond about that pixel editor. It looks amazing. When i get into windows i will be sure to try.

@HD: I have always loved SSAO and radiosity. They give great results. If i were actually good at this stuff, it would be fun to build in a ray tracer after the scene was generated to make light maps. I checked out what other people have done for real time SSAO and it looks possible but I am going to put a hold on it until i get some actual game-play Tongue

About the fading to a distance thing:
My original plan (untested) was to lower the "resolution" Of the display the further out the player is looking. Each large voxel would be made up of 8 smaller voxels or something (if has more than 4, fill solid).

@duo:
I like the idea in theory for animation, the problem is i don't know how to implement something like that. Currently I am using Ogres ManualObject class which i am fairly sure does not have support for something like that without redoing all verts. The other way i have found to create manual objects is by defining a vertex array:
float vertices[vbufCount] = {
            -100.0,100.0,-100.0,        //0 position
            -sqrt13,sqrt13,-sqrt13,     //0 normal
            100.0,100.0,-100.0,         //1 position
            sqrt13,sqrt13,-sqrt13,      //1 normal

With this I think it would be possible but would it be worth it? I would want to firt test to see how badly the multiple mesh would preform.

Interesting Idea about the top down camera. I was planning to do some sort of a 3rd/1st person so i am not sure how that would work, but i will keep it in mind if i ever decide to change concepts.

@Kikaru: Your right, it does look nicer.



Thanks again everybody. I am so happy i finally joined  Gentleman
Logged
Chris Pavia
Guest
« Reply #12 on: February 02, 2011, 04:20:06 PM »

That looks like a good balance to me.
Logged
Desert Dog
Level 4
****



View Profile
« Reply #13 on: February 02, 2011, 04:20:51 PM »

That looks really cool! Loving the look you have going.  Kiss
Logged

duo
Level 0
**


View Profile
« Reply #14 on: February 02, 2011, 06:30:04 PM »

ManualObject provides a way to edit your mesh:

http://www.ogre3d.org/tikiwiki/ManualObject

Swapping out huge scenes every frame will KILL (seriously) your fps. Not a good idea.

If you're new to 3d and c++, try  Panda 3d (panda3d.org). You write the code in python, but all the functions are c++ so its fast. You'll get your game done a lot faster. Here's an example that shows you how to display thousands of cubes, which are individually modifiable, at 60fps.

http://www.panda3d.org/forums/viewtopic.php?t=7858

If you cut out the 'what not to do' part, the whole program is less than a page.

Logged
penguins
Level 0
**



View Profile
« Reply #15 on: February 02, 2011, 07:00:27 PM »

I see. Where do the new vert's/positions get added? That was the one thing that confused me. I thought they just are started fresh but that would defeat the purpose of updating Tongue. O i agree with the seriously kill FPS part. I was mainly thinking animating just small things. no more than 5x5x5 :D.

As for panda, I looked into it before i chose ogre. I really love python as a language but chose ogre basically because i wanted to learn c++ and lower level languages in general. Sorta silly, but i am having fun with it.
Logged
duo
Level 0
**


View Profile
« Reply #16 on: February 02, 2011, 07:23:49 PM »

Did you construct your entire scene from a single manualobject? Read the paper listed in the references in this wikipedia article:

http://en.wikipedia.org/wiki/Sparse_voxel_octree

It talks about good ways to store voxel data. It even talks about geom swapping, like you mentioned. The big problem with that is you won't get destructible terrain, unless you swap out the whole scene. If you don't understand the article, this pic explains it in 2d. http://en.wikipedia.org/wiki/File:Quad_tree_bitmap.svg The pic explains how you can search for voxels without having to go through the whole 3d matrix.  You can eliminate searching through huge parts of your voxel matrix with the subdivisions.


PS: Just because everyone else is doing it doesn't mean you have to Wink .
« Last Edit: February 03, 2011, 07:56:43 AM by duo » Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #17 on: February 02, 2011, 07:33:36 PM »

damn I was going to suggest svo too
Logged

penguins
Level 0
**



View Profile
« Reply #18 on: February 03, 2011, 01:24:10 PM »

Thanks for the tips. I have read a quarter or so (was getting to complicated Tongue) of the article and understood some of it. It was an interesting read.

What I am currently doing: 32x32x32 pixel chunks. (the image you see is 8 of those chunks,2x2x2) Rendering each one as a manual object. I can see how storing data into that type of structure would help a lot for ray tracing and such. I should probably implement a SVO look up in each chunk for that. Is 3 mirrors of the same data bad lol.

The only problem i see with it is it limits efficiencies with odd dimension sizes. I can do 64x64x64 then 128x128x128 then i have to make the gigantic jump to 256 which i think is going to be super overkill. I like with my current system being able to have storage for a 128x96 map for example.
Thanks for the input :D
Logged
Carrie Nation
Level 4
****


View Profile
« Reply #19 on: February 03, 2011, 01:59:40 PM »

A game world built out of cubes? That will never work, or be profitable.
Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic