Noocraft

Community Forums/Showcase/Noocraft

Noobody(Posted 2010) [#1]
Noocraft
What is Noocraft?
Noocraft is a small Minecraft-clone, a sandbox game, where it's all about editing a landscape made from nothing but cubes. There is no actual 'goal' to reach - except having fun of course. The game is multiplayer oriented, meaning it's encouraged to build cities, dungeons, forests etc. with your friends.

The game has been written in B3D (client), Lua (block data), C++ (for all the crazy things B3D doesn't allow) and BMax (dedicated server). The game is still in alpha stage, so crashes and connection problems may occur.

Screenshots:

Tree house
Airport
Wild water ride
Playing with water

There is also a community server, where Noocrafters can meet to edit a huge and persistent map. The last map was already quite big with 512x32x512 blocks, but was filled within two weeks. The server has been restarted today with a fresh and bigger map with enough space to build. The old map has been saved and is now enclosed in the client, if someone wants to take a look (I really recommend it - crazy stuff has been built).
To join, simply click on Multiplayer, change your nick name and start the client.

The server used to be 'free for all', but after problems with griefers, I had to introduce an account system. This means that if you join the server, you may look, but not edit unless you have an account. If you wish to be registered, just drop me an email at with your nickname and the password you wish to have (can be changed afterwards), and I'll add you to the account list. It is a bit inconvenient, but it's better than having the map spammed with swastikas (which happened twice in the past).

Long story short:
Download client (windows): Link

If you wish to host a persistent game:
Download Dedicated Server (Windows/Linux): Link


puki(Posted 2010) [#2]
Oooh!


Gabriel(Posted 2010) [#3]
Looks great. I still don't "get" it (meaning Minecraft in general) but it does look great.


ImaginaryHuman(Posted 2010) [#4]
Looks cool. Makes me wonder what performance would be like if you zoomed out to the point where each cube is like a 1x1 pixel? It'd need tonnes of memory, but it would be neat to have all those cubes react to physics.


amonite(Posted 2010) [#5]
Always wanted to try minecraft but i never took the time, now i'm building a house and having fun :)
this is very good.

edit: when i want to load a map i have an error user lib not found

Last edited 2010

Last edited 2010


Ferret(Posted 2010) [#6]
This is cool!
Never seen anything like this before.
Must be allot of fun to see what users have created on the server.

Verry good job!


Blitzplotter(Posted 2010) [#7]
looks great, trying the client now....

Initially looks great, I presumed the cursors would allow to move you around the map but no....

Last edited 2010


Chroma(Posted 2011) [#8]
Noobody, any chance you could release the source? I'm wonding how you did the non-blurring textures and the occlusion.


D4NM4N(Posted 2011) [#9]
Is that an actual voxel engine you have written, or just an insane amount of cubes?
inquiring minds wanna know :D


Nate the Great(Posted 2011) [#10]
Is that an actual voxel engine you have written, or just an insane amount of cubes?
inquiring minds wanna know :D


well minecraft does not use any sort of occlusion (that ive heard of) except eliminating faces that are touching faces of other blocks and possibly faces that are facing away from the player although im not sure about that one.

I guess its entirely possible he wrote some sort of voxel engine for it but im guessing it might be less efficient or at least a LOT more trouble than just drawing all the necessary faces...


Noobody(Posted 2011) [#11]
Noobody, any chance you could release the source? I'm wonding how you did the non-blurring textures and the occlusion.

Yes, of course. Find it here.

The non-blurry texture thingy is inside DX7Hack.bb, which requires the userlibs DX7_Hook.dll (you'll find it inside the Userlibs folder).

The ambient occlusion magic is done with a precalculated texture (generated in AOGenerator.bb), which is overlayed over the regular block texture using the second texture coordinate set available in B3D. Which part of the AOTexture to use for a cube face is calculated based on which blocks adjacent to the face are transparent. Take a look at the functions GetAOConfiguration, GetAOU, GetAOV and CreateFace (lines 565-570 in particular) in Map.bb

The implementation in BMax I postet here a while back uses the same AO system and is slightly cleaner written (I think), so I'd have a look at that too. I think the thread was called "Infinite minecraft-esque terrain".

Is that an actual voxel engine you have written, or just an insane amount of cubes?

Oh, no, plain old polygon rasterization. Voxel raytracing is not quite ready for such usage yet (especially not in B3D) :)

Using actual cubes to model the landscape will get terribly slow as well. Not because of the additional hidden faces between neighbouring blocks (today's graphics cards really don't care about these few thousand triangles more to render), but because of the amount of draw calls. One cube made with CreateCube is a seperate Mesh, meaning it will have its own draw call during RenderWorld(). The overhead introduced by each draw call will terribly affect the performance, so it's really important to have as few meshes as possible. On the other hand, since the user can edit the landscape freely, having too many blocks inside a mesh will also affect the performance, since everytime the user edits a block, the whole mesh the block belonged to needs to be rebuilt, which gets more expensive the bigger the mesh is.
In my case I just divided the landscape into chunks of the same size (32x32x32 blocks, iirc) and put all block geometry inside the same chunk into the chunk mesh. That way the amount of draw calls is greatly reduced, while making editing feasible since the chunk mesh still has a reasonable size.

well minecraft does not use any sort of occlusion (that ive heard of) except eliminating faces that are touching faces of other blocks and possibly faces that are facing away from the player although im not sure about that one.

Chroma was referring to Ambient Occlusion, not Occlusion Culling, though I'm pretty sure Minecraft implemented the latter in one of the newest updates (that's what the "Advanced OpenGL" button in the graphics options does). What occlusion culling does in this case is simply hide chunks that aren't visible to the player (e.g. caves, when the player is still above the ground) by first rendering a bounding mesh and then checking whether the bounding mesh is visible on the screen. If yes, render the actual geometry of the chunk, if no, discard it for this frame.


taumel(Posted 2011) [#12]
Looks cute, i especially like the clouds on the screenshot.

Personally i find the technology interesting how you best organise your data and visualise it efficiently but as a game Minecraft and the clones i've seen so far are too much to handle. I'm too old for wasting so much time into a game anymore.


Paul "Taiphoz"(Posted 2011) [#13]
Thats a damn good bit of work. need to tone down the mouse speed a little tho but other than that, its good. I wonder what notch would say if he saw it.


Paul "Taiphoz"(Posted 2011) [#14]
you should turn this into a multi player combat game..

The castle in the back ground gave me the idea, for example give the map a few zones, and then let each player build their own castle within their own zone, over a set amount of build time, then when the build time ends enter a combat time where players can use cannons to smash the crap outa each others wall and castle , lol would be fun I think.


Noobody(Posted 2011) [#15]
I should probably mention that the screenshots in the first post are really old. When the community server was still online, there were about 20 players constantly online going nuts, and after about 6 weeks the online map looked like this:



(click thumbnail for bigger version)



I wonder what notch would say if he saw it.

"Stop ripping off Minecraft and come up with your own game design you lazy bum"

you should turn this into a multi player combat game..

This sounds fun, but development has been discontinued about half a year ago. The (albeit messy) source code is open, so feel free to implement your own ideas :)


taumel(Posted 2011) [#16]
Nice, actually this is one of the scenes where i prefer a isometric zoomable perspective over the free 3d view.


Hummelpups(Posted 2011) [#17]
Jeaaah, it was a lotta fun, building it.


Caton(Posted 2014) [#18]
how do you add mobs?