Overview

About
=====

Fuzzycraft is an experiment by me (Joseph Marshall) to create a cube like world
with OpenGL. I was trying out minecraft and noticed how incredibly slow
creating the terrain geometry takes. I know OpenGL isn't the bottle-neck with
my upper-end GPU - so it seemed like a fun challenge to create terrain that
looks like minecraft; just much faster.

This is the result. I'll probably never work on this again (my goal isn't to
make a minecraft clone) so I'm putting it out here in the hopes that someone
else might find it useful. Or maybe at least enjoy going through the code.

The most interesting part to me is where I actually build the geometry to send
to OpenGL, which you can find in src/renderer/chunk_display.cpp
It could be optimized more but I think it's rather obscure enough as it is.

The "lighting" (if you can call it that) is pretty pathetic. One thing I may do
in the future is to put in some nice ambient occlusion.


Building on Linux
=================

You'll need cmake, sfml2, glm and zmq to build.
Currently sfml2 isn't available in the default ubuntu repositories. The easiest
way to get it is here: https://launchpad.net/+search?field.text=sfml2

$ cd fuzzycraft
$ mkdir build
$ cd build/ && cmake ..
$ make -j4
$ cd ..

You can then run the server with:

$ ./build/fuzzycraft-server

And in another terminal run the client:

$ ./build/fuzzycraft

The first time you connect to the server it will take a little longer to load
the map as it generates the chunks to send to the client.
 

Controls
========

You start out standing on a black cube in the sky. This is your blimp. Press
'E' to attach/detach yourself to it. You can then move about with WASD and move
up and down with Space and Shift respectively.