
About
Factoryhub is a grid-based factory-building prototype inspired by Factorio and Satisfactory, developed in C++ with OpenGL (via GLFW). Over six weeks, and entirely on our own time outside of class, our team of four built a custom engine and gameplay system from scratch – focused on production chains, resource logistics, and factory expansion.
As project lead and gameplay developer, I designed and implemented the core mechanics, including the conveyor logic, factory behavior, world generation using Perlin noise and much more.
Project Info
- Role: Project Lead & Gameplay Programmer
(conveyor systems, factory placement, Perlin map generation) - Team Size: 4
- Time Frame: 6 weeks (independent side project)
- Language: C++
- Graphics: OpenGL (GLFW)
🎮 Introduction
The player is dropped onto a tile-based world populated with resource nodes. Using the UI, they can place:
- Mines to extract raw materials
- Factories to refine or combine them
- Conveyors to transport items across the map
- A central base where stockpiles accumulate
As resources pile up in the base, the game unlocks new buildings automatically – encouraging long-term planning and optimization. More complex materials often require two or three input components and multiple production stages.
🧩 Unlocks occur when the player accumulates 10x the cost of the building in their central stockpile.
🧠 Core Systems
Conveyor Logic
- Tiles carry items in real time across the grid
- Factories automatically pull from adjacent conveyors
- Items are rendered as simple shapes for performance clarity
Factory Chain Design
- Tiered production: simple ores → components → advanced materials
- Each building has specific input/output behavior
World Generation
- Entirely procedural using Perlin noise
- Resource nodes distributed by biome and rarity

🎨 Design & Tech Insights
This project pushed our limits in:
- OpenGL rendering pipelines (custom shaders, buffers)
- Building a game loop from scratch (rendering, updates, input)
- Designing gameplay code using abstract classes, inheritance, interfaces
- Balancing performance with visual clarity for a complex tile system
🧪 The main challenge was mastering raw OpenGL – building camera systems, tile rendering, and batch drawing without any engine support.
📤 Source Code
👉 GitHub Repository:
https://github.com/ArthuryanLoheac/FactoryHub_Mirror
📚 What I Learned
- How to implement clean gameplay systems in C++ using design principles (OOP, interface separation)
- Building a rendering engine with OpenGL + GLFW from scratch
- Procedural world generation using Perlin noise
- Designing user interfaces with custom rendering logic
- Managing project scope, coordination, and polish in a team without supervision
💡 Biggest takeaway: Learning to optimize a fully custom OpenGL engine and still ship a playable, structured game prototype in only six weeks – all while balancing other classes.
