TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


Name

 Human Factory 

 

Developer

 Fire Cycle Games 

 

Publisher

 Fire Cycle Games 

 

Tags

 Strategy 

 

Singleplayer 

Release

 2020-11-02 

 

Steam

 € £ $ / % 

 

News

 55 

 

Controls

 Keyboard 

 

 Mouse 

 

Players online

 n/a 

 

Steam Rating

 Need more reviews to generate a review score 

Steam store

 https://store.steampowered.com/app/1160040 

 
Public Linux depots

 Human Factory Linux [257 M] 




LINUX STREAMERS (0)




Human Factory: the story so far

Greetings, fellow Humans.

Human Factory is coming along nicely. From today, I'll be posting a weekly devlog to let you know how the game is progressing.

But first, let's summarize the story so far.


Q1 2019: Work begins on game project number 2.


Q2 2019: Project number 2 is abandoned in favour of Human Factory.



May 2019:
Began devlog.
Lots of essential planning.
Achieved fully playable presentable basic concept.
Basic Features:
- Humans with functional zombie AI.
- Pipes and Containers.
- Grinders, Analyzers, Toilets, Beds, Feeding Troughs.


June 2019:
More workflow improvements and fixes.

Achieved presentable and much improved programming and a few assets. Achieved better pathing AI for Humans.

Added features:
- Conveyor Belts.
- Trade and Export Boxes.
- Stackable Items.
- Atomizer, Fuel Burner.


July 2019:
Close to finalizing workflow and control improvements.
Major workflow improvements include the Processor component and Item IDs.

Added Features:
- Wires, Batteries and power distribution.
- Pipe and Conveyor Splitters and Mergers.
- Food Processor, Chopper.
- Blood, Skin, Hair, Arms, Heads etc added as placeholders.

We officially present the game to the public at Tenerife Lan Party (TLP) 2019, receiving an award for "Most Promising Indie Studio".

August 2019:
Vastly improved game feel and quality of life with Tooltips, Tutorials, Dialogue, highlighting objects, Encyclopedia etc. Got Human pathing AI up to my satisfaction.

Added features:
Incubator.

We are [were] close to having a demo that I'll be very proud to show everyone.



September 2019:

Lots of cleaning, testing and fixing to get the first demo build out and the store page.


October 2019:
Big changes to Human Factory plans. Even though it would take much longer, I decided to make all the assets myself.
More testing and fixing and measuring the current build. Took a little break.


November 2019:
Remade all the existing art/3d assets myself and some new ones.
Lots of small new features like toilet doors opening and closing, more information on the objects like Progress Bars and Container displays and pictures for the NPC dialogues.
Started modelling new assets in 3d including hair cuts, female parts and clothes.

Now that we're back up to speed, we can start adding new features and content.



December 2019:
Females, random Human generation with different hair styles, skin colours etc. Basic code for genetics. Lights on Buildings, experimentation with rendering and lighting. More testing, fixing and minor changes.


January 2020:
A bunch of new Buildings including more butchery machines and processors like the Blood Drainer. Splitter and merger transports, including smart splitters and filters. Also including the Wall Flipper which changes everything.
UI redesign and implementation.
Sorted and consolidated build with yet more testing and fixing.
A couple nervous breakdowns over bugs, nothing major.


February 2020:
Messed around with baked lighting.
A couple nervous breakdowns over bugs, nothing major.
More on the mountain of stuff like sorting the pause menu, sorting out multiple Containers on one building, vaguely prepping the game for and testing different languages.


March 2020:
Some optimization [or so I thought].
Human mating, pregnancy and giving birth, including the code to inherit stats and cosmetics from parents. Started having fun making the game again.
Lots of modifications to Human's 'Mood', like beauty of buildings, food and of course mating.
Human Chatting and its effects.
Added lots more small features and improvements to Human AI, including a 'Mad' mode where they won't work, will abuse everyone and will throw their poo.

Did a closed Beta testing in a local event and managed to traumatize an 11 yo for life, with their parents authorization, of course.

April 2020:
Made a big update for my other game Blacksmith.


May 2020:
Back to Maya. Made a whole bunch of new 3d assets for future needs. Added bones to feet.
Made the Tentacle in Maya.
Modelled, programmed and animated a whole bunch of new Items and Buildings. A lot of buildings are similar to others so the more I make, the easier it gets.


June 2020:
Back to testing and fixing all the new stuff. Cancelled incest.
Lots of new buildings tested and implemented properly, including the Manual Tailor which needs to be operated by Humans.
Added the Human Filter and updated the Wall Flipper.
Overhauled the quest system. Made a lot of tweaks.


July 2020:
Replaced all the placeholder sound effects, recording our own. Added more bones to and reanimated the tentacle.
Made the Organs and some left over bits and changes I needed in Maya.
Got everything so far working pretty well and recorded and uploaded a trailer and updated the Steam store page.
Modelled and exported ALL the assets I think I will need from Maya for a potential Early Access build. All the remaining buildings, a few more haircuts and clothes.



And here is the Devlog for this week:

Monday 27th July:
Installing the newest version of Unity broke absolutely everything. Getting compiler errors even though the script debugs fine. Tried going back to the old version and didn't work either. Eventually managed to fix it.

Animated the Abortinator.

Sorting out the Animations of each Building. I've changed the heirarchy around a bit (for what I hope is the last time) and a lot of rewriting the directories for each animation. This is especially tedious in the case of all 21 robot arm joints (position and rotation). (... not so tedious if I change the name of the object instead of all the animations. I do like to standardize, but for now I can just do this).

Fixing more little animation bugs as a result of the new system. All Buildings with Transports attached need some attention.

Reanimated a bunch of build animations to try and keep them standardized.

Sorted out all existing objects at Unity's end. Everything needed in the future is exported from Maya's end.

Changed Count Hagendaz' name to Ivan (Interdimentional Vampyre Association). Did this by finding and replacing all but I will also change the names of files as I see them.

That completes everything I needed to do in Maya and making sure it will all work at Unity's end. It's 14:45.

Instead of planning to optimize the Transports tomorrow, I just ended up doing it. Instead of asking every frame if we can move the cargo, we ask that once per second. If the answer is Yes, we enable the 'Moving' bool which is asked every frame to move the cargo. I'm curious to see how this will work... In fact, I just realized I probably don't even need to wait 1 second for each check, since it's probably enough to say 'don't check if you are already moving'. On that thought, I lowered the timer to 0.1 second and we'll see how that runs.

Added some code to try out reversing the X scale of certain buildings. This is so the player can decide which side of the conveyor line the base of their object will sit on. Hopefully it's as simple as that, but we'll see.

Sorted out the conveyor Splitters with the new system (forgot to do them earlier). Lots of fiddly boring work today but satisfying to have it complete.

As well as testing and fixing optimization which I started today, here is what's left on the list before I start adding new content:
- Voices.
- Canvas build floor.
- Canvas selection and manipulation.
- Reprogram Main Menu completely.

I think Tuesday (tomorrow) I can get all voices done and put into the game. Then we'll see how I get on with all the canvas stuff. If I can get all that done this week I would call that a good week. I have a doctor's appointment tomorrow and I don't know how long that will take. 4 things, 1 for each day. We'll see how it goes.

After this week, the plan is to playtest and fix and see again where we are. Then I can start adding new stuff.


Tuesday 28th July:
Decided to get the game running again before making any more changes.

The new Unity version seems to have the game running much better from the Game window. Seems to run as well as it did from the Build exe.

Happy to see the Transports are working on a small scale. Just loaded the scene with transports and it's still running smooth. I'm going to go ahead and say the build is functional and get back to my to-do list. If there are bugs or performance issues I will catch them in due time.

Shuffling the audio stuff down the list as I always do.

Figured out canvas making. Had to try out a few formulas to get the right one.

Got a real pickle today in figuring out how to fill the canvas with floor tiles after I've released the mouse button.

Figured out getting all the pieces of floor to spawn and it's looking and working well.

The next thing is to stop the canvas from happening when I'm overlapping with something. I don't know when or why, but the Hitboxes altogether aren't working anymore, so I need to fix that before I proceed.

Turns out the problem was OnTriggerEnter doesn't work when time is paused. To fix this, I think I'm just going to go ahead and stop the player from doing anything if time is paused, like in normal games. This should save me some time.

Got it all working. This is a pretty big achievement for me! No tutorials! We can now build canvas flooring. There is a bit of clearing up still to do including stopping all control during pause and I need to replace the Transport Frames on the Walls.


Wednesday 29th July:
First task today was to make it so I could build the canvas in any direction. This means on my funky floor building code, I subtract from x and z if it's positive and add if it's negative. The 'if' statement checks for == 0 instead of >= 0. The pricing of the floor space is calculated using Mathf.Abs.


The next issue I have is having the canvas be drawn perfectly in line. At the moment, the canvas corners appear right in the middle of the space for a floor tile, as opposed to matching the corners. I looked into this the other day and it appears finding the nearest '0.5' is rather more complicated than finding the nearest '1'.

The answer in the end was a lot of checking if the number is positive or negative and moving the canvas 0.5 and then moving the target position of each floor tile by 0.5. Some trial and error because I'm not great at maths. 'Rounding to nearest 0.5' was necessary in the end.

Now, the canvas is drawn from the tile you're clicking on, the tiles appear exactly as defined by the canvas, etc etc. It seems to be working perfectly and I'm pretty pleased with myself.


The next task, while this is fresh in my mind, is the delete. I think this should be pretty straight forward.

Delete done! Much easier. Just take the objects colliding with the canvas' hitbox and delete. Adding the shift to include floors was an added bonus [scratch that].


Next one is to be able to select multiple buildings and manipulate them. This could be directly moving, copy pasting, making blueprints (this one is unlikely for now) or deleting.

Selecting the building will be easy, as I can just copy what I did for deleting except just make a list of 'selected' objects.

The hard part will be moving the items. I think it's imperative that the player can grab a bunch of items and move them all together.

Wrote down the Sudocode for how I think this should go. I'll leave it here for you to see.

Sudocode:
- 'Selected Buildings' is moved to the center of the first building selected.
- The selected items are added to the heirarchy of 'Selected Buildings'.
- While this is the case, clicking on one of these buildings will make 'Selected Buildings' the current tool.
- While this is the case, all buildings in the lists' Ghosts appear and their Objects and Colliders disappear.
- The position of 'Selected Buildings' will follow like any other building, and check the hitbox of all the items in the heirarchy.
- While this is the case, releasing the mouse button will return the selected buildings to the 'Building' transform and reactivate them (if all hitboxes are clear).

It's only 12:30 and my head hurts. I'm going to lie down for a bit so I can get this done today without causing a migraine.

I did it! And it's only 2pm! I can select things and move them! Next is to check the hitboxes of each selected item to check if it's a valid move location.

Got the hitboxes working nicely. Grabbing and moving items is nice and easy.

Made it so clicking an object other than a selected object returns the current tool to tentacle and you can start selecting again (instead of having to right click).

Sorted an issue where walls wouldn't intersect. Just modified from the original build wall script, using distance instead of hitbox for walls.

Added rotation for 'SelectedBuildings'.

Made it so selections won't work if something other than a building was included in the canvas.

Removed the colliders from the spheres in the pipes.

Canvas selecting and manipulation done!



It's only 4pm but I have to say I'm really pleased with myself. This was something that scared the life out of me before. But I guess it wasn't so difficult. This should make the game much easier to play and it should be much easier to re-design one's base. Want to move everything alone one bit? No problem!


Planning out tomorrow. I feel like sorting out Copy/Pasting should be pretty simple using the code I've already made. Got a couple other things I want to do: fix the transport frames on Walls and PipeSmartSplitter, disallowing all actions while paused, sorting out saving camera positions and assigning them 1-9 and of course the copy/pasting.


Thursday 30th:

Really feel good about my achievement yesterday. At the beginning of this week I had no idea how/if it was going to work. Now it's done!

Watched a really helpful video by dyc3 on Youtube called 'Yandere Simulator Complete Source Code Analysis'. I kind of used it as a checklist of things to look at in Human Factory.

Culling the animators bought me a few frames.

Made a list of optimizations I could potentially make.

I want to make a game called Yandere Simulator Dev Simulator.


Fixed the Transport Frames on Wall and Pipe Smart Splitter. Sorted the animation on the Pipe Smart Splitter.

Disabled Pausing outside of using the pause menu. That should avoid any time stopping glitches. May bring the feature back if people demand it.


Next is saving camera positions. I just failed an attempt at getting it to work right by misunderstanding the way my camera works.

A little bit buggy, it's not getting the exact rotation right but that's acceptable for now, otherwise got it to work nicely. Saves and loads too. I'll go back to it once it becomes a relevant feature. [I cut the rotation. Just position and 'zoom' is saved now]


Next is to fix the canvas stuff a bit. The function of building/deleting/selecting a single object is a bit awkward. I want to make it so you have to hold and drag a bit before the canvas appears. Then I can finish this chapter by including the Copy/Paste feature which I think will be fairly straight forward.


Got the clicking nice on the Canvas for selecting.

Got it working so I can build just one floor. Much easier said than done.

Fixed for Delete as well. You can delete one object or many nice and smoothly and clearly.

Sorted Copy Pasting. !!!. That was something I was so scared of but now it's done.


There is an issue now with animation culling. The issue is I instantiate the object outside the camera view, so they don't update. On Building single objects, it's easy for me to switch culling mode before and after the 'Build' animation is complete. For building multiple it's a bit more complicated. All I need to do is switch off culling mode until the Build is complete, and while I'm at it I can make it so the buildings build out of sync which will look nicer.


Friday 31st:
Busy morning getting some routine tests done at the hospital. Fairly distracted by real life today.

Compiled and posted this devlog here.

Sorted staggered building for the Copy Tool, so that A: it looks nicer to see all their build animations and B: I can toggle the Animation culling for each object until it is built. This fixes the animation culling issue.

Next up is to reprogram the main menu from scratch since I did it about a year ago and I'm much higher level now.

See you next week for the next Devlog.


I am thirsting for your questions and feedback. Want to help with development? Want to see more? Want to know if the game is really coming out this November? If you want to support us and make Human Factory as great as it can be, the best thing you can do is Wishlist the game and tell your friends about us.


[ 2020-08-03 19:00:23 CET ] [ Original post ]