Adapting a Games Jam

Over the last few years at the University I have run some events known as "Game Jams" for the students. These have also become increasingly popular over recent events.
For those of you who have not heard this term, it is basically a 24hr/48hr hackathon where the participants, either individually or as part of a team, get to test out their skills and any new ideas to make a game based on a theme (such as "Waves" or "Time Travel"). The students generally love them (as do quite a few members of staff who take part).

They are not graded on it but they do get to win a few prizes (from the department budget). A larger scale example is here: https://globalgamejam.org

I was wondering if anyone on these forums would be interested in similar. In particular I was even thinking that if we set the theme to something less game related and more like "Utilities", we could end up with some cool results. For example if we got 20+ people involved and we each wrote a tool like a text editor, calculator, app menu, etc. We would have a fairly decent start to a FreeBSD specific desktop environment. We can perhaps also build on this in the next "Games Jam".

Some random ideas:
  • This format would also be ideal for those who do not develop software professionally or might be a bit rusty. Writing a simple image viewer is a much easier task to accomplish in a day or so compared to fixing a full featured one from Gnome. It should be fun and "light" rather than a chore.
  • If people like the idea of a prize, perhaps we can just donate tech "junk" to the winner. I have stuff ranging from novelty pens, all the way up to older graphics cards. I am sure we all do ;)
  • If we do decide on desktop utilities rather than games, we could possibly agree on a widget toolkit (and a language) before hand to keep things consistent. However I think this should be fairly flexible to keep it "fun" rather than "correct".
  • If people prefer to write games, fair enough, we could have the theme being "Beastie" or "FreeBSD awareness" to keep it slightly on track! ;)
  • Can a text editor be written in 24hours? Yes, if the scope is kept small (like Microsoft Notepad). This itself could actually be a really unique way to reduce "open-source bloat". Likewise developing our (winning!) entries in isolation prevents it becoming a modular monolith (like libgnome, libxfce4util, etc).
  • Big tasks involve a File Manager, Window Manager. However I am sure some here are up for the challenge. Most importantly having an extremely basic file manager rather than none at all is still cool (and might win!). The window manager could even just be a simplified hack of OpenBox or lesstif's mwm.
  • At the uni we also provide an "art" prize for the 3D modelling students. Potentially we could so similar here.
Should we give it a try? What do you guys reckon?
 
Last edited:
Regardless of the project itself, I think it is best to limit, the scope of development environment to FreeBSD tools from the base system. i.e. POSIX SH, Clang C and if necessary assembly (although fasm is far superior) besides common FreeBSD tool chain and utilities.
Web oriented technology and ad hoc scripting languages will clutter the project up with complexity.
 
Web oriented technology and ad hoc scripting languages will clutter the project up with complexity.

I tend to agree but at this point, I am mindful that people don't always like to develop in C/C++ so "base-only" could potentially exclude quite a few participants.

As a compromise, we could go for base system *and* Xorg (which we can assume is installed if we go for the GUI desktop tools theme). Now interestingly enough Xorg (probably erroneously) drags in so many things (Python 2, Python 3, Perl, etc) that this isn't much of a limit at all. Which does provide the much needed flexibility to make this fun.
 
Something I might work on is a front-end for bhyve.

Nice, that sounds like a cool idea. I was hoping for things like this that are pretty unique to FreeBSD. :)

Unless anyone else was going to attempt similar, I was leaning towards a minimal GUI jails management tool that was mostly all done through a system tray icon.
 
I would not agree to limit development to languages & tools from base. Instead, it makes sense to take new, advanced languages & technologies like D, Rust, or QML. Keep in mind that a major issue/task in software development is to write, apply & pass tests. E.g. IIRC the RedoxOS kernel (written in Rust) is proven/verified to conform to it's specifications. Such verification is nearly impossible in traditional languages, and much easier in modern ones. For the realm of GUI, a rule-based approach is very natural & well suited; for a long time I thought ECMA Basic/JavaScript is only for the web, until Qt came up with QML. Currently, there is the Lumina Desktop written from scratch to get rid of linuxisms & apply to BSDs. Nevertheless, it makes sense to use the collected wisdom from projects like freedesktop.org. So my 2¢: anyone who wants to help BSD desktop GUI, get involved with Lumina.
 
  • Like
Reactions: a6h
Back
Top