Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 07:30:03 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCyber Factories - Automation/Colony
Pages: [1]
Print
Author Topic: Cyber Factories - Automation/Colony  (Read 1634 times)
smartties
Level 0
**



View Profile WWW
« on: April 17, 2020, 08:47:11 AM »


Hey !
I would like to present you a new project of mine :
Cyber Factories is a Base building game in a 3D voxel world.

Why ?

Something I noticed when I played factorio is that the game becomes hard really fast and it can discourages some players from finishing it. That's why I would like to make a more casual Base Building game, in the next 6 months I have left (before working again). So I will keep the scope small.  


Where and how I will make the game ?

The game will be released on Windows and can be ported on mobile and other platforms.
I'm using my own c++ custom engine based on OpenGL (with the following dependencies : assimp, fmod, SFML).

I don't expect anything from this project other than trying new things I never had the opportunity to do before (deferred rendering, some cool shader effects, releasing a game on steam, new algorithms...).  

Here is a small video of the current gameplay :




You can follow us on Twitter, or on Steam where a free demo will soon be released :  

« Last Edit: April 11, 2021, 01:48:43 AM by smartties » Logged

smartties
Level 0
**



View Profile WWW
« Reply #1 on: April 26, 2020, 10:04:33 AM »

Week 4#

This week I Implemented massive Pathfinding in my game. It can manage 40 000 entities at 60~70 fps.
(I plan to support only 20K entities maximum when I release).





This is a basic map of 1500x1500x128 tiles :

My goal is to find a path from point A to point B.
Running a simple Astar pathfinding can takes 5 seconds in the worst case scenario on this map, so this algorithm is definitely not suitable for managing 40K entities.


I tried to simplify the map by using Quadtree. The results were way better, but still not satisfying. The more collisions there are on the map, the less effective the graph becomes :





Finally, I implemented HPA for the pathfinding, which consists in dividing the map into uniform chunks (in blue) and then pre-computing all the possible paths (in green) between each chunks. Besides building the graph which take 4~ seconds with my implementation, It give result really fast ! Once all the paths are cached, but I do a astar on the node of the graph and at this point it's almost like a lookup table. The worst cast scenario computes a path within 5~10 milliseconds, but most of the time it's under 1ms :


More details here :
https://i.imgur.com/A17eU6H.png gives this graph : https://i.imgur.com/WilwVKx.png
https://i.imgur.com/hzEGOQ9.png -> https://i.imgur.com/LfyFO0J.png

I will later make another iteration of my HPA implementation to make the entities behave more like a crowd, I have some ideas how to do it, but this is not a priority for now.

The rendering part is also important. Instead of computing and sending 40 000 matrices each frames for the entity, I use instanced rendering to only send 4 float to the GPU for each entity (X, Y, Z and an Angle. I then compute these data directly inside the vertex shader). Later, I think I will use 8 float (8x32bit) per entity to store other information such as the size, the color, animation...

Week 5#

During this 5th week of development, I've reduced memory consumption from to 1.8gb to 400mb by temporarily compressing unused chunks(32x32x32 blocks of 4bytes each) with zlib and did massive code clean up.  
I don't have much to show visually this week, so I will show you the process I follow to make the assets I use in my game :



And the result :
https://www.youtube.com/watch?v=1dwTI0gBMkQ

Next week I will be focusing on making a playable prototype.
« Last Edit: July 05, 2020, 07:28:39 AM by smartties » Logged

smartties
Level 0
**



View Profile WWW
« Reply #2 on: May 17, 2020, 10:31:45 PM »

This 6th week of development (after a 2 week pause) I spent most of my time on Artificial Intelligence :
I've been working on making my 40k entities, autonomous with behavior trees (resting the night, building factories, gathering resources... ). 
And Refactoring code to prepare the multiplayer co-op mode.


Logged

Ramos
Level 10
*****



View Profile WWW
« Reply #3 on: May 18, 2020, 01:24:42 AM »

Interesting concept, good luck
Logged

smartties
Level 0
**



View Profile WWW
« Reply #4 on: June 16, 2020, 04:21:08 PM »

I had to pause the development of Cyber Factories for a month, so I could maintain and update two other projects.
So for this 7th week of gamedev I'm back with some small visual changes : Rain and wet surfaces.

I'm using particles for the rain.
And planar reflection coupled with a noise texture to determine the wet surfaces.



« Last Edit: June 17, 2020, 04:06:16 AM by smartties » Logged

smartties
Level 0
**



View Profile WWW
« Reply #5 on: July 04, 2020, 03:06:41 PM »

Again, another two weeks pause  Undecided But from now on, I will have more time to spend on this project.
This week I commissioned proper models for my game. Using instance rendering I can render 40 000 of these animated entities.
Each models have 16 bones and around 800 polygons.



Logged

smartties
Level 0
**



View Profile WWW
« Reply #6 on: July 05, 2020, 07:58:18 AM »




Today I wanted to add some diversity to the game.

I'm using an atlas containing 20 different skins (for now), this atlas (one huge texture) can hold 512 different skins.
These skins are made with my game Exploration Craft who has a built-in skin creator.

Logged

GlacierEclipse
Level 0
**



View Profile
« Reply #7 on: July 05, 2020, 10:30:08 AM »

Absolutely awesome! I'll always support a custom C++ engine and with OGL?! That's my weakness Smiley 
Good luck with the project it looks incredible! I've noticed the really crisp reflections, didn't know about planar reflections, have only personally implemented cube map reflections and SSR, as I read you need to render the scene twice. It seems like your performance is really good so I just wanted to say really nice job with that!
Logged
Ordnas
Level 10
*****



View Profile WWW
« Reply #8 on: July 05, 2020, 10:48:46 AM »

512 skins are quite a lot!  Shocked
Logged

Games:

smartties
Level 0
**



View Profile WWW
« Reply #9 on: July 12, 2020, 03:19:05 PM »

Multiplayer is working.
It's still an early prototype but it gets the job done. I did a stress test with 40K moving units (2 players and 20k units each) and it's working well (both locally and with a dedicated server with 300 ping and a a 50% packet drop). 
There is still some work to do on this part :
-There is room to compress by a 3x ratio, the data sent over the network
-finding a more accurate way to synchronize the time between the players





Quote
512 skins are quite a lot!  Shocked

Yes, each skins use 64x32 pixels and the atlas is a 1024x1024px texture.
I could even use 2048x2048px atlas texture to generate 2048 skins, but this texture resolution is not well supported on mobile, so I will stay with 512 skins.

Quote
Absolutely awesome! I'll always support a custom C++ engine and with OGL?! That's my weakness Smiley
Good luck with the project it looks incredible! I've noticed the really crisp reflections, didn't know about planar reflections, have only personally implemented cube map reflections and SSR, as I read you need to render the scene twice. It seems like your performance is really good so I just wanted to say really nice job with that!

Thanks ! Yes I have to render the scene multiple time per frame. Fortunately, in my case rendering the scene is not so expensive. The game can draw the scene up to 4 times per frame (Normal view + Shadowmap + Water Reflection + Platforms Reflection). The game rendering is capped at 60fps, while the reflection is rendered 30fps. Shadowmap is rarely updated (when I add a new building, and once in a while when I move the camera).
Logged

smartties
Level 0
**



View Profile WWW
« Reply #10 on: July 23, 2020, 02:45:21 PM »

The game Steam page has been approved ! It's available here

Due to the some unexpected events, I will be developing the game 2 days a week and with a release date around Q2 2021.  
I'm still planning on providing a demo soon so I can get some feedback on the gameplay.
And to be honest, the wishlist rates has been low these first two days (most likely because there is not so much to show for now).
So I won't rush it, I'll take my time to make something I would like to play myself.
Logged

smartties
Level 0
**



View Profile WWW
« Reply #11 on: September 30, 2020, 10:15:04 AM »

Many new features have been implemented since the last time I posted here. (New UI, more buildings, huge optimizations...)
We are getting closer to release the demo, hopefully for this winter.   
Here I made a new trailer for the game

Logged

marcgfx
Level 8
***


if you don't comment, who will?


View Profile WWW
« Reply #12 on: September 30, 2020, 05:35:24 PM »

very cool from a technical perspective. not so sure about the art to be honest. I'm interested to see what kind of factory building mechanics you will be adding. good luck on Steam!
Logged

Ramos
Level 10
*****



View Profile WWW
« Reply #13 on: October 01, 2020, 01:42:28 AM »

Nice progress you have
After watching the video may I suggest a larger variety of buildings to make the game seem more organic? I am strictly referring here to the mechanic side of view because I see only 3-4 clusters of the same building types.
Would also be nice to see a video of gameplay with an interface so I can understand better the game mechanics

You plan on releasing it on Steam ?

good luck
Logged

smartties
Level 0
**



View Profile WWW
« Reply #14 on: October 01, 2020, 02:28:28 AM »

Thanks to both of you for the feedback !

Quote
not so sure about the art to be honest
Yep the art does suck for now. I plan to hire a voxel artist to make good looking buildings, if I can get some funding. 
The game is currently capable of handling/rendering blocks 16 times smaller than the one I currently use for the buildings (same size as minecraft). So I could render more detailed buildings in the future.

Quote
I suggest a larger variety of buildings to make the game seem more organic
 
That's a good idea ! I will definitely include the other buildings in the the next trailer iteration.

Quote
You plan on releasing it on Steam ?
Yes, It will be me first game released on PC. But to be honest I don't expect CyberFactories to meet any success. 
From the low wishlist rate I had so far, I already know the interest in the game is really weak. (I guess the bad art could also be a part of this)
If I were to depend on the revenue of this project I would have already stop working, but it's just a fun side project I plan to deliver no matter what.
Logged

smartties
Level 0
**



View Profile WWW
« Reply #15 on: April 11, 2021, 01:46:32 AM »

Hey !
I had to pause the dev for some months to work on other projects.   
But I recently started making progress again. Last two weeks I've been working on conveyor belts and their interactions with other buildings/factories. I think it was the most fun feature I had to implement so far.






I've started working with Voxel artists on some assets and I'm really pleased so far with the process :

Logged

Ramos
Level 10
*****



View Profile WWW
« Reply #16 on: April 11, 2021, 03:59:25 AM »


Yes, It will be me first game released on PC. But to be honest I don't expect CyberFactories to meet any success. 
From the low wishlist rate I had so far, I already know the interest in the game is really weak. (I guess the bad art could also be a part of this)
If I were to depend on the revenue of this project I would have already stop working, but it's just a fun side project I plan to deliver no matter what.

Low wishlist rate? How many if you don`t mind me asking? I see you got 53 followers so I assume the WL amount is under 1k?

Have you considered improving the steam store presentation?
Contact this guy on Twitter: https://twitter.com/GWBycer and tell him you need a review on your store page.
He does videos with reviews on steam store pages, you can get some free precious feedback from him.

You do not need a trailer to start a coming soon page fast but whatever materials you got must be very polished.

For example, the new visuals you showed now are by far better than what you had before, I suggest updating them immediately.

Good luck smartties



Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic