Tag: Solo Developer

  • Change()

    Change() is the third prize winner of the 2025 Roblox University Week Game Jam hosted by Roblox Developer Relations. I created this game by myself in one week.

    Using your Consoul, a magical computer interface, reprogram the world in order to escape the prison of your reality. Change() teaches introductory programming principles such as variables, pointers and functions, all in the robust beginner-friendly flavor of Roblox Lua.

    Highlights

    • The central mechanic is a fledgling code-parser that allows allows players to modify variables, call functions, and even change the references of puzzle objects.
    • A robust puzzle framework that allows for the rapid creation of new interactive puzzle objects: the system design is scalable for future development.

    Inspiration

    The narrative of Change() is inspired by my own spiritual perspective that parses non-dualist concepts through metaphors of computers and technology. In order to write peace in the place of danger and confusion the player must remember that they are the author of their script and have the discipline to change it.

    Production

    The Game Jam theme was “break the rules”. As a game designer, I usually put mechanics before design, but I knew without thinking that I wanted to create a game that ended in the player freeing themselves from a metaphorical prison. After iterating through many subjects, I had reached into the very bottom of my brain for something deeply personal. Often I would imagine life like a vast video game which at a metaphysical level we design: the mechanics emerged naturally alongside the narrative.

    I will admit that I decided to join the Jam a little late in the game. I had been traveling to spend time with family, and as much as I love to develop even outside of professional and academic settings I did not want what is ultimately an optional project to take away from that time.

    I leveraged both locally hosted LLMs, ChatGPT, and Roblox’s AI assistant to speed up my workflow but also to teach me about the design of code parsers: how to isolate identifiers, statements and functions from lists of tokens.

    I decided to scale what remained of production around how long it took me to create the parser, which was decidedly the most important part of my design. In the end, it took up most of the remaining time and the final 24 hours was spent designing the puzzles, throwing together the physical environment and of course, debugging.

    If I had more time (which is not-so-theoretical since I fully intend to bring this game to a release candidate) then I would have improved offboarding, made the parser less strict, and made the UI just the teeniest tiniest bit prettier.

    What’s Next

    Offboarding

    Roblox games aren’t known for their beginnings and ends, but the lack of offboarding is unsatisfying. I’d like to execute on my original idea where the player gains enough privilege to access a Destroy function, and they can destroy their prison and escape out into a beautiful natural scene. Although the spiritual influence is subtle, to end in quiet peace communicates the most important meaning and would complete my intention.

    Polish and Education

    After that important step, it is more puzzles, more polish, and user testing. Education is central to both the entertainment value and practical function of Change(), so it’s level of effectiveness at teaching introductory level programming should be assessed with audiences that do not know how to program.