pixelguys / cubyz Goto Github PK
View Code? Open in Web Editor NEWVoxel sandbox game with a large render distance, procedurally generated content and some cool graphical effects.
License: GNU General Public License v3.0
Voxel sandbox game with a large render distance, procedurally generated content and some cool graphical effects.
License: GNU General Public License v3.0
The player should somewhat float in water and heavier fluids.
Some blocks should be divisible into 8 sub-blocks. ()
The player can use a chisel(or other tool?) to remove one of the sub-blocks.
When the last sub-block is removed the block drop is created.
Requires #68
The protector block protects a chunk from modifications by another player.
Protector blocks can be shared between players, to allow team play.
Additionally a weaker version(that allows placing some blocks like torches) of the protector block can be owned by bosses. This allows protecting a dungeon until the player defeats the final boss.
I would like to use voxel models for flowers and grass.
The current rendering system uses parallax raymarching for voxel models. This may not work very well for grass and flowers which are mostly air and have lots of detail.
Flowers/Grass would add a full layer of raymarched geometry on the ground.
Additionally the grass/flower models would have lots of details.
So overall parallax raymarching might be too expensive for this.
If this fails other approaches, like billboard textures, need to be considered.
Block placing is already implemented, so this should be relatively easy.
I came across this repo looking for a minecraft clone that i could mess with that wasn’t too big like terasology.
Anyways I made a new eclipse workspace and imported all three of the projects into it. No errors.
I then proceeded to build and run the client, only to find that the slightest movement of my mouse would cause the camera to violently spin around, making it impossible to do anything.
Any possible fix for this issue?
P.S. my OS is Windows 10 home.
The player should have some freedom of movement depending on the resistance of a fluid/gas.
Additionally to a rotation, there can also be multiple torches inside the same block, like in the java version.
Requires #68
The near plane is currently at 0.1. It needs to be that high to avoid z-fighting in the distance
This is problematic at the surface of water or foggy blocks:
There should be a proper sound system with the following features:
The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec are missing or invalid
The player should and other entities slide along walls. And not fall through the ground.
The player should slide over ice and move slower through thicker air/fluids.
Walking is fun, but the world of Cubyz is gigantic. So at some the player will need a faster way to traverse the world.
Flying is also fun, but I want to give the players a reason to build things on the ground, and what better way to do that than building a rail or road network?
However building roads or rails can be quite tedious, when you need to build for thousands of blocks.
So maybe I need to add some automation tools?
Additionally there is the question what destinations the player needs to visit more than once? So between what places does the player need to travel?
This is a list of all assets(textures, models, sound/music) Cubyz already has or still needs.
Make sure to check the style restrictions of our textures before contributing.
If existing, the current version is shown.
Many textures on this list are only placeholders and need to be remade.
If you want to create one of them, comment on this issue or do so on our discord server.
The general format of the textures is 16×16 (apart from special models). No other resolution will be accepted.
Notice: This list only contains things that are already in the game. If you want to create a new item/block/entity, feel free to suggest it here on github or on our discord server. New suggestions are always welcome!
(Temporal) Image | Name |
---|---|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
(Temporal) Image | Name |
---|---|
![]() |
|
(Temporal) Image | Name |
---|---|
![]() |
|
![]() |
|
![]() |
|
(Temporal) Image | Name |
---|---|
![]() |
|
![]() |
|
Beginning Empty | Middle Empty | End Emtpy | Beginning Full | Middle Full | End Full | Crack | Icon | Name |
---|---|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
A given civilization (usually) only use the building blocks that are available in the region.
A structure in the desert should be built from sandstone. A structure in the forest should be built from wood. A structure in the caves should be built from stone.
So I want to have a structure generator that takes a few common materials as input parameters as well as some secondary parameters like style or technology level.
Then the generator should make buildings out of the given blocks. These don't necessarily need to be unique, but some amount of variations would be desired.
The idea would be to draw all chunks past a certain distance to a cubemap over the time of a few seconds.
Then the cubemap gets drawn behind the rest of the terrain.
This should reduce the number of triangles drawn, as well as the complexity of the fragment shader for distant terrain, at the cost of temporal inconsistency.
Not all LOD should be cubemapped however. Otherwise the effect probably gets too visible on faster movement.
So at first It said that a new server version was avaible and then all ok I cliked play and it didn't pass from there
Entities are technically present in the game except they are not rendering, this issue will be for anything about making entity rendering.
Requires #88
Fluids and gases should be stored and simulated outside the normal voxel volume.
3 proposed solutions would be:
This code needs to be ported from the java version.
Entities should be roughly split into a body, an inventory and an AI.
The AI determines the goals of the entity.
The body determines how targets can be reached (swimming, walking or flying) and some general stats of the entity.
The inventory determines what tools and attacks the entity has.
All combinations of these should be allowed and additionally the player should be allowed to take control of different bodies.
Sub-tasks:
To allow more details and artistic construction, we could make the block size smaller (to 1/2 meters or 2/3 meters). However this would require the following changes:
The game should have some flood-fill based ambient lighting.
Minecraft's lighting algorithm is fairly simple, however it is also fairly limited due to only having 16 different light values and 2 light channels. This means that the light is not colored and a torch can at most light 16 blocks in one direction.
In Cubyz I would like to have colored lighting (e.g. colored light sources and colored light absorption through glass).
Additionally I would like to have long range interactions. Especially for larger caves minecraft's lighting model looks wrong because torch light cannot reach the opposite wall.
Now bother of these come at a heavy performance cost. 3 more color channels would increase the cost by 3×
Increasing the light range by 2× would increase the cost by 2³ = 8×
Rather than doing lighting on a per-block level, it should be done at a larger scale.
This can be done with a coarse graph structure of the transparent volumes, and traversing that graph on light updates.
Store column-wise runlength-encoding data.
For each run we only need to store one light value, remaining values are inferred from the block properties and the distance to that light source.
When there is multiple lights that hit the run in different places, then the run should be split into 2 smaller runs.
In the World Selection Screen there should be a button that leads to the world creation screen.
There the player should be given the opportunity to choose a name.
When creating the world a few files need to be created. And then the world can be opened just like in the code for the world selection screen.
installed 18 java, but said "it`s old need 11 at least not 8"
Inspired by the Aether there should be some islands in the sky a few thousand blocks above the player.
There will be some unique structures and bosses.
Reaching the sky biomes should be easy while flying (requires #71)
Additionally there should be some mountains that connect to the sky.
A player will eventually try to climb "that giant mountain in the distance" leading to the discovery of a new world.
The sky islands should not be visible from the ground, until the player gets close enough.
At the current state this requires some changes to the engine to allow generating terrain up there.
Just like a normal bag, you can throw things in at the top, but if you want to search something in there, you have to start taking things out of it.
In the game the bag would be represented by a single item slot, where you can access the top-most item in the bag, or put new stuff into it.
Overall this allows expanding the inventory, while also encouraging some strategy when it comes to inventory management.
Which items do you want to access quickly? Which items can you just put into the bag?
Internally this can be represented by a Stack data structure.
In the future, there could also be capacity upgrades to the bag.
Collision doesn't seems to work at high coordinates (~1.8-e7 x/z)
This is important for entities and block ticks.
There are a few possibilities, ranging from a simple system like in minecraft to inverse kinematics.
I would prefer the latter.
Textures are fairly repetitive when seen on a flat surface, so it would be good to have some sort of randomness to them.
This can be seen in minecraft, but it is limited to a small number of blocks, like stone(→ flat texture) or grass/sand(→ random texture).
Because of that it may be a good start, but doesn't work in all cases.
This can be seen on the cobblestone texture in the java version. While this definitely helps, the texture still looks somwhat repetitive, due to the fact that the borders of all texture variants need to match.
The idea would be to only apply a layer of white noise to the texture. This would be fairly cheap, but it would only work well for noisy textures like grass/dirt/sand.
This approach can be seen in the procedural_attempt branch or in seperate repo I made to experiment.
In these I used a few layers of simple noise, and as you can see that worked quite well for some blocks:
However it ultimately failed due to poor performance (an extra 4ms per frame) and because it was too limited for the crystal block and cobblestone textures which require more detail.
Larger textures, such that still only 16×16 are drawn per block, would make it repeat at a larger scale.
However these textures would not match at the sides. (which hasn't bothered anyone in minecraft, so it could be a non-problem)
Additionally no artist would want to make giant textures by hand, so a procedural system is needed.
Each chunk should keep a list of tickable blocks.
Each tick for every a random value is compared against the probability of that block. When that's true, a callback function will be executed for that block, given the chunk and the position inside of it.
This requires #76
This would require storing a list of all inventories for each chunk.
See the TODOs in rotation.zig
. Some functionality from the java version is still missing.
There should be a special item (wings?) or equipment that allows the player to fly.
Apart from faster travel this also allows the player to reach the sky and there could be air battles with some enemies or bosses.
I think the progression should be similar to terraria, where each pair of wings has a different flight duration and speed.
In some cases when you are looting from low to high the loot stays mid air. They only fall when you destroy all nearby blocks, I assume it has something to do with the hitbox and the method used to fall.
Another thing I noticed is that sometimes when I destroy a cube of any material and falls, when it lands on a stone cube, the icon of the loot falls in to the stone making the icon visually not seen but still able to collect it if you go near it.
Not sure how that would work out precisely.
But in general the should allow going towards some targets and there should be specific functions for attack patterns.
Additionally the AI should be generic such that one could switch the AI to a different body.
Hi there
Could you please support Cubyz to run on an android device?
Thank you so much!
The game should have a skybox consisting of dynamic stars, the sun and maybe some clouds.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.