Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Pyglet based Voxel-Cube placing engine.
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  11 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
David Hagler  
View profile  
 More options Sep 17 2012, 1:05 pm
From: David Hagler <prozac...@gmail.com>
Date: Mon, 17 Sep 2012 10:05:13 -0700 (PDT)
Local: Mon, Sep 17 2012 1:05 pm
Subject: Pyglet based Voxel-Cube placing engine.

I was toying with the notion of "yet another one of those voxel games"  -
and created this....

https://github.com/prozacgod/digbuild

Let me know if you have any issues working with it, runs some whoping
3000fps on my desktop - and like 60 on my laptop.

Follow the repo if your interested, upcoming milestones..

* proper normals with simple ambient lighting.
* chunk based voxel bitmap provider - trying to come up with a format for
arbitrarily large sizes - like MC but with a much higher height ceiling
(64k or 'unlimited', still decided on format specifics)
* chunk based rendering, heirarchy of display lists
* dynamic chunk updates for block removal/addition.
* block level lighting
* view lighting to mimic the voxel's concept of lighting. (smooth lighting
basically)
* division into client/server model

Who wants to implement "powerrocks"? ... haha


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tristam MacDonald  
View profile  
 More options Sep 17 2012, 6:40 pm
From: Tristam MacDonald <swiftco...@gmail.com>
Date: Mon, 17 Sep 2012 18:40:03 -0400
Local: Mon, Sep 17 2012 6:40 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

Do you have any screenshots handy? I don't have a pyglet-capable machine at
the moment.

--
Tristam MacDonald
http://swiftcoder.wordpress.com/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kalessin  
View profile  
 More options Sep 18 2012, 8:34 am
From: Kalessin <pab...@gmail.com>
Date: Tue, 18 Sep 2012 05:34:44 -0700 (PDT)
Local: Tues, Sep 18 2012 8:34 am
Subject: Re: Pyglet based Voxel-Cube placing engine.

Nice work, I'm interested in seeing where this goes. 3000fps is quite
impressive

I had a go at a similar engine to teach myself OpenGL, you can check it out
at https://github.com/pabennett/glblox

Its using Python+Pyglet and a bit of c++


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nathan  
View profile  
 More options Sep 18 2012, 12:04 pm
From: Nathan <nathan.sto...@gmail.com>
Date: Tue, 18 Sep 2012 10:04:15 -0600
Local: Tues, Sep 18 2012 12:04 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

On Mon, Sep 17, 2012 at 11:05 AM, David Hagler <prozac...@gmail.com> wrote:
> I was toying with the notion of "yet another one of those voxel games"  -
> and created this....

> https://github.com/prozacgod/digbuild

Awesome!  I like it!  This serves as a decent demo for how to use pyglet
mouse/keyboard to move around a 3D space, as well.

Let me know if you have any issues working with it, runs some whoping

> 3000fps on my desktop - and like 60 on my laptop.

Vsync is probably on by default on your laptop, but off on your desktop.
 The benefits of vsync include not wasting your time updating a frame that
an LCD/LED display won't display anyway (since they generally only can
display 60 fps) and eliminating tearing.  If you just want to see your true
fps, turn vsync off.

Follow the repo if your interested, upcoming milestones..

> * proper normals with simple ambient lighting.
> * chunk based voxel bitmap provider - trying to come up with a format for
> arbitrarily large sizes - like MC but with a much higher height ceiling
> (64k or 'unlimited', still decided on format specifics)
> * chunk based rendering, heirarchy of display lists
> * dynamic chunk updates for block removal/addition.
> * block level lighting
> * view lighting to mimic the voxel's concept of lighting. (smooth lighting
> basically)
> * division into client/server model

I'm looking forward to it!  Any plans for non-cube-based voxels?

> Who wants to implement "powerrocks"? ... haha

I don't understand the joke.  What's a powerrock?

~ Nathan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nathan  
View profile  
 More options Sep 18 2012, 12:06 pm
From: Nathan <nathan.sto...@gmail.com>
Date: Tue, 18 Sep 2012 10:06:42 -0600
Local: Tues, Sep 18 2012 12:06 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

On Mon, Sep 17, 2012 at 4:40 PM, Tristam MacDonald <swiftco...@gmail.com>wrote:

> Do you have any screenshots handy? I don't have a pyglet-capable machine
> at the moment.

If you've ever played minecraft, it just looks like a big room made of
minecraft dirt, stone, and bedrock blocks.  Moving around works smoothly,
and some collision detection is working.

~ Nathan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Hagler  
View profile  
 More options Sep 18 2012, 3:16 pm
From: David Hagler <prozac...@gmail.com>
Date: Tue, 18 Sep 2012 12:16:02 -0700 (PDT)
Local: Tues, Sep 18 2012 3:16 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

I'm so glad people are trying it out :P I've posted it about for a while
and garnered little to no attention :P  

@Tristam - I do not have any screens handy, but will make a rudimentry
project page on my website in the coming days to show it off a bit.

@Nathan - I did try it with and without vsync (from pyglet) it's an
integrated driver so I was assuming a forced vsync - but vsync on it drops
to 30fps,
if I lower the resolution to 320x240 it goes up to ~200 - took me a while
to realize that would be a valid test actually ..Derp.  But I'm guessing
I'm actually
producing about 60fps naturally, and when I turn on vsync I get "lowest
common denominator" FPS - 60hz refresh with ~ 60hz framerate would mean a
beat
pattern that would produce the 30fps I was seeing with it on.  (that's my
guess at least)

Powerrocks was a tongue in cheek reference to a redstone analog. :D

The current implementation was just a "how do I get this to render" so the
"character movement/collision detection is very naive (intentionally).

> I'm looking forward to it!  Any plans for non-cube-based voxels?

Indeed, this is my first foray into opengl stuff altogether so I need to
learn more about rendering, and optimizations, like those non-cube-voxels
will
need to have special rendering considerations that I don't know of yet :P

I'm thinking of making this into some sort of generic framework for
mc-clone voxel engines, but it might move from python/pyglet at that point.
(we'll see)
my idea was you could mix and match plugins, so - you want animals, get the
animal plugin, want skylands get a skylands generator, caves... you get the
picture.
but trying to figure out an interface to allow them to all cooperate and
still maintain some sort of sanity... well thats another story altogether.

So far (not knowing how mc does it, but I suspect I'm onto something here)
I'm thinking layers -

*map fill* : layer - just generates on/off states for blocks that are
considered "surface".
*environment tagging :* (biomes) - just tags information for the xy -2d
section of the map (similar to mc)
*layer fiil*: dirt/sand for biomes
*mineral fill* : adds the good stuff to dig for!
*overlay*: trees/castles/mines .. etc...

I'm going to allow advanced attribute tags on the blocks so you could tag
overrides on specific blocks at some point, like override this particular
block to a rainforest environment, or
this block cannot have gravity many in clusters would make zero-g areas :)

so providing this information to the interaction & renderer in real time
while rendering mobs/sprites/particles... well - we'll see what happens.

I have an ambitious list of goals, but work always comes first :P


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nathan  
View profile  
 More options Sep 18 2012, 3:43 pm
From: Nathan <nathan.sto...@gmail.com>
Date: Tue, 18 Sep 2012 13:43:16 -0600
Local: Tues, Sep 18 2012 3:43 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

On Tue, Sep 18, 2012 at 1:16 PM, David Hagler <prozac...@gmail.com> wrote:
> Powerrocks was a tongue in cheek reference to a redstone analog. :D

Ah, okay I get it.

So, sounds like you're sticking to a mostly-a-minecraft-clone design for
the moment?

> I have an ambitious list of goals, but work always comes first :P

I know, work's always getting in the way!  :)

~ Nathan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nathan  
View profile  
 More options Sep 18 2012, 6:15 pm
From: Nathan <nathan.sto...@gmail.com>
Date: Tue, 18 Sep 2012 16:15:21 -0600
Local: Tues, Sep 18 2012 6:15 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

On Tue, Sep 18, 2012 at 6:34 AM, Kalessin <pab...@gmail.com> wrote:
> Nice work, I'm interested in seeing where this goes. 3000fps is quite
> impressive

> I had a go at a similar engine to teach myself OpenGL, you can check it
> out at https://github.com/pabennett/glblox

> Its using Python+Pyglet and a bit of c++

I managed to find and install the gletools dependency from
https://bitbucket.org/pyalot/gletools/

...but it appears that gletools is broken.  :-(

glblox $ python main.py
Traceback (most recent call last):
  File "main.py", line 19, in <module>
    from gletools import ShaderProgram
  File
"/Users/nathan/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/site-packages /gletools-0.1.0-py2.7.egg/gletools/__init__.py",
line 9, in <module>
    from .texture import Texture
  File
"/Users/nathan/.pythonbrew/pythons/Python-2.7.3/lib/python2.7/site-packages /gletools-0.1.0-py2.7.egg/gletools/texture.py",
line 13, in <module>
    import Image
ImportError: No module named Image

~ Nathan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Scott Porter  
View profile  
 More options Sep 18 2012, 7:11 pm
From: Scott Porter <scott.leonar...@gmail.com>
Date: Wed, 19 Sep 2012 09:11:08 +1000
Local: Tues, Sep 18 2012 7:11 pm
Subject: Re: Pyglet based Voxel-Cube placing engine.

It looks like you don't have PIL.
http://www.pythonware.com/products/pil/

Sent from my iPad

On 19/09/2012, at 8:15 AM, Nathan <nathan.sto...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Greg Ewing  
View profile  
 More options Sep 23 2012, 6:02 am
From: Greg Ewing <greg.ew...@canterbury.ac.nz>
Date: Sun, 23 Sep 2012 22:02:54 +1200
Local: Sun, Sep 23 2012 6:02 am
Subject: Re: Pyglet based Voxel-Cube placing engine.

David Hagler wrote:
> I'm thinking of making this into some sort of generic framework for
> mc-clone voxel engines
> So far (not knowing how mc does it, but I suspect I'm onto something
> here) I'm thinking layers -

If there's anything you want to know about how MC works,
I may be able to help. I've made a few small mods for MC
recently, and learned a fair bit about its internals in
the process.

> *map fill* : layer - just generates on/off states for blocks that are
> considered "surface".
> *environment tagging :* (biomes) - just tags information for the xy -2d
> section of the map (similar to mc)
> *layer fiil*: dirt/sand for biomes
> *mineral fill* : adds the good stuff to dig for!
> *overlay*: trees/castles/mines .. etc...

I haven't delved much into MC's terrain generation, but I
think it does something broadly similar. I believe it uses
Perlin noise functions for things like terrain height,
caves and ore deposits.

--
Greg


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Phillip Smith  
View profile  
 More options Oct 19 2012, 10:51 am
From: Phillip Smith <prozac...@gmail.com>
Date: Fri, 19 Oct 2012 07:51:55 -0700 (PDT)
Local: Fri, Oct 19 2012 10:51 am
Subject: Re: Pyglet based Voxel-Cube placing engine.

Thanks for the offer! - I've been itching to get a bit more code into this,
so in the next week I'm going to look into the basics of the map chunking
and rendering mechanisms.

If you had any insight into how those work, and maybe how they interact
with the network layer -(so I don't fubar it from the ground up) that would
be great.

On other change to the renderer I'm considering is implementing Triangle
Strips (http://en.wikipedia.org/wiki/Triangle_strip)  Pretty sure MC uses
them, and ... well a great number of renderers for a lot of things.

I'll probably come up with a full surface "tesselator" at some point, since
an exposed surface like this is only 3 polygons..

OOXOO
OXXXO
OOXOO

right now it comes back as 15 quads.  Not sure if its worth the added
hassle or not.  I could also just "put a tack into it" since this is
an optimization that really doesn't affect the core responsibilities of the
program as a whole.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »