Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Project Shine (with my own humble procedural 3D game engine)

A topic by FearCode created Feb 15, 2023 Views: 4,980 Replies: 80
Viewing posts 1 to 50
(67 edits) (+4)

Hi! Solo dev here working during free time in a quite ambitious project, it's a 3D survival, with lots of open topics yet to be decided.

I've been making everything on this game from the stratch, including its game engine (I call it Biomancer) to the music, going through art and gameplay mechanics. 

The Game 

  • 3D Survival
  • Base on a Dystopian Future & Computer science fiction storyline
  • Settlement creation, you can build houses and furnitures via the internal game engine's procedural tool.
  • Everything will be procedurally generated.
  • Anime characters.
  • The game is being developed with my own humble engine and my own editor (so they are 3 projects in one actually)
  • X Factor - I will reveal upon Alpha release

This is the biggest indie game I've ever created, my objective is to create something that will resemble a AAA game. The game has lots of inspirations in titles like: Skyrim, Prototype, No Man's Sky and Minecraft.


The Team

I, me and myself.

Since I love making game engines (and I do that for a living) I'm creating the game from my own humble engine.

  • Game Design: Me
  • All Programming (Gameplay/Engine/Graphics/Physics/AI): Me
  • Music: Me
  • Art:
    • Me procedurally generating it for static art like props and nature.
    • Me rigging, skinning and animating models created by merging (and procedurally modifying) multiple pieces from assets created by online artists, (The full credits will be available once alpha is released,  because right now I'm still deciding which ones to pick)
  • Sound effects: not yet decided.

The Game Engine

My own indie 3D Procedural Game engine: Biomancer


I'm first developing the Game Engine, but parts of the game may come in parallel as well.

Image Samples

Here are some screenshots:





The very first Screenshot:


There is the very first screenshot of the base model that will be the base for all models (female at least) rendered by my engine.

As you can see, the model is plain and not animated, loading it internally from blender was the first step of many, things may evolve slowly since I'm making the engine.

Sorry for the blurs in the image, those parts are fully modeled, and I'm not sure if the game will be 18+ or not, that's a possibility not yet discarded.

Another detail you can see is the background which simulates the sky procedurally. The black ground is just nothing, since the sky right now is just a dome that covers everything but the ground.

Game Progress/Release Dates:

Current development is at 23.6% complete.

Path for Sandbox Pre-Alpha release is at 88.0% complete.

Releases Dates
Sandbox Pre-Alpha October, 2024
Closed Sandbox Alpha June, 2025
Open Sandbox Alpha (Unconfirmed) August, 2025
Closed Sandbox Beta September, 2026
Open Sandbox Beta (Unconfirmed) December, 2026
Closed Pre-Alpha June, 2028
Open Pre-Alpha September, 2028
Closed Alpha:April, 2029
Open Alpha: September, 2029
Closed Beta: March, 2030
Open Beta: September, 2030
Closed Release Candidate: November, 2030
Official Public Release: December, 2030
(5 edits) (+1)

Colors!

I updated the shader to render with colors (it was a plain boring white so far). The model has no texture yet, its all vertex based colors.

Again sorry for the blur, I fully modeled those areas as said before because I'm not sure if the game will have any NSFW content in it (as a side feature).

Just as a refresher, I did this by making my way from a "notepad" to what you see, using my own engine, that's why the graphics won't be fancy like unreal or unity.

I'll get her some proper skin appearance, right now it looks like a doll...

Side note: These post are not time accurate, meaning it does not represent the actual stage or pace of development but rather the pace in which I have time to update this log.

(2 edits) (+2)

Skin! 

In previous update you saw her skin was not resembling skin at all, but not anymore:

This was achieved with a proper skin shader I did, this means the game will render the model based on the color I have set for her skin and the current lighting environment to make it look like actual human skin. The procedure is called sub-surface scattering which is just a "fancy" way to describe how light bounces on and in your skin (also happens in plant leaves and certain types of rock like salt)

Here is the off/on comparison:


much better, right?

The engine also calculates direct scattering from sunlight, here is closer look on her hand making V:


I just kept short about the technical details on how the effect works, but if anyone is interested I can go deeper in a special post.

Thanks for reading my update, and until next update :)

(1 edit) (+2)

Animations!

No T-pose anymore, I had animations in blender but my engine was not able to load them.


Not anymore, it supports skeletal animations, next step is to load 2 set of animations independently:

One for facial expressions and another for body animation, this will be a very important aspect of the game in future as you will see.

(+3)

This is cool, what is the focus of the engine?

(+2)

Oh, Hi Joyless!

The engine is specialized on 3D open world. These are the features it currently supports:

  • 3D Model import (FBX, OBJ, DAE, GLTF, Blender and more...)
  • Skinning
  • Physically based lighting
  • Global illumination
  • Antialasing
  • HDR rendering
  • Runtime scene management (you can edit your scene graph at runtime)
  • Collision detection and response
  • UI creation
  • Deferred rendering
  • Audio
  • 3D sounds
  • Procedurally generated sky (atmospheric scattering)
  • Procedurally generated terrains
  • Population rendering

No particles yet (weird right?) that's because I'm still studying the best solution to create the particle system in the game. 

So the engine is still very small but it's growing bit by bit. 

Another reason why I chose to make my own engine is because the game may be highly procedurally generated, and being able to to that with in low level will make it easier and very efficient.

Thanks for the post brother, I really appreciate!

(5 edits) (+1)

Side Log  - Language Barrier

Funny side log not exactly a full update but still sort of an update with a funny story.

If you haven't realised yet, English is not my first language, and one of the problems that us second-language english speakers have to face frequently is detecting names that may have some unnitentional possible meanings...

A name of a NPC in my game I was considering was Packer, then I took the stupid decision of searching for images in case it was a commonly known brand or something similar (to avoid conflicts)... And I had to see lots of plastic dicks, safe search was on, and for some reason these were all still popping onto my face...

A lesson was learned: Packer means penis prosthesis.

Another word for my english vocabulary never to be forgotten.... That's it, have a nice day...

(3 edits)

Put some clothes on!

Finally doing it for the poor girl. Look how happy she is now:


Lots of issues like z-fighting, weird bone wrapping, lack of double faces, some abnormal vertices weights.... And well, just plain white clothes!

But on the other hand, you can put any clothes you want (as long as you have the clothes in question, ofc), this will be a feature in the game.

Here are her in some other clothes.

The technique used for this is skin remapping. 

Now that she's properly dressed, what about... hair?

Lets get her some hair over this pretty bald spot next!

(1 edit) (+4)

Wanna buy some math?

This is a topic for math lovers, if you don't like, sorry,  please just read the next paragraph as it's the only part that may be interesting to anyone.

The game will have lots of procedurally generated NPCs. The process is quite simple: from a list of "generation references" do a interpolation between 2 extremes. For instance, one reference is "BodyGen|Gen.Cheek" as you guessed this describes the model's cheeks, 0 in there means very thin cheeks while 1 very thick, and 0.5 would be "avarage".

There's a total of 26 references that can vary between two extremes, so first interesting fact is that there are virtually infinite possible combinations, meaning each generated model is almost completely unique, since between two real numbers there are an infinite amount of numbers.

So the problem is that real life is not 100% random, we usually don't have a population of completely random visual traces, there's a distribution and a "standard" statistical range of each body part dimension. There is a statistical model that describes probability of something in a population, it's called Normal Distribution.

Here is an exmple of a estimation of pizza delivery time in a custom population of a specific city:


Taken from this nice article: https://statisticsbyjim.com/basics/normal-distribution/

Here is the formula for that graph:


My mean is 0 and my standard deviation is 0.2.

So, what I needed is to remap that my system, so 0 and 1 are the extremes of my graph, so they get low probability while the middle is high probability. In other words I had to solve the equation for f(f(x) / 2.0), which gave me the following result:


and that's the equation used in the game.

Show post...

Hmm, pizza 🍕 

(+1)

XD

Dang, that's actually so cool! This post has me hooked on the project, keep it up!

(+1)

Thanks man! I wasn't sure if I'd post more math related updates, but your support made my mind!

(+2)

Hair has grown!

Finally the female model is presentable:

You see, our hair does not reflect light in the same way as other parts of our body.


Hair belongs to special type of reflectance materials called Anisotropics, which is just a fancy name for saying that it reflects light diferently according to each direction and location, observe how its specularity shifts across each strand.


Of course, I gave it a cartoonish touch not to make it look very realistic, all to avoid falling in the uncanny valley and also because my humble engine can't handle it XD

I'm not a professional artist, I'm a graphics programmer, so I'd love to hear any feedback on the art side :)

And here is a sneak peak of what's coming next...


Game is around 6% complete and 14% ready for alpha release.

(+1)

I would like to know more about it 🙂

(+1)

Hi! 

The game itself is in very early stages of development, I'm still testing several gameplay possibilities, the most fun to play and the most feasible for me to implement in my humble engine without taking too long.

That said, What is decided for sure is that the game is a 3D open world RPG sandbox-like with surrealistic backstory. Most likely will be 3rd person (I still swing between 1st and 3rd, not yet decided). 

There is a big selling point I'm trying to implement in the game, but it's not yet complete and I'm not sure how much of it will be computationally possible, specially for a solo developer to implement by himself, that's why I'd rather not reveal it until I'm sure I will be able to deliver it, that's the X factor I described in the first post.

Hopefully I gave you a minimally accepted answer, as for now I have more questions than answer myself, I'm sorry about that, but I expect to come up with more detailed info in the upcoming months.

Thanks man, I appreciate the interest.

(3 edits)

Making the Maker

The game needed an visual editor and now I have this:

It's getting good enough be a character editor, will ease the process of creating all possible combinations for each race in the game.

I hope soon to  start posting videos, because things will be better presented if animated

Game is around 7% complete and 16% ready for alpha release.

Expression from face and body

So far she could only animate her face and/or body as one, meaning if she laughs her body needs to have a "laughing" animation. But not anymore, now she can laugh and dance, jump or even punch someone at the same time. In other words, now we can have different sets of animations playing simultaneously.

Here is an example:


3 independent animations at the same time: winking, smiling and posing :) 

Game is around 8% complete and 18% ready for alpha release.

(2 edits)

Everything is procedural!

One of the main points of the game is that everything will be procedurally generated.

Organic models will be partially, but static objects like nature and buildings I'm planning to make them 100% generated procedurally.

Here is the first iteration of the trees, dry without leaves for now:


I added it to my game editor so I can create procedural profiles which are like "themes" for each procedurally generated element in the game.

If you are curious about how the tree generation works, it is simple:

  1. Generate a cylinder for the main trunk
  2. Generate a cone in the top of the cylinder
  3. For a few random positions in the surface of the cylinder:
    • Generate another (Branch) cylinder with a fraction of the parent cylinder.
    • Generate its cone on top 
    • Repeat step 3 recursively for each sub-branch.

What I described above is what we call fractal generation. Lots of things are still missing, but the main idea is done :)

Game is around 8.5% complete and 19% ready for alpha release.

(3 edits)

Perfection is about imperfection

The procedural dry tree I presented in the previous post looks too unnatural, like a bunch of sticks glued into each other.

One key feature is missing to achieve good looking procedural nature: imperfections, aka, noise.

Now the branches are distorted according to a noise function I created for the game.

I also applied the same concept in the tree's procedural texture:


To make wood texture look more like wood.

Next is to make the game generate leaves for the tree.

Game is around 9% complete and 20% ready for alpha release.

Making a 3d game especially the graphics and assets is quite hard. Good luck 👍

You're right! Coding the graphics is also a challenge. Thanks, man!

Deleted 190 days ago
(+2)

Thanks a lot! I plan to go through the properties in a video, but haven't had the time to properly make it. As a fellow solo dev, you know how solo game dev is hard, right? So many fronts we have to tackle

Deleted 190 days ago
(+1)

Yes, it's quite nice to have complete independence (hence the name indie game dev.)!

I'm making my own engine because I love this part, I already do it for a living, but yes it's specially hard to maintain your own game engine, thanks for the acknowledgment! Personally, what I find most difficult is marketing and social-media stuff, It takes too long for me and I always feel like I'm missing something.

(3 edits)

We can't leave the leaves out

Sorry about the stupid title, but hey! Trees can have leaves now:

The editor can control how many leaves, their sizes and their properties like shape and color:


Well, to be more precise the editor controls how the generator randomizes the trees.

How are the leaves generated in the code:

  • Make a bezier Spline along the Y axis
  • Tesselate vertices in it and in the Y axis itself
  • Triangulate the vertices.
  •  Mirror-copy it to the other side of the axis
  • UVs: goes bottom-top and center-side direction.

Game is around 10% complete and 22% ready for alpha release.

We just hit the 10% mark!!! Yay! ᕕ(⌐■_■)ᕗ ♪♬

(5 edits) (+1)

Make some noise

You see, a good procedural generated game needs noise to make it look more convincing. So I pumped up the engine to support a full noise generation system:

Here is a screenshot

You may be wondering: "What is this crap used for?"

  • It's the soul of a procedurally generated terrain (spoiler: this is what is coming next).
  • Can be used to add realism to physical textures
  • Can describe small flunctations in water waves
  • Can be used as a base for Smoke simulation
  • Can be used in Cloud generation
  • Much more...

That's why I had to add a special module in the engine just for it.

Game is 11.5% complete and 24% ready for alpha release.

Side Note: we have a Alpha release date: November 15th of 2024! 

This date may change in future, If all goes well it could be sooner? hm... I wish I could dedicate 100% of my time to it :(

(+1)

Make it terrain

I got a noise texture generated by my noise editor (from the last post) and created a Terrain from it:


This is a fully procedurally generated terrain, just the first plain version. I have it coliding with the FPS camera correctly.

One may think this doesn't seem much but there's a lot going on behind the curtains, the LOD calculation is done through the GPU using a tesselation shader:

The game is 12% complete and 25% ready for alpha release.

(1 edit) (+1)

Physics in game is... different

Hey, did you two bodies can occupy the same space and time? In games, they can, and if you don't account for that you will get this:


So, what happened in there was that I mistakenly inverted the collision response normal vector, which pushed the camera into that box center, forcing the camera and the box to have the same position, once that happened the distance between both became zero, and in physics, dividing by distance is a common and frequent operation, so what happens when you divide by zero? So far in my engine that meant infinity, so yeah... in a split second the camera had a force of infinity applied to it, resulting in it getting tossed like a meteor outside of existence... quite a poetic bug :') 

Here is a zoom at the camera's position, observe how its Y position starts around 13, and then gets crazy really fast.


I changed the behaviour of my engine to take division by zero as nan (not a  number) so I can easily debug this scenario (it's more complicated that than, but that's the general idea).

So yeah, as you can guess I've been busy with the game's physics system:


The game won't explore physics system like the new Zelda or anything like that, its physics will be rather simple, that's why I'm just doing basic collision detection/response myself :)

The game is 12.5% complete and 26% ready for alpha release.

(5 edits) (+1)

Infinite land, no boundaries.

Pick a direction and go, in the game you will be able to walk forever and never face any invisible walls.

This is possible because as you may already know, the game is virtually 100% procedurally generated.

This is me walking in a straight line for 5 minutes:

This is one key aspect of the game I'll make sure to put extra effort: I want to give the player the freedom to run, jump, fly anywhere for as long as they please, this feature will be bound to a storyline, so there will more to explore about it, as of right now, this is rough and need lots of polishement.

The game is 13% complete and 27% ready for alpha release.

(+1)

Infinite procedural forest

Here is what's like to be surrounded by an infinite forest entirely generated by code:

What you see in the video is the player initially surrounded by 10800 trees, I said initially because the game regenerates the trees in real time, so in fact you are inside of an infinite forest, the "re-generation" starts to kick in in the second half of the video, although you don't actually feel it, all you notice is you that you are inside of a huge forest.

Being infinite is important for the game, because I want the game map size to be infinite, there will "bases", towns, entities, along the way. 

Performance is a key factor in here, so there are lots of optimization to keep the frame count around 60 FPS (You can see on the top-left corner of the video).

This is the fast motion version of me running in the forest (The GIF quality is terrible due to upload size limitation, I recommend you see the video above instead):


Another cool stuff about this, is that everytime I re-shuffle I get different trees.

Now I'm going back to character design, I hope to have to a character editor to show you guys in the next updates :)

The game is 14% complete and 28% ready for alpha release.

(4 edits)

Character Customization is coming...

This is going to be a sneak peek for a feature that makes procedurally generated characters possible as well as the character customization.

Yes, you will be able to customize your character in game, this is the very first prototype:

Here is a low resolution gif of the video above:


I will list all the possibilities, but I can tell in advance that: height, body parts, skin color, eyes shape, nose, cheek, eyes colors, hair color and hair style will be fully customizable.

In future, I expect to have a more detailed explanation on how it works and all its capabilities, maybe in a video?

The game is 15% complete and 29% ready for alpha release.

(2 edits) (+1)

Don't take anything for granted

The biggest downside building your own engine are the tiny little features we usually don't even realize they exist, although I have a special love for developing them, unfortunately these details are not super exciting to talk about.

These last days I've been working on the dialog system. Things like, dialog open, progress, text reveal animation... A visual novel engine has these features for free, and people don't realize how complex this can get behind the curtains.

So here is the first images of this effect:


I had already developed the font loading and text rendering, but I had to glue all the pieces together to have the dialog system. 

I'll have to spend some time in here as this topic still have more to be done: A dialog editor in the engine, localization framework, user interaction and etc...

I'm planning to post details about implementation in a later stage when I have an alpha build released, so right now I will dedicate all my free time towards developing the game almost exclusively.

The game is 15.5% complete and 30% ready for alpha release.

(+2)

Hello! Been following this project for a while, and I just thought I'd recommend that if you haven't already to back this project up in multiple ways, both online and physically if you can! I've just followed too many game dev stories where they end in some sort of file corruption to not say something about it.

(+1)

Hi! Yes you are right! It's been  6 years of work in total, I can't simply afford not being careful.

I work using 2 different machines and I have a common ssd drive connected between both to be able to share files between these 2 pcs, this drive is where the repository server is located, plus I backup the server every week in an external drive. So I have 4 different copies of my work, 2 clients and 2 servers. Unless two different places catch fire at the same time, I shouldn't lose my work anytime soon XD

Thanks a lot for the concern brother! I really appreciate it

(+1)

Shifting gears to Artist mode

These last days I had to go back to Blender to adventure myself again as an 3D animator. 

The game was in need of lots of basic character animations, such as: running, jumping, getting hit, falling to the ground, combat stance, basic attacks and more...

I'm working on the basics for me to be able to have a first gameplay iteration ready as soon as possible.


I also need basic facial animation, but I'm not done completely rigging her face yet. So that will come in a later update.

The game is 16% complete and 31% ready for alpha release.

(1 edit) (+1)

Starting the gameplay

Back into coding! Now I set a priority of something to play with.

This last days I've been working with the basic camera controls and animation tweens.

You can see it on this video (sorry for the low res. the game was one pixel less than 720p and youtube downsampled it to 480p 🤦

I've been busy but not with super shiny stuff as you can see, I'm still building brick by brick, it will be shiny in the end :)

Oh, yeah and she blinks, I did the animation myself. I'm so proud I finally learned something from 3D design :D

The game is 16.5% complete and 32% ready for alpha release.

(1 edit) (+1)

Planning & Estimation Review

These last days I've been working on basic gameplay basic features, like player logic and camera controls.

However the big update this time is that I have gone through every single future game feature extensively to review all tasks I have done and plan the ones I have schedule to be completed, this is to better estimate when and how the game will be released.

I will repeat this process again in future to make sure planning is realistic and estimations are accurate.

Here is the result breakdown of my plans:

  • The game has 758 Tasks in total.
    • 330 Code Tasks
    • 428 Art Tasks
  • In general, Code tasks weight ~60% more than Art Tasks, making code 56% of the total game work and art 44%

The Game will have 7 Major Releases:

  1. Sandbox Alpha - Released when the project is at 35% Total completion
  2. Closed Alpha - Released when the project is at 63% Total completion
  3. Open Alpha - Released when the project is at 83% Total completion
  4. Closed Beta - Released when the project is at 95% Total completion
  5. Open Beta - Released when the game is feature complete
  6. Release Candidate - Release when the game has all major and most minor bugs are fixed
  7. Official Release - Release when all bugs are fixed

One big change is that I decided to split the first Alpha release in 2, making the first release a Sandbox version of the game. 

Unfortunately this estimation review process revealed 10% more tasks tasks than what I had previously planned.

However, that's not a set back because thanks to the fact that I split the alpha in 2 we are a lot closer to a playable build than before.

This means the first Alpha will be released 6 months sooner: around May of 2024!

Now with the new estimations: The game is 14.9% complete and 38.5% ready for alpha release.

And here a footage of the basic run ability I was working these last days, so you have something to see as expected :)


(+2)

Cool!

Thanks brother! I'm glad you liked my project

(2 edits)

(ง •̀_•́)ง Fight System - Part I

Sorry for the delay, I had to travel to visit my parents, didn't have much time for anything else during the last week. 

But now we're back! ᕙ(`▽´)ᕗ

This is one of the three main features of the game. Because of that, this log will be the first part of a lot of upcoming updates (maybe 20 or more, they won't be posted in sequence as I will bounce among different features of the game).

The first important feature of the Fight system is the Camera and enemy targeting, like other 3D games, you will be able to focus on a target when pressing a focus button (Z or R button in a controller for instance).

This is how it looks as of today:


Notice that I start in a free-camera, and once I press the "focus button" the camera locks to the target.

To be honest, I actually press 2 buttons, the focus button as discussed and another "engage button" to make her go to fight mode (like drawing your sword), this is because it will be possible for you to target both foes and friends in case of dialogs for instance. 

I know, baby steps, but brick by brick we will build a great game, you will see :)

The game is 15.3% complete and 39.6% ready for alpha release.

(+1)

(ง •̀_•́)ง Fight System - Part II: Jumps

Jumping animation and physics first round is now complete.

Now the character is able to do:

  •  a regular free jump
  • fight side jump (dodge)
  • fight backflip (also as a dodge move).

Here are all jumps:

In the next phase, I might pause the fight system development to switch back to the Editor to work on some low level UI for the menus in the game.

See you in ~10 days with more updates :)

The game is 15.7% complete and 41.0% ready for alpha release.

(1 edit) (+1)

Don't take anything for granted - pt. 2

Another very basic feature present in any game engine is GUI (Graphical user interface), every menu you see in a game is powered by a GUI system in the engine.

So my engine has it, but it looks like this:


As you can see, it's an user interface for Game Editors, not for an actual Game.

So these last days I got busy making very basic features for a simple GUI for a game, right now I have a very simple ui:


First version, no actual game design in there, just getting the UI system to work :D

And yes, keep it low, but... we may have a name for the game... (ノ◕ヮ◕)ノ*:・゚✧ Shine Fall! Not official yet, so just between us for now :)

The game is 16.3% complete and 42.5% ready for alpha release.

(2 edits) (+1)

Want More Math?

These last days I've been working on enabling gamepad support and fixing bugs. Nothing super exciting, but one of the bugs I fixed had me use some math to solve,  so I decided to share with you guys.

If you hate math, then the update may end here for you as the rest may be very boring, so see you in ten days :) If you wanna stick around a bit longer I'd be happy to walk you through the game's LOD tesselation equation:

You see, the main landscape terrain is very low poly, but the closer it gets to the camera the more its faces get sub-divided to make it high poly. However some computers can't handle high polygon tesselation while others can, so we need a  render quality settings in the game to dictate among other features, the tesselation level, I came up with 5 quality tiers for the game, thus 5 tesselation equations:


X axis represents the distance (in meters) from a point on the terrain to the camera.

Y axis represents how many polygons the tesselation generates for that face of the point the camera is looking at.

This means: the higher Y is, higher the quality of the terrain. 

The red curve is the highest quality tier of the game, then the orange, blue, green and finally purple, the lowest quality but fastest render.

Keep in mind that tesselation is capped at 1 meter for all points, meaning, if the terrain is closer than 1 meter, the tesselation amount does not change.

I came up with this formulas by pure empirical analysis, which is basically a fancy way of saying I punched several different approaches until I got the most out of it :D

Hopefully this update sparked your interest. Thank you for reading and see you in the next one :)

The game is 16.7% complete and 44.0% ready for alpha release.

(+1)

Wonderful work!

(+1)

Thanks for the long time support, friend!

(+2)

(ง •̀_•́)ง One Punch Girl (Fight System Pt. 3)

Back to the Fight System once more, making attack physics, animation and camera framing.

Here are the current results:

Will an attack be strong like this? If you level up enough, it maybe even stronger :)

Sparks, sounds, damage and particles are missing... Right now we have the bare minimum for me to advance to the next step.

There's a new Planning & Review cycle coming up next, estimatives will be updated. 

So far, I presented some very vague concepts about the game, I will return with a few more solid information in the next update, expect to see 4 of 5 main features of the game. The last one I'll review a bit further down the line because it's so bold I'm not sure how I will deliver it, so please stay tuned :)

The game is 17.4% complete and 45.5% ready for alpha release.

(4 edits) (+2)

Planning & Estimation Review 2

It's time for a new estimation review, the good news is that not much has changed in terms of time estimation. 

The release plan still has the same amount of steps, however they are a bit different now:

  1. Editor Alpha
    1. Yes if you are not aware yet, I'm doing this game from the very scratch, including its engine & editor.
    2. This release is a demo of the Game editor I'm making to be used to create the game.
    3. In future this will be the modding tool.
  2. Editor Beta
    1. At this release, the editor will be feature complete.
  3. Game Sandbox Alpha
    1. As it says, Sandbox version of the game, not actual quests and story (if any) will be bare minimum.
    2. This is just to get a feeling of the gameplay.
  4. Game Sandbox Beta
    1. All gameplay features should be finished at this stage.
    2. Lots of polishing will be needed though.
  5. Official Alpha 
    1. Actual game with most of its story.
    2. Not all features though\
  6. Official Beta
    1. All features + full story
  7. Official Release
    1. Game is out.

  • The game has 1402 Tasks in total.
    • 719 Code Tasks
    • 682 Art Tasks
    • Coding Tasks are in general 1.5x bigger than Art Tasks, making 61% of the time dedicated to Code and 39% to Art.

The Game

As promised let me give you a small sneak peak about the 5 big pillars of the game. Yes, the game is around 5 main features. Today I will disclose 3 of them, the other 2 I will need more time to research if they are feasible given my timeframe and limitations.

1 - Procedural Infinite worlds

Worlds will be procedurally generated from ground up, props, textures every static object will be made 100% by code, no AI here though, I'm coding the world through random seeds based on the character name, so in a sense, a game you start will be exclusively dedicated to you.

Also thanks to procedural generation, some worlds (I say worlds, because the game will have several of them) will be infinite, it will be dystopian like Backrooms, but you will have your safe home to always return to.

2 - Settlement Editing

You will be able to create your own home, and settlement for your companions in the game, details are based on another pillar revealed later.

The main idea is to scavenge resources to build your own tools and constructions.

3 - Professions

There will be 4 types of profession a player or NPC can specialize (you can be a professional on multiple fields too). Of course a Fighter is one of them, but not all professions will be action based, some will be creative professions. I'll go into details about each profession in future, so please stay tuned :)

Pillars 4 and 5 will be disclosed soon, I'll still trying to see if they will be possible to implement, unfortunately I don't have all the time and resources I need, so for now I need to take that into account before promising anything huge.

In short, my objective in this game is simple: I'm trying to do a game so epic that I want to make you question yourself if this is really a game done by one person. Will I be able to deliver it? I'm a game programmer for a life, I know I can do it, the problem is, as said before, time and resource, still I'll make sure this flame does not vanish. ᕦ(òᴥó)ᕥ

After this Estimation review, the game is 17.5% complete and 48.5% ready for (editor) alpha release.

(+1)

I believe in you man! 🥳

(+1)

Brother! As always, your support gives me strength! I'll do my best!

(+1)

If you ever need any tips, whether it be for game design or motivation, or if you even ever just need someone to talk to, I'm always here! My Discord is thetominator64

(+1)

fr sent, thanks!

(+2)

This is looking good! And very cool that you made your own engine!

What programming language did you use to make it?

(+2)

Thanks man! I'm using C++

(+2)

I'm getting hyped up!!!!!!!

(+1)

Editor Data files

After last planning section, the objective is to make the Editor as powerful as possible before diving into the game itself, even the first releases will be only about it.

For this and the next few updates I may present more technical topics of procedures that usually are taken for granted on existing engines out there, with the only exception being me switching back to Art mode to produce content for the editor itself. 

One of the first challenges I'm facing right now is this:


That is one of the 3D model files I have and it's already over 180 MB of space, it takes almost half a minute just to load it to the game.

Well it was before I fixed the problem, it turned out that I could remove lots of redundant information, optimize the mesh geometry and reduce animation key count based on linear distribution. Also in order to improve the loading time, I had to create the engine's own data format:


The file size was reduced by 89% and the loading time now takes less than 2 seconds.

I made a whole data file editor in the editor, I called it pak maker:

Now every non-procedural art component of the game is packed compressed and optimize for fast loading during the game.

The game is 17.5% complete and 50.2% ready for editor alpha release.

(+2)

Hey FearCode! This is crazy ambitious and its super awesome to see all the progress you've made. If you need music or sounds hit me up! I'd love to relieve that burden off of you for being a solo dev and all. I'm really liking that last gif, the trees seem to have great variety so far :)

(+2)

Thanks a lot man! It's been quite a challenge indeed!

I am a noob composer myself,  I'm doing a handful of songs for the game. Now that said, I do plan to get some professional help for trailers, cutscenes and such. So maybe you could be quite helpful in there, how can I find you in discord?

(+2)

Hey! No worries at all :) Hit me up anytime, my discord is Jake#6384

(1 edit) (+1)

Procedural Texture Editor

A few posts ago I presented the engine's noise editor.

Now I will show you a more techinical version of it I just finalized:


Sorry for the choppy animations and low resolution, the maximum upload size for these gifs in here is quite small.

What you see is the texture shader editor that is capable of creating procedural textures with random inputs that may create different results each time it's executed,  I may do a video explaining this deeper in future if you are insterested).

With this I conclude the first iteration of the engine's texture making system.

In the next update I might reveal the engine's name :)

The game is 17.6% complete and 52.3% ready for editor alpha release.

(2 edits) (+1)

Welcome to Biomancer

The Game Engine now has a name:

Props to Kory (https://www.artstation.com/kory), the amazing artist who created the image from the engine's Splash screen/About window.

The proposal of Biomancer is to create procedural generated "organic" game content (as of "create organic from machine" ), thus its name and Kory's amazing art, this will be essential in the development of Shine Fall.

This will be the last update of 2023, I'd like to thank you for accompanying my project through this year and we will continue in 2024 at full speed, cheers!

The game is 17.75% complete and 54.5% ready for editor alpha release.

(1 edit) (+2)

Procedural Geometry Making (pt 1 of 3)

I've been working on Biomancer's Procedural Geometry Making tool. This allows you to create procedural 3D surfaces visually.

The objective here is to author 3D content that can be customized and randomized by the gameplay, it's like a simplified version of blender but for programmers and what you create can be changed during the game, like making a table with different amount of legs or different shapes or amount of edges, you can do it for the player to make his own table or for it to be randomized to make variations of it.

This is the first of 3 iterations, in the next one I will show how to make parametric surface via code. See you soon :)

The game is 18.0% complete and 57.0% ready for editor alpha release.

(1 edit) (+2)

Procedural Geometry Making (pt 2 of 3)


Biomancer (the procedural game engine I'm creating with and for this game) now can create 100% procedural surfaces via its own scripting language, I called it Biocl

The language resembles a mixture of C#, C++ and GLSL, it runs on top the Lua interpreter in the editor and gets converted to C++ automatically when exported to the game.

The purpose of this is to add static 3D procedural assets a props to the game,  keeping my promise of bringing 100% procedural environment to the game.

On the next and last stage I hope to add Marching Cubes to the table to add way more possibilities of procedural surfaces.

The game is 18.8% complete and 60.0% ready for editor alpha release.

(1 edit) (+1)

Procedural Geometry Making (pt 3 of 3)

Today I finished the engine's procedural model maker and, my friend, this is huge. I wish I the had time to do some procedural art to demonstrate the sheer size of this feature (this will come once I switch to developing the game rather than the engine).

For now I can only show you the basics, this is a semi-torus, or half of a donut:


And this is a box with very soft edges:


And lastly, this are some stairs generated from a extrusion operation from a 2D stair:

Remember these are all generated with math.

Now with the engine latest functionalities, I do all sorts of combinations, like unifying all of these 3 into a single object:


How about combine the donut with the stairs but remove the box from it after:

What about unifying the box and the stairs and removing the donut instead:

Too rough? How if I "smoothly" subtract the donut:


I can also change how I generate a 3D surface, remember the stairs were generated via extrusion, this is how it looks if instead I generated it by a 3D revolution along the Y-axis:


And finally I can also apply some distortion to any 3D shape. This is me twisting the soft box a bit before unifying it with the stairs and removing that donut from the center of it, leaving a hole:


I plan to support this feature in the game itself for settlement and building creation.

This was a big one, we are getting close to a year of active non-stop development of this project, next update we will be celebrating it :)

The game is 19.4% complete and 64.0% ready for editor alpha release.

Is this like minecraft but smooth?

Yes there will be something like "settlement editing", and the way you create it is still open, but nothing is off the table, so yes it may be like minecraft but smooth.

(1 edit) (+1)

1 Year of Shine

Project Shine is now officially 1 year old, at least publicly (I've been working on it a bit longer than that, and the engine work itself started even earlier).

A lot has been done this last year, we had basically a humble game engine as an API and now we have:

  • A working Editor (Biomancer)
  • A tool for creating procedural textures
  • A tool for creating 3D procedural geometries
  • The system the handles infinite procedural levels
  • A really fast population rendering system
  • 3D Skinning with independent partial and full animations
  • A basic physics system
  • A Procedural Character Editor
  • Some Character art I adventured myself in blender

I hope to release the first public version of Biomancer at 2024-08-15 according to my current estimator.

After that we will have another public release of it (Beta) and then we will start the Game as a sandbox, to finally progress to its actual official releases.

It will take years until it's finally fully released, but I already paid Steam for a game submission -_- (how stupid I am to do it this soon, I couldn't hold myself).

This is the 10th game I'm making, all the previous games were successfully finished, and this one is the biggest project by far, that's why I'm taking estimations really seriously here, after all this is the first AAA-like indie game I've ever done.

In this next year, you can expect the Level editor to take off, as well shaders/material editor and enemy maker.

We are at 19.9% complete, so I'll round it up to 20% just for the one year party! ୧༼ಠ益ಠ༽୨

The game is 20.0% complete and 65.5% ready for editor alpha release.

(+1)

Where can I find your other projects?

(2 edits) (+1)

I put this in my itch page to explain why:

  • Although I haven't posted most of my old games in here because they are... well... old!? They need to be updated to be minimally acceptable to my today's standard (the only exception is Cycloid, it's silly old and I really love that stupid game - I had to test publishing a game in here too, right?)

To be more specific, they are all over 10 years old, I would like to update them before reposting, but you can still download one of my ancient games in here, it sucks though, it's 16 years old and I was totally green when I made it, just published this one because I have no plans in updating it.

There's also "Missing", my stupid horror game that went viral back in 2013:

 Unfortunatelly it's currently down, I plan to remake it before re-publishing it.

I wish I had more time to show some love for these games, but my free time is fully allocated to Project Shine at the moment.

Sorry not giving you a more satisfying answer :(

(+1)

Dang dude, you got one of your games played by Markiplier? Well done man.

(+1)

Thanks! Although it was back in 2013 before the indie game boom, it was not that hard to catch youtube's attention as a indie game dev, the funny part is that I made that game to play locally with my friends taking rounds, it endded up famous in youtube thanks to my girlfriend (now my wife) idea's to publish it.

(+1)

Going Through a very long Tunnel

Our development train is now going through a vastly long tunnel: Refactoring the physics system.

The current physics system is old and rudimentary, it does not even support relatively basic stuff like rotational mechanics, custom mesh collision and ragdoll physics.

So we are remaking the physics module, I may use PhysX or some full physics sdk otherwise I'd take forever to remake it.

This was part of the roadmap as my current physics engine is over 10 years old, so the time has come to replace it. 

I'm basically working on transplanting this module, so nothing is building correctly right now, hopefully next update we are out of the tunnel so I'll have some cool screen captures to share.

The game is 20.3% complete and 67.7% ready for editor alpha release.

(3 edits) (+2)

New Physics System & Estimations/Dates

Wow, this was quite a big refactor in the game engine, we now have a brand new physics system. Faster, better and all kinds of shapes are now supported.

Gameplay mechanics are not fully upgraded yet, I'll leave this part for after Biomancer (game engine/editor) release.

I'll be back to Biomancer itself to start the level editor next!

Now...

ESTIMATIONS!

To be a bit different this time, I'll disclose some information about the release dates according to my planning calculations.

There are 10 releases planned for our roadmap.

  • 2 first releases are the Game Engine release.
  • 2 next releases are a sandbox version of the game, with almost all gameplay mechanics available
  • 6 last releases are all related to the game itself.

I'm still considering if I'll release as 3 different projects or not.

Here is the estimation breakdown:

TOTAL ESTIMATION Bug fixing tasks (Est.)Tasks  Left                 Release Date                      
Biomancer (Editor) Alpha 10 129 2024-08-20
Biomancer (Editor) Beta 10 312 2025-07-27
Sandbox Alpha 0 484 2026-12-13
Sandbox Beta 10 332 2027-12-10
Closed Alpha 0 276 2028-10-01
Open Alpha 90 0 2029-01-19
Closed Beta 0 219 2029-09-15
Open Beta 90 0 2030-01-03
RC 80 0 2030-04-13

This are quite artificial estimations, they were generated by spreadsheet calculations based on how much of my free time I can dedicate to this project. Later down the line, after the first release, I plan to open it for collective funding and if all goes well, I may be able to dedicate more time to it, as I always wanted and expedite.

The game is 20.6% complete and 70.0% ready for editor alpha release.

(+1)

Material Editor

I'm back developing the game engine, this time I completed the first iteration of the Material Editor:


Sorry for the choppy animations, all due to the size limitation in here.

Right now you can customize color, roughness, metalness and sub-surface translucency, I'll add more options in the next iterations.

Now for the next weeks I'll be back on the 3rd and hopefully last iteration of the engine's 3D procedural geometry generation.

The game is 21.0% complete and 72.6% ready for editor alpha release.

(2 edits) (+1)

Procedural Art Maker

As I promised, the art of the game will be 100% procedural (with the only exception being part of the characters only).

On these 3 part update I did a procedural geometry editor via coding, which is nice but not very useful as an Art tool.

So, I'm solving that by upgrading that scripting tool to work directly via 3D editing:

Now it's real time, unlike before, you can see how you can combine in lots of ways several 3D shapes into one.

In that GIF, I combine that ellipsoid with the rest of the surface smoothly creating a pleasant curvy look. There's also a"stairs-combiner" that literally create stairs in between the Ellipsoid and the other shapes.

For that I used a math concept called Signed Distance Fields. I can dive more in details about it in the next updates if you want :)

Keep in mind that this maker is not ready yet, there's more features to come. Now imagine the possibilities! And just you wait once I get into domain repetition.

(I said domain repetition, not domain expansion, but it's going to be as cool as domain expansion, I promise)

The game is 21.4% complete and 74.5% ready for editor alpha release.

(+1)

Infinity

A very important aspect of the game is the infinity. Some levels will be infinite, and for that I will need a math concept called Domain repetition:

With that I can repeat any procedural geometry in any way I want.

We are getting close to release the first alpha version of the Editor.

The game is 21.7% complete and 78.9% ready for editor alpha release.

(1 edit) (+2)

More Design Possibilities

Sorry for taking too long to post this update, I had a lot going on in these last few weeks.

However, I haven't stopped working in this project during my free time.

So I've been adding a lot of functionalities for the 3D Editor.

I'm planning to port all these to the game itself so the player can create anything in game via this procedural editor, this will make content creation much easier and way more fun!

Here is me playing a bit with it in the editor:

The game is 22.1% complete and 84.5% ready for next editor release.

(3 edits) (+1)

Planning & Estimation Review 4

It's time for another round of estimations review.

This time decided to change one big thing: Instead of presenting the game engine as a release, I will present the Sandbox (Demo) version of the game. This is because if I take your precious time, I'd like to make the most of it and show how the game will look like instead of how the tech behind the curtains works. The issue was that from my engineering side, 75% of all work is going to the game engine rather than the game itself, that's why I felt like releasing the game engine/editor first. However from a marketing perspective, it doesn't make any sense for me to show deep technical features for gamers prior to presenting the game itself. That doesn't mean I'm not going to publish the game engine, I surely will, that is the main mod tool for the game itself, I'll make sure to make it available for modders.

The estimations are becoming more solid each review, now here are the new estimation dates:

Sandbox Pre-Alpha October, 2024
Closed Sandbox AlphaJune, 2025
Open Sandbox Alpha (Unconfirmed) August, 2025
Closed Sandbox Beta September, 2026
Open Sandbox Beta (Unconfirmed) January, 2027
Closed Pre-Alpha June, 2028
Open Pre-Alpha September, 2028
Closed Alpha: April, 2029
Open Alpha: September, 2029
Closed Beta: March, 2030
Open Beta: September, 2030
Closed Release Candidate: November, 2030
Official Public Release: December, 2030

As always, it's important to remember that, these are quite artificial estimations, they were generated by spreadsheet calculations based on how much of my free time I can dedicate to this project. Later down the line, I plan to open it for collective funding and if all goes well, I may be able to dedicate more time to it, as I always wanted and expedite.

As a progress update, I've been working on a Class System Editor, even though very important it's unfortunately nothing visual, so no fun screen capture this time :(

After this Estimation review, the game is 22.1% complete and 82.1% ready for Sandbox Pre-alpha release.

(+1)

Level Editor Begins

I started working on the level editor, it's been quite massive, since the Engine has to accept any type of entity the developer (me) wants to create in future, that's why scripting will play a big role in here. I just started by adding some base classes for the level editor, and making sure they are properly managed, nothing super sparkly.

So not to leave you without anything interesting, here's a weirdly satisfying screen capture of the editor:

The game is 22.8% complete and 85.0% ready for Sandbox Pre-alpha release.

(+1)

Weirdly satisfying indeed!

(1 edit) (+1)

Scripting

I've been busy with a module of the engine called "Class Maker" that allows me to create any entity in the game (like, enemies, camera, NPCs...). I'm creating my own scripting language to help me fully create the game in the engine itself. The reason why I'm creating mu own scripting language is to be flexible and efficient at the same time, as this language will be converted to other languages behind the curtains depending on what is the purpose of its execution call.

Now, not to kill you of boredom here is me creating a 3D House in 3 minutes using my game engine:

I said it before, but I really want this content creation to be part of the game itself :)

The game is 23.6% complete and 88.0% ready for Sandbox Pre-alpha release.

(1 edit) (+1)

Bioscript: The Engine's scripting language.

I'm finishing up the basics of the engine's own scripting language. I believe that it may be complete by the next update. Here is how the syntax looks like


With this language I hope to code the game live within the engine. For that the language is converted to Lua at run-time and to C++ when exporting the game, so it's fair to say that this language is a "scripting" language as fast as C++.

If you are here just to see some cool gifs, I've got you covered. Here is me punching a hole into a solid surface.


Now, this is the same thing but in the middle of it, I make the surface is now hollow inside in a flick of a second:

The game is 24.6% complete and 91.6% ready for Pre-alpha release.