Procedural block world project

User projects written in or related to FreeBASIC.
Post Reply
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Procedural block world project

Post by Gonzo »

Video: http://www.youtube.com/watch?v=TyZHdSinLf0

List of images: http://images.google.com/images?q=fbcra ... ebasic.net

Image

Current playtest:
Time for testing is back... This time you can share this link with your friends if you want to
What i want to know, is if its playable or not, including if you reduce the visual quality (see config.ini)

Requirements: Tri-core 2ghz+, modern GPU with ogl3.x support, 500mb+ HDD space

To get started, download launcher:
http://fbcraft.klk-computers.com/d/Launcher.exe

(0. Place launcher in a new folder)
1. Start launcher, login using user = <whatever you want>, pass = hei123, and let it download all files
2. Go to worlds\ and "extract here" test.rar, confirm that worlds\test contains *.compressed files
Example: <client>\Worlds\test\*.compressed
3. Set settings that you can live with, ie. AA level, screensize, number of rays
4. Start the game

If you have updated, and done everything, you can just skip the Launcher, and start "testclient" directly
There will be distance between updates from this point on, especially for worlds
So, you are unlikely to see your built things get reset anytime soon

Happy building =)

Controls:
Space = jump, WASD = move
Enter = open/close chatbox
Ctrl (hold) = crouch, which prevents you from falling off of blocks you are standing on
Shift (hold) = sprint, also works on ladders
F = toggle flying mode, where keys R and T moves you directly up and down
E or I = inventory

once inside inventory your quickbar will be the lowest slot on the inventory bar, drag items into there
once out of inventory you can build with whatever is in your hand, and use 1-9 keys or mousewheel to select another item on the quickbar
If you are really pro, you will use pageup/pagedown to roll your quickbar and never have to open inventory again =)


You can also use XBOX controller to play, but most likely no other controller
i dont remember what the buttons did :P I'm sure you will figure it out

I can't see any anti-aliasing even though i set multisampling to anything not 0?
Go to nvidia control panel and set it to Application defined, but with Multisampling enabled!

The game runs slow on my computer?
There's a few things you can do. reduce raycaster length in config.ini
Reduce sector_axis from 48 or higher to 32 (I don't recommend lower)
If all else fails, get a new computer :)

The game doesn't start on my computer?
Update your graphics drivers, or if all else fails: Get a new computer.
Don't bother trying to play this game on a craptop (a laptop without a GPU, such as nvidia 2xxM)

Why doesn't the engine generate world client-side anymore?
Why isn't the engine "realtime", eg. like minecraft? It used to be.
It's not, because the world would look boring, have no rivers lakes and whatever other computations that literally require you to "know the surroundings already". It's too computationally intensive, and no matter what hacks and trickery you use, you won't be able to push all that into the client. Besides, this engine is a little bit more.. heavy on everything else, there's just no room for it.
I'm not coding this in java, so i have quite a few more cpu cycles to take from, but.. theres limits, and the graphics are very demanding :/

Right now I'm working on several things at one time, so the "look of the world" changes at a slow pace
I'm working on the generator, and on a very compressed chunk format (I saw a thread recently saying I don't use chunks! Haha!)
Why is the world so small? I can't be bothered to generate more.. The generator isn't automatically perfect.. I have to work on it too..
My time is better spent elsewhere.
Any builds released by me are only for testing. Any gameplay bugs = don't report! If the game crashes - I need to know!
Last edited by Gonzo on Dec 25, 2012 19:29, edited 66 times in total.
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Post by VANYA »

We should estimate a screenshot? Or can be a reference what you will give?
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Post by Gonzo »

VANYA wrote:We should estimate a screenshot? Or can be a reference what you will give?
source code only? i didnt see any rules for projects... so, if thats the case i will retract the thread immediately
h4tt3n
Posts: 698
Joined: Oct 22, 2005 21:12
Location: Denmark

Post by h4tt3n »

Wow, looks really good :-) Reminds me of playing with LEGO as a kid.

Cheers,
Mike
VANYA
Posts: 1834
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Post by VANYA »

Gonzo wrote:
VANYA wrote:We should estimate a screenshot? Or can be a reference what you will give?
source code only? i didnt see any rules for projects... so, if thats the case i will retract the thread immediately
I didn't ask a source code, it isn't necessary to me. Simply on a picture to estimate difficult. If has offended, excuse.
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Post by Gonzo »

VANYA wrote:
Gonzo wrote:
VANYA wrote:We should estimate a screenshot? Or can be a reference what you will give?
source code only? i didnt see any rules for projects... so, if thats the case i will retract the thread immediately
I didn't ask a source code, it isn't necessary to me. Simply on a picture to estimate difficult. If has offended, excuse.
no problem at all,
if anyone wants to try out my project i will post a functional (but not stable) version later...
I havent experienced any desynchs lately, but i know if i play long enough it will eventually happen
Right now im in the middle of rewriting a core function so, the screenshot is all ive got at the moment :P
I just needed a break and i thought id start a thread here, which ill update now and then, if theres any interest :)
agamemnus
Posts: 1842
Joined: Jun 02, 2005 4:48

Post by agamemnus »

That's great. Emphasize that it is in Freebasic for anyone who asks!
Lachie Dazdarian
Posts: 2338
Joined: May 31, 2005 9:59
Location: Croatia
Contact:

Post by Lachie Dazdarian »

Looks cool. I do hope it will end up as a game, and not only as a toy.
leopardpm
Posts: 1795
Joined: Feb 28, 2009 20:58

Post by leopardpm »

oh please oh please post code!!!!! This code would provide great advances in my learning in multiple areas....
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Post by Gonzo »

leopardpm wrote:oh please oh please post code!!!!! This code would provide great advances in my learning in multiple areas....
hmm well i started the project to learn something myself :P
i learned that patience > never say die > do no harm > skills > manuals

i guess i could post the code :S but its a multithreaded mess that hurts my head
and the engine is in a shameful state right now
there are a few rare crashes i just cant seem to find....

well, here is a testing version for anyone who wants to try it
i hope it works...
http://dm.fwsnet.net/fbcraft.rar
leopardpm
Posts: 1795
Joined: Feb 28, 2009 20:58

Post by leopardpm »

drats - the test version not work for me: get nice lt blue screen (sky?) with a strange wireframe thing (world?) that I can move around using a combination of mouse, awsd keys. drats.

The reason why I ask to post code:
I am extremely new to the entire 3d and/or OpenGL programming. I am trying to figure out how Minecraft was setup: either with a bunch of separate objects, or was the Worldmap actually manipulated in real-time? But my inexperience is such that I don't even know if the worldmap can be manipulated in such a manner.

It would seem to me that filling a world with cubes would task the engine alot more than just figuring out how/where to add/subtract vertices in the world map. It appears to me that I am so amateur in these thoughts that I can't even ask the right questions.

So, anyways, I understand if you are embarrassed in your code, I hate showing mine because it is fractured and not very nice or easy to figure out. So, here is a link to the thread which also contains a link to download my project as of 2 months ago... it will give you an idea of the direction I was trying to go (basically, view a 3-D world isometrically... it doesn't work satisfactorily for what I want to accomplish)

project: http://www.freebasic.net/forum/viewtopi ... highlight=

I hope you post some code so I can fiddle around with it, multiple threads sound fun (but messy!) - what needs to be multi-threaded in your program?
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Post by Gonzo »

im checking out your project :)

the reason for you seeing "wireframes" or just a blue screen could be that you are stuck in terrain, i forgot to mention that
so i added a little manual in the main post
when you enter the game try pressing T and see if that puts you at the top of the world again
also wait for terrain to generate :P it _should_ work since im only using opengl 1.1 (i think)
leopardpm
Posts: 1795
Joined: Feb 28, 2009 20:58

Post by leopardpm »

I should have included some instructions as well - arrow keys move (also numpad), and the upper right part of window is a minimap which you can left click to change location... the world is 2048 x 1024 x 64 (deep) blocks. The terrain generation takes a minute or two and is pretty basic, working on a perlin generator without much success atm. On my laptop I get about 15 fps, which is adequate but when I really started thinking of optimizing the display routine, I realized that I was basically doing a 3D object clipping routine (show the nearest object first, don't draw any objects behind it) and if I was going to do that, I might as well go the entire 3D route and gain the speed of the hardware acceleration video card and have the world be true 3D.

I tried the 't' key, and it 'changes' things, but I can't seem to extract myself from the lovely blue world and on top of things. Its OK, I realize that you are not here to provide software support to your project! LOL!

The whole goal of my project is not so much a 'MineCraft' clone, but a world which can be dynamically changed so I have a sandbox for the AI concepts I have been developing - thats my main thrust, the AI. Think more along the lines of Dwarf Fortress in a Minecraft world, being shown 3D.

Anyways, I appreciate the time you have given me so far and hope to see more of your project soon!
leopardpm
Posts: 1795
Joined: Feb 28, 2009 20:58

Post by leopardpm »

aw geez! The version of the upload in the link I provided you is AWFUL! It takes forever to generate terrain and is so basic.... I think I just randomly put diff sized circles around the map... ew!

Here is a more recent version (that I haven't broken!) which has the minimap and much faster display routines and terrain generation:

http://www.mediafire.com/?00ya2xd7dquus85
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Post by Gonzo »

leopardpm wrote:aw geez! The version of the upload in the link I provided you is AWFUL! It takes forever to generate terrain and is so basic.... I think I just randomly put diff sized circles around the map... ew!

Here is a more recent version (that I haven't broken!) which has the minimap and much faster display routines and terrain generation:

http://www.mediafire.com/?00ya2xd7dquus85
mediafire isnt giving me a file :S ive tried many times
Post Reply