About Factini

2024-03-16

This entry serves as the "about" page for Factini, my canvas based belt game written in Rust and compiled to WASM.



You can play Factini here.

About


Factini is free tiny web based belting game where you combine parts to create other parts.

The game is inspired by Factorio, a massive factory / belting / crafting game. A similar game is Mindustry (100% free on many platforms, including Android).

The difference is that Factini is much smaller in scope ("factory mini") and clearly less polished. It was a learner project for me to get to know Rust better.

It was written in Rust, compiled to WASM, and runs completely in an html5 canvas in any modern browser.

Gameplay


I tried to make the game easy to use without needing a textual manual but if you really get stuck and the IKEA manual is insufficient (or you just don't want to play) then here you are.

Conceptually it's a very simple game: craft items by dragging their machines onto the factory floor and connecting belts to them.

Machines only take items from a belt and only put items onto a belt, so machines next to each other do not transfer items.

Basic inputs from the bottom menu should be dragged to an edge and have an infinite supply. Craftable items on the right will create machines when dragged onto the factory floor.

The items you craft can either be used as inputs for other machines or you can drag a belt to the edge to create a special output receiver.

Quests


On the left side there are quests for you to fill. As you fulfill quests you unlock new items and even new parts of the game.

You fullful a quest by crafting the demanded item and transporting it to the edge. As you drag a belt onto the edge you'll see a special cell that can receive these items. As you send more of thees items to the edge you'll see the quest progress. Once it's complete, magic happens and usually more things unlock.

Interface


As you progress you'll get a speed menu, a quick save/load menu, and a maze. The end goal is kind of to fill the maze.


The AI button will serve as an example. It will only create machines for quests that use basic items so at some point it won't do anything. A bit of an artificial limitation for technical reasons more than anything else.

There are also buttons to undo, redo, and clear the factory floor.

The second button toggles the game in fullscreen mode.

Touch


The game supports touch interfaces, so tablets and even phones (although it's probably too small for phones).

On a touch device the interaction is slightly different insofar that a touch will immediately draw a belt where a mouse is drag-and-drop.

The paintbrush button toggles between creating or deleting belts. With a mouse you can also use the right mouse button to delete belts.

Goal


The end goal is to fill the maze as quickly as possible.

Certain parts you craft serve as inputs for the maze and control fuel, speed, capacity, and strength. The "improved" items will make the bar fill up faster than their regular counterparts.

If you're like "what maze?" then keep playing. It won't take long :)

Mods


This game is very easy to skin. The source code will be available and the images, items, and tech tree can be easily changed to something different (please share!).

In fact, most assets of the game are configured and can be modified. Let me know if you'd like to see anything else there.

There's a hidden "debug" page that has a lot more detail and control over the game. It allows configuring all kinds of settings, tracing, debugging, tech tree visualization, etc.

There's also a secret menu with some minor debug things but you'll have to find that on your own ;)

Art


Most of the art was created by Jack Kimberly, including the main screen, the logo, the belts, the buckets, the items, and some of the buttons.

The remaining art comes from online free resources and are public domain. Many of the button icons come from iconfinder.com. The golden badge and the orange factory was created by AI :)

I basically nine-sliced and rotated/mirrrored/reskin the input art to make what it is now.

The images are compressed through tinypng.com.

Future


I currently have no plan to work on this game. But if there's a big bug or anything let me know and I can take a look.

If you're an artist and would like to make the game prettier then by all means please let me know. It should be easy to replace the art without having to recompile anything. Just check out the source, update the config, and throw it in a browser. Happy to help.

You can find the game here.

Let me know what you think! :D