Procedural block world project

User projects written in or related to FreeBASIC.
Post Reply
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: Procedural block world project

Post by D.J.Peters »

WOW :-)

Joshy
Kot
Posts: 336
Joined: Dec 28, 2006 10:34

Re: Procedural block world project

Post by Kot »

Gonzo wrote:yes, to get reflections not only do i have to re-render the entire scene, i also have to recalculate it, and filter out the invisible parts from the new mirrored / reflected angle.. no personal computer can do that :P that's how intensive this game is..
i have no idea if i can improve things, but right now im on the edge of playable vs unplayable, so there was no point in trying to add it back (i used to have it before)
Can't you just render it on the surface of water instead of doing all the reflection calculation? It's commonly used in games.
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Procedural block world project

Post by Gonzo »

if only everything was that simple, Kot
of course i render it on the surface of the water.. :)
i have to MAKE the reflection, do you think it just happens to be there by itself? to get reflected terrain i have to mirror the camera from my position dY above water, to the mirrored position -dY underwater, and render the terrain there to a texture, then start over rendering the real terrain and finally the water with the reflected terrain on it.. it adds the entire terrain pipeline onto an already over-encumbered laptop
if i should decide to go all out and calculate a different visibility set for the reflected terrain each frame it would never be doing anything else other than rendering terrain... games are supposed to do other things too.. im not making a renderer ;)

it's a 2.2ghz quad-core laptop with geforce 560M card, so it's pretty good, but not THAT good by todays standards

another thing i should point out, is that the best reflection is rendering the terrain from 6 sides, so that i can use normals also on the reflected terrain, but that is never going to happen, unless we get quantum computers...

anyways, i made a new block since it's been a while since last feature (the door)
http://fbcraft.fwsnet.net/thouse.png
i made a house out of trampoline blocks, and it wasnt as fun inside it as i thought it would be :P
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Procedural block world project

Post by TESLACOIL »

That's pretty cool i must say, it would look even sexier with one of these i7-3940XM :-p
scores 10490 ranked 17th http://www.cpubenchmark.net/cpu_list.php because you're worth it



Minecraft ULTRA Graphics (1.7.3) with reflections
http://www.youtube.com/watch?v=qWsSoSeg ... ure=fvwrel
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Procedural block world project

Post by Gonzo »

yes i've seen some reflections mods, but none that i liked or did anything remotely worth doing :P
i'm going to bet if he lowers the camera things will start to disappear because he's re-using the visibility set, but it's just a good guess =)
i had reflections for over a year, until i decided they weren't worth my time and effort
i only added it back just to remind myself how much extra work the engine has to do just to add visual candy for water
and water can look better without reflections if done well (like a real ocean)
just youtube "ocean shader" or "water shader" to see perfectly good examples of time well spent

http://fbcraft.fwsnet.net/gonzorvatory.jpg
anyways, building the obligatory observatory

http://fbcraft.fwsnet.net/gonzorvatory2.jpg
finished =)

longer rendering distances:
http://fbcraft.fwsnet.net/tc128.jpg (1,073,741,824 blocks)
http://fbcraft.fwsnet.net/tc80_1.jpg (419,430,400 blocks)
http://fbcraft.fwsnet.net/tc80_2.jpg
and no, those numbers aren't accurate but i dont have a way to count faces rendered.. which would be accurate
it's meaningless to compare other people's block renderers since the worlds vary in complexity
the best test would be to have a spacing of block air block air for the entire world and test using that, but that's never going to work well without using raycasting... :(
other factors are complexity of shaders.. and my engine is probably the definition of complex shaders :/
it does render ok with 80^2 XZ, but i can't play like that on this laptop
the far render distance of minecraft is 256m (32^2 chunks), but minecraft is built with java which has severe memory issues.. the actual minecraft renderer works very well, and is probably better than mine.. but it does have severe limitations that i can't live with
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Procedural block world project

Post by Gonzo »

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, user = "hei123", 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. Change username (config.ini -> net.user = ...)
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 =)


Remember there's joystick (xbox controller) support
Also some keyboard values:
Tab (hold) = show players NEAR you (players far away are not visible to you)
E = toggle inventory
Shift (hold) = sprint
Ctrl (hold) = sneak (will prevent you falling off edges)
Space = jump
Double-jump (hold) = jetpack (gets boost from sprinting)

you can also toggle flying (if it's enabled in the build) by pressing F
when in flying mode, use T and R to elevate up/down and even go through terrain
flying mode is not part of the game

I also haven't really made a gameplay video before, so I recorded a longer video:
http://www.youtube.com/watch?v=TyZHdSinLf0
Though, it's not really gameplay, i'm just showing the world
Last edited by Gonzo on Dec 02, 2012 14:10, edited 1 time in total.
MOD
Posts: 555
Joined: Jun 11, 2009 20:15

Re: Procedural block world project

Post by MOD »

The Luncher crashed the first time but then downloaded everything. The download for the world is too big in my opinion.
Trying to start the game opens a window and closes it immediately before anything shows up without any error.

System:
Windows 7 x64
ATI Mobility Radeon HD 4650 (latest driver)
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Procedural block world project

Post by Gonzo »

Launcher: it's not made by me, but i've told the guy who makes it that it crashes on first start

the world size is unfortunately not changeable, simply because it's impossible to generate this kind of world in one-shots
it can't be done realtime, so it needs to be generated in passes.. in the future this can allow us to make rivers and lakes
and of course, the holy grail, erosion
the bottom line is, just like crysis takes 4-5gb, age of conan is 13gb and blablabla... hard drive space is cheap, cpu-time isn't =)


the last post here describes a possible fix for your missing openGL support
http://forums.steampowered.com/forums/s ... ?t=2507910
Note: The testclient.log file should tell you the cause of your error though

from looking at the specs of HD 46xx series, you should be able to run the game just fine (OpenGL 3.2 support)
http://www.amd.com/us/products/notebook ... specs.aspx
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Procedural block world project

Post by TESLACOIL »

@ Gonzo

have you tracked CPU core usage ? eg on a core by core basis

It may be possible to utilize idle cores to munch stuff in the background, think precompute \ predictive computing. Or at the very least off load non graphical stuff on to idle cores.
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Re: Procedural block world project

Post by 1000101 »

TESLACOIL wrote:@ Gonzo

have you tracked CPU core usage ? eg on a core by core basis

It may be possible to utilize idle cores to munch stuff in the background, think precompute \ predictive computing. Or at the very least off load non graphical stuff on to idle cores.
Yeah, the OS does that for you so your post/point isn't helpful or useful, think research \ fact checking. Or at the very least consider that the person you are talking to may know more on the subject than you do. I know gonzo has working knowledge (ie, he's done it) of multi-threading but I have never seen a single line of useful code of yours.
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Procedural block world project

Post by Gonzo »

everything that is worthwhile to parallellize already is, my only issue right now is that individual tasks sometimes take more time then it should, and so im left with having to optimize, or possibly doing the task in 2 steps.. i don't want to do that, of course
but i might have to as the complexity increases
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Procedural block world project

Post by TESLACOIL »

your project is pretty impressive, way beyond my skills

I do however need to code up a mini kind of minecraft for one of the navigation modules & the fine object manipulation of my AI so im particularly interested in your project.CPU Issues, block limits etc, I played a bit of mine craft myself. Epic legoland fun it was too.

With something like minecraft there is no getting away from the fact that's is computationally heavy. Lots of Cores, lots of ram and a good GFX card pretty much essential. http://www.cpubenchmark.net/singleThread.html They also list gfx cards

IMHO minecraft type worlds have a big future. The blocks may not get that much smaller anytime soon but the block dressing, physics & the gameplay are all attractive areas of development. Its the malleability of the environment which is key. Crysis almost looks real but you can never escape the fact that you are in a cardboard cutout version of reality. I remember watching somebody on youtube blow up a huge tower of blocks and the presenter having to look the other way because looking directly into the explosion would cause his pc to hang, lol. The future may well include GFX cards whose architecture is specifically optimized for mine craft type worlds.

Maybe get sponsorship from AMD , a free 8core piledriver with every copy of the game ...there sales figures have been down recently ...don't mention knights corner (MIC):-p
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Re: Procedural block world project

Post by 1000101 »

@ gonzo:

So I've been playing about with this the last couple days but I can't seem to get crafting to work. I can turn mossy stones into cobblestone but I can't make a work bench or any of the other items listed in crafting.txt - Am I missing something?
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Procedural block world project

Post by Gonzo »

1000101 wrote:@ gonzo:

So I've been playing about with this the last couple days but I can't seem to get crafting to work. I can turn mossy stones into cobblestone but I can't make a work bench or any of the other items listed in crafting.txt - Am I missing something?
unfortunately, gameplay is and have always been something that you could call "tacked on"
i experimented with crafting, then stripped out quite a few things as the network protocols were added, then changed, and later massive-ized (for lack of a better word)
bottom line here is, that no, you're better off using the blocks.txt file (if it's there, if not use http://fbcraft.fwsnet.net/blocks.txt)
and then using /give command: /give id count

gameplay is probably going to be worked on during next year, as things are finally calm again... rendering is still not good, but i have more or less given up optimizing.. the current GPUs seem to be perfectly made to run boring first-person-height-map based games :)
that's not to say it's easy for gpu makers to make anything that can render voxels.. it's not, but that isn't an excuse from my perspective
so, it's on the list.. next december maybe all the systems are in-place and working
the most work from now on will be on the server side, which isn't my problem :P
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Re: Procedural block world project

Post by 1000101 »

Glad to hear you have plans for development. I look forward to playing with future releases.

I have been playing with it as-is. I've sort of "taken over" one of the giant mushrooms and have been "redeveloping" it.
Post Reply