Inspiration
Absolutely never sorting through my Downloads folder.
What It Does
File Factory allows you to create a flow chart for file organization, which then automatically sorts your files while you watch (instead of, y'know, just putting the files into folders or something manually with a peasant file manager)
How We Built It
We wrote a mostly separate backend/frontend for the first half of the Hackathon. The backend C# is portable & uses general C# standard library classes to execute its functions. The frontend Godot allows you to create and connect "machine"s together, which then get parsed into JSON and sent to the backend+visualizer for execution.
While the frontend was in development, backend testing consisted of a single Godot node with a script that runs the backend from a file with no visuals other than a grey screen.
Challenges we ran into
- Godot's C# bindings not having nearly the documentation of GDScript.
- Uncertainty of what technology to use for the GUI -- much time was spent swapping between a few different setups.
- Breaking down the complex idea of machines and a factory into actual object oriented classes which can work together to create the flow of files.
- Art. None of us have much experience with pixel game art (which is the style we're going for in the File Factory visualizer)
Accomplishments that we're proud of
Creating an actually working domain-specific block coding language for file organization!!! It was incredibly gratifying seeing the files in a directory all successfully move into a folder at 2:00 AM after integration hell of uniting the frontend with the backend.
What we learned
Oliver learned to use the new keyword, after forgetting literally every time a constructor needed to be called.
Ryden learned "so much" about Godot.
Adrian learned that ChatGPT is atrocious at Godot 4 C#.
What's next for File Factory
Ryden and Oliver (maybe even Adrian?) may work more on File Factory in the future. Getting it to the original planning-phase scope would be very cool.
Built With
- c#
- godot
Log in or sign up for Devpost to join the conversation.