Low Poly Space Adventure

Thanks guys, yes this is a cycle render but since there is no big render magic to it, I am convinced this is totally BGE capable!!

By the way Ill post videos when I completely made the ‘nature spread scripts’ clean.
Right now you can overload the planet with plants until your computer explodes :smiley:

Great idea and art style. Will there be alien life forms?

Thanks artists!

well this is a pre render I am currently aiming my work at.

I am having some problem with atmosphere: martin upitis atmospheric scattering would be ideal but you would have to put scripts on every tree and grass halm for it to work and that is just too much! My computer already explodeds when I overload the planet with plants :smiley:

I am still working on a more elegant way for plant spread which uses lists for every planets polygon!
After that I’ll work on a story which implements a tutorial into regular gameplay.

Until then, nolzett

PS: @ haidme, there will be life forms ranging from cute little bunnys to bestial octi-kraken-bunnys

Nice! Don’t use lists for this,use dictionaries they are way faster.

Ok thx for the tip I thought lists are easier because there are just values! I would have looped through them with the polygon_index but if you say so…

You can put everything in lists in the beginning and then convert the lists in dictionaries. For frequently accesing information dictionaries are maybe 5-10 times faster than lists. When i converted my LOD lists to dictionaries I achieved 20-25 more fps in my game it was nearly unplayable until then.

Seriously? How - lists are just variables placed in array that have it’s index and value. Dictionary at the same moment has name too. And it still has index and value for the variable. How can it fast it up? Maybe it is due to python data structure? I doubt that it acts the same in other languages…

Most of the time you will access dict by key and you will not need to loop trough like in the list. Dict is way faster in any language - it is common knowledge.
Ofcourse there are cases that lists are better, like when you need something for a very little time, create a list use it and then destroy it.

Well, that really depends on how the list is implemented and what kind of operations (random read/write, sequential read/write, increasing/decreasing the capacity). If the list is built using arrays, then the random access to the list (that is getting a value from the list by its position) is faster. That’s because the access is a jump instruction to a memory location instead of what a dictionary does.

A dictionary is an hash map. An hash map is like an array but instead of using an ordered sequence of integers as indices for the elements in the list, it uses integers computed using an “hashing” function applied to a value that represents the key (it can be a sequence of characters, a number, an object, it depends on the library).
The hashing function, given the key, computes a memory address that is the location of the associated value in the hash table/map or dictionary.

This sort of data structure, this dictionary, is commonly said to be “faster” than a linked list made with memory nodes because the computational complexity of accessing a random value inside the dictionary is constant (O(1)), which means that the total amount of operations that the computer has to do to find the value is constant - usually quasi constant.

The same operation, with the aforementioned list, has a O(N) complexity, where N is the numerical order of the element in the list relative to the first node (that is 1 for the first element, 2 for the second, 3 for the third…N for the Nth), because to access the Nth element you have to go to the first one, then jump to the second, then to the third (all this to read the memory address of the next node) and so on until you reach the requested index - the integer index acts as a key for the value.

If the list is implemented using an array - an array being a sequence of memory blocks all of the same size - then jumping to a random element in the list has the same complexity as accessing an element of the dictionary, because you compute the memory position multiplying the index by the size of the memory blocks (which is an hash function by the way).

Bear in mind that you won’t really notice any difference until the data size reaches a certain threshold, modern cpus have big predictive caches that make jumping around close memory locations ludicrously fast

:smiley: thanks guys!

I solved the issue with lists because I use indexes which I loop through, @pgi I have about 2000 polys I loop so the list is just that big
Also the list is only used once ‘nature spreads’ which means the energy value (0-100%) of the planet is updated which happens rather rarely.

Ill keep you guys updated

I really like the style, I like the footsteps, love the ‘completed’ looking planet, i like the ‘spreading’ of the greenery. I really like exhaust(smoke) effects of the rocket. A video showing some of the features in action would be awesome, How many planetary systems are you planning on having. Will you encounter ‘hostile’ planets. Space stations that you would have to dock to to acquire more supplies would be neat. You could go lots of directions with this. Nice job. A video of it in action would be great.

bestial octi-kraken-bunnys

we have to find out the dna for such creatures and make them real. we can build an entertainmentarea and we can name it “not-jurrasic-but-octi-kraken-bunny-park”. we will make millions of dollars alone with the merchandiserights.

You can try and make alien life forms like in Spore game. But instead you build them, they are created randomly and uses a number of predefined body parts, which are different for each planet.

HAHA you guys are mad!! I am hardly finding time to continue and trust me, getting the looks right has frustrated me many times ^^
It would be just A LOT easier if everything was programming by itself :smiley:

One thing for hostile critters: It is very very hard especially for me to do pathfinding on those spherical planets… I might just leave things friendly :slight_smile:

have them follow a path the player leaves?(if it does not have line of sight to player)

if the player moves fast enough, and the next node is removed
before he reaches it, you lost it?

I am sorry I confused you!
I meant that I would “keep” things friendly to make everything simpler.
have you ever tryied pathfinding on planets? Well the enemy flips over in the southern hemisphere if you do it with logicbricks
and I am not going to work on a python pathfinding sry

By the way Blender gave me python which gave me programming skill which gave me the idea of creating an OS ^^
I’ll post the .blend tomorrow and say goodbye for a little while.
I might post a few non-game related projects but game making is only possible when the project is not too difficult.

anyway thank you guys for your support
without you guys, galaxonaut would have never made a step out of his rocket :slight_smile:

bye nolzett