Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

183 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LB_Banner_Aug21

Description

This project, formally called Little Backyard is a passion project of mine to demonstrate my skills with complex algorithms, procedural noise, GPU Programming, and game design. My ultimate goal for this project is to be published on Itch.io, link here, and be maintained with features that both the playerbase and myself look forward to implementing. This game will be free to play, with pay-as-you-wish donations to further fund development.

In this project, the player is placed in the middle of a procedurally generated galaxy, filled with diverse planets, resources, and alien life. The player does not have a goal by design, this game falls under the "zen" category of games, letting the player simply experience the world around them as a moment to relax from the stresses of the world they wish to escape.

Current Goals

As of September 6, 2024, my current goal is to implement an object pool system for all generated foliage on planets. At the moment, all foliage created is simply a GPU-instanced mesh, letting the player see but not interact with the foliage.

Tree_Devlog2

By implementing this system, this will only have overhead at the beginning of the game, and virtually none elsewhere. All foliage objects will be picked from a pool, and will change their mesh, position, and various properties accordingly as the terrain generation scripts call on them. Once this is finished, the only GPU-instanced mesh will be the grass.

Challenges and Compromises

One of the detailing features that I wanted in Little Backyard was the ability to travel between planets and solar systems with no loading screen. There are many incredible examples of this, including No Man's Sky, however the player is still unable to travel between solar systems, rather only between planets within the same solar system. To tackle this, the player does not move around the galaxy, rather, the galaxy moves around the player. The entire playspace is encompassed in a 3x3 grid of "galactic boxes" - subset managers that govern their own part of the galaxy. When a player crosses the boundary of these boxes, they are shifted accordingly and generate any needed features.

GalacticBox

This means the entire play space that the player can interact with must fit within floating point error boundaries. This puts a barrier on how large the planets can be without encountering either floating point errors or solar systems interfering with each other. There are ideas to get around this, but nothing of the sort has been implemented as of yet.

Demo Video

Watch the Demo

Looking Forward

There is a significant bottleneck in game design, this being the 2D nature of the terrain. Because there is only a manipulated plane, there becomes no possibility of cave systems or overhangs. This can be remedied with a voxel engine, of which I have made a prototype in this following demo. After playing around with the shaders, I have realized there is potential for a secondary city-building game that surrounds this mechanic. Future updates regarding this algorithm will follow soon.

Watch the Demo

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages