RANDAMIUS

Randamius was a project developed entirely by me. I implemented various procedural generation aspects to various elements of the horizontal scrolling shooting genre, including enemy formations, weapon pickups, terrains, and boss battle.

Roles

  • Programmer

  • Procedural Level Design

Technologies

  • SFML -Simple and Fast Media Library- (C++)

  • Windows Visual Studio

Development Process

As my exit project for UC Santa Cruz Computer Science - Computer Game Design, I had to develop a video game concept that utilizes one of the more modern aspects of game design, and I chose to integrate procedural generation elements with the conventions of the horizontal scrolling shooting genre. Additionally, I had to develop the game entirely from ground up using C++ with SFML (Simple Fast Media Library).

One of the most challenging aspect about this project is developing the game through programming language alone. Not only did I have to rely a lot on the software design patterns and programming techniques to allow the game to run smoothly, but planning had to be done prior to implementation of any class file or gameplay feature to ensure things go as plan. When having a solidified plan, it helps ease up the development process through the programming language, despite that there will always be more planning throughout development.

However, despite all the intense planning required, I enjoyed the development of procedural generation elements the most since it challenged me to think of solutions that allowed both variety and difficulty to nicely flow with the game. The following elements were integrated with procedural generation elements:

  • Enemy types and waves

    Weapon pickups

    Terrain

    Difficulty flow (based on time, enemy spawn, and boss ship)

When I implemented and iterated on the procedural elements, they helped shape the game to have unique experiences for every play session.

Lessons Learned

It is possible to develop games through programming languages with a simple code editor alone. Even if lots of planning is required to develop a game as well as building a "game engine" to set its foundation, anything can be done, especially when integrating procedural generation into an existing game genre in creative ways. It is always useful to have and further refine your programming knowledge in game development should you decide to develop a game without using a popular game engine.