Game worlds that are DIFFERENT EVERY TIME!

Is it possible to make games with worlds that are actually different every time, with a combination of UPBGE (or any game engine) plus procedural tools like Sorcar or Sverchok or Everything Nodes that I keep hearing about?? How??


1 Like

It is possible to have games with worlds that are actually different every time. The best example of this would be a game like No Man’s Sky. All the worlds that are in there are different than any other world in there.

Sounds like you want completely different worlds. To that I say still yes it’s possible. It just depends on what you want to be different and your programming skill. If you are a great programmer you could make a game do anything you want.

As the third part of you question it seems you want to know the easiest way to make the world entirely different. The more different you want each world to be the harder it will be to make it. This is why No Man’s Sky failed. It is super hard to make living breathing worlds that are all super different and fun exciting to explore. Having a fun and exciting world is hard. For that I’d say the best examples would be games like The Binding of Issac and Diablo 2. In those they have worlds that are generated upon play and are still fun to fight in. The parameters are still restricted as to what can be generated. The parameters always have to be limited. In making whatever game you want to make you will have to determine exactly what parameters are going to be shifted around during the creation of the game world.

The reason I say Unreal Engine is because of the modular nature of it from it’s core should make it easier to get the variables to be shifted separated and link them all together.

If you are making a game I’d say consider what you really want to make. It’s going to be art. Having it be fun is most important. Having a infinite number of explorable worlds is not as fun as a small part of a single world that has the right things in it. This is where No Man’s Sky failed. Super vast universe full of things that were just not interesting or artistic.

In making several games myself the most important thing should be to have it be as dead simple as possible. Even when it seems like it will take one week to make it will end up taking way longer to make it fun and artistic. If you are by yourself making a game it has to be super simple to make or you will spend years and years making it. Eventually one gives up and the game might never be released if it’s too complex.

1 Like

Yes procedural world generation is achievable in UPBGE @BluePrintRandom has done something similar Tough using node setups and possibly world sculpting in realtime !!!


i just wanna ask a quick question buddy!

Do u wanna make a Game in UPBGE to prototype for a actual Title or do u just wanna challenge the community with questions abt what UPBGE is capable of doing? :thinking:

UPBGE is its own thing don’t come in ti it thinking everything the Unreal Engine does UPBGE does, if u want Results like Unreal Engine, Armory Engine could be a possible choice for you.

UPBGE is on a league of its own and should not be compared to any other Game Engine just like that , its either u get started and make a quick game or learn the engine at yr own pace or go n look for other engines and make something. (Otherwise should u continue opening up threads like this not many reply’s will come through unless otherwise over time)

All the best buddy take care and Get started TODAY :sunglasses::+1:


1 Like

fred you are off topic and rambling.

~ show me some really nice armoury games I will wait~

it is absolutely possible and not too hard for that matter. just takes a good bit of figuring out. Basically, you need access to mesh displacement which can be done through setting the z position if vertices on a plane. Mathutils has a boise function which you can use to make noise. you can set a random seed for the noise to have a random shape each time the game starts.

1 Like

I’m trying to decide WHICH ENGINE TO USE for things I wanna make, and am hence trying to find out the pros and cons of each. I’m only 1 solitary guy, so…the most capable software I have, the better…yeah?

1 Like

Wow that’s cool! Could you give some details, @BluePrintRandom ? :slight_smile:

1 Like

I use a kdtree to get at quads in space and skin them with a subdivided plane
I use noise to derfom the tiles and then update their physics shape.
I am using a wave modifier to get at recalc normals, however next I need use bvhtree to smooth normals across tile boundaries.

I can also add ‘roads’ that are guide meshes that get cashed into a kdtree, and are used to shape the noise - currently just by seeing if a point in the terrain is near a point in the ‘road’

next up is to use the vertex color of the road point to effect the terrain splat mapping etc.

I made this for everyone for bgmc - so feel free to grab it - it’s in blender 2.8 / upbge 0.3.0 (*prealpha)

Armory wont get u far enough :relieved:


so yeah Kdtree works that’s for sure buddy!


Thanks for all the help, my friend! :slight_smile:

I have no idea what a “kdtree” is, but… maybe I’ll go with UPBGE for now instead of Armory…? :slight_smile: (there’s that matter of pulling stuff off a server as well, that I posted that other thread about - still no response to the same question about Armory…)

Thanx for MAKING something like UPBGE, bro! :slight_smile:

1 Like

@justwannapost Do you understand that @Fred_K.S is not an UPBGE developer :question:

@RandomPerson - please try and make your own projects more and talk about those - you are all over everyones posts like I used to be.

try and grow out of it. (you too fred ;D )

a kdtree is in

you can get a set of points in a radius returned in order of distance - very handy in procedural world generation.

import bge
from mathutils import Vector

cont = bge.logic.getCurrentController()
own = cont.owner

if 'kd' not in own:
    points = {}
    index = 0
    for x in range(width):
        for y in range(length):
            padX     = -(width *. 5)
            padY     = -(length*.5)
            position =  Vector( x + padX, y+ padY, 0 )
            points[index] = position 

    kd = mathutils.kdtree.KDTree(len(points))
    for entry in points:
         kd.insert(points[entry], entry)

    near = own['kd'].find_range( Location, radius)
    #this yields the points in a radus around the player that need terrain tiles or voxel or whatever
    # near[0] =  ( Position, index, distanceFromLocation)
    # near[0] is closest point in radius, near[-1] if furthest

Insulted accepted :wink:
Prepare for BA championship games @BluePrintRandom :slight_smile:

1 Like

Oh right! Sorry! I got the impression that he was!

Is he just a fan, then? :slight_smile:

Fanatic yes :smiley: :wink: He loves UPBGE with a passion :thinking: :thinking: unlike his current projects . . . :smile:

@BluePrintRandom & @ lordloki (:arrow_left: I don’t know which is the correct user here so hopefully the real lordloki won’t get mad at me :wink:) are the current UPBGE developers.