Pabrika² - Devlog #1: Art Direction and Gameplay


Pabrika² is my first game for a game jam, and I could not complete it on time. At the very least, I still submitted it to GMTK 2024 even though it was incomplete. The comments on my submission are quite motivating, and I have decided to make this into a long-term project!

🛑🚧 WARNING! 🚧🛑

⚠️ This Devlog Contains a 🚧 WALL OF TEXT 🚧 and MATH! ⚠️

💀 Proceed with Extreme Caution! 💀

🔔 You Have Been Warned! 🔔



Currently, the art style of the game is simple pixel art I made with Libresprite, the free version of Aseprite (I am broke)
I used Pixel art in the game jam because it is the fastest way to create game assets, and since I am making this a long-term project, I have decided to improve my asset-creation process!

🎨 Art Direction
The inspiration for this game is Factorio! (wow! so obvious right?)
I love that game, and I like its art style!
I can replicate their art style but doing so will make this game look like a Factorio clone, and make it harder to make, and I don't want that!
I want this game to take on a unique look. Think of classic RTS games in the late 90's and early 2000's, but with more vibrance, and balance with Solar Punk and Diesel Punk vibes, while giving it the crunchy look of pixel art.

🎮 Gameplay
The gameplay mechanics I originally thought in the game jam were just simple stages, where the player would build a factory that meets certain objectives. Further in the game, you'll start using the factories that you previously built on much bigger factories. 
The core gameplay will be changed, focusing more on tinkering and fiddling, ultimately growing your factory. Stages may still be planned for the game as part of a tutorial story/campaign.

🔧 Asset Creation Process
In the current browser build of the game, each tile has a 1:1 ratio. To give the game a sense of depth, the 'camera' needs to be tilted. Therefore, I need to define the final camera angle for the game.

Initially, I used this formula:


This formula will output a ratio given an angle in radians. However, if I use 30 degrees as the input angle, the output ratio will be approximately 0.866025403784..., an irrational number. This is not ideal for pixel art because the y component will never be an integer, it will just be 1:0.866025403784...

So.. what now?
Simple, just inverse the formula:


Now I can just put my desired tile ratio!
A 32x28 tile resolution will output 0.505360510284 radians or 28.9550243719 degrees.
Not only this is quite close to 30 degrees, it also fits within 32x28 pixels tile!


Here is what it looks like rendered in Blender:


(Does not represent the final art style. model by eracoon from Open Game Art)

The model fits exactly within a 32x28 pixels or 8:7 ratio tile.

Now, how do we calculate the Z-axis?


How high should the 'face' be in Blender given how many pixels upwards from camera's view?

Well, here is the formula:


Using the angle for 32x28 tile as the input in this formula, the z-unit is 2.06559111798, equivalent to one pixel.
if we want an asset to have a height of 4 pixels, we'll just multiply it by the z-unit, which is 8.26236447191.
since the default cube is 2x2, I'll divide it by the x component of 32x28 tile, then multiply by 2. The result is 0.516397779494.

Now let's apply it to the default cube's top faces in Blender:

Now each face on this 'cube' or whatever this is exactly 1:1 on the camera's perspective, and it fits within 32x32 pixel!

📝 Wrapping Up
Now, that’s a lot of technical math stuff, but I want to give Pabrika² the love and care it deserves. That’s why I need to set up a solid foundation for it—because if I don’t do it right, it’ll bite back in the future. I started this project during the GMTK Game Jam 2024, where the theme was “Built to Scale.” Even though I couldn’t finish it on time, I’m really pumped to see where it can go from here.

So, you actually made it through the whole wall of text? Thanks a ton! I’d love to hear your thoughts or ideas. Did my devlog help you in some way? If so, drop a comment and let me know!

Stay tuned for the next Devlog! - MilGames

Leave a comment

Log in with itch.io to leave a comment.