O.S.S.: Space Adventure


Date: 2018-02-25

O.S.S.: Space Adventure was an arcady space shooter mobile game developed by Dynamotivation and published by Mr. Unp3rf3ct. Conceived as a personal technical demonstration, the project marked a pivotal point in the choice of programming languages, shifting focus from Java-based Android applications to cross platform game development using GameMaker Studio 1.4 and its GameMaker Language (GML). The acronym "O.S.S." stood for "Ordinary Space Shooter".

Development


Development for O.S.S.: Space Adventure began around February 2018 at age 15. The primary motivation was a desired shift in the tech stack. Following experience with Java for Android applications, the goal was to transition to a GameMaker as a more lenient and portable platform for game development, specifically GameMaker Studio 1.4 utilizing GameMaker Language (GML).

Hence the project's core purpose was to serve as a proof-of-concept. The focus was on learning the GameMaker Studio tool stack and creating applications with adaptive resolutions, and to eventually develop multiplatform software.

Game design and content took a back seat.

Gameplay


O.S.S.: Space Adventure presented an arcady gameplay experience where the player controlled a spaceship navigating through a field of incoming asteroids in a variety of modes. The game featured a pixel art aesthetic with clear on-screen bars for health and cooldowns.
Destroying asteroids led to gear upgrades. Over time, bigger asteroids appeared. Power-ups could be dropped from destroyed asteroids.

Core Loop

Asteroids are always heading towards the players side of the screen and could either be dodged in an endless survival mode or destroyed using laser fire. Health and rate of fire were limited to force the player to mix up their strategy.

Modes

Endless Mode

In this mode the core loop was executed infinitely, counting the players time and score.

Defend Mode

A later addition, this mode introduced a planetary defense objective. Asteroids not destroyed in time would count as a penalty, lowering the unrestorable health of the planet beneath. Spawn rates and speed was adjusted to make this style of gameplay viable.

Hardcore Variations

Both modes featured hardcore versions intended for quicker sessions.

Other Features

The game included an achievement system leveraging Google Play's services.

O.S.S.: Space Adventure Main Menu Screenshot
O.S.S.: Space Adventure Main Menu Screenshot
O.S.S.: Space Adventure Endless Mode Screenshot
O.S.S.: Space Adventure Endless Mode Screenshot
O.S.S.: Space Adventure Protect Mode Screenshot
O.S.S.: Space Adventure Protect Mode Screenshot

Challenges


The transition to GameMaker during development of O.S.S.: Space Adventure involved several challenges

  • New Coding Paradigm
    • A Complete transitioning from Java's, for a teenager, rather abstract object-oriented principles to GML's more direct, untyped, yet still object oriented principles.
  • Pixel Art
    • First time creating pixel art and palettes in a memory efficient manner.
  • Audio Sourcing
    • Sourcing and integrating correctly licensed background music from platforms like freesound.org. Generating sound effects using waveform generators.
  • Gameplay Evolution
    • Initial gameplay was perceived as dull. This led to the addition of new modes and visual effects.

Availability


O.S.S.: Space Adventure was publicly available on the Google Play Store for free starting February 25, 2018. Feedback from testers indicated a bug-free yet at first dull experience. However the pixel art, while functional, was low-resolution and lacked shading. The chosen background music, conversely, was generally well-received.

The game is no longer available on the Google Play Store, although the original source code is preserved.

Lessons Learned


Developing O.S.S.: Space Adventure provided valuable insights that profoundly influenced my approach to software and game development

  • Tech Stack Pivot
    • Applying previously learned principles to an entirely new programming language and game engine.
  • Game Development Fundamentals
    • Gained practical experience in core game development concepts, including gameplay loop design, asset integration, and iterative feature development.
  • Adaptive Scaling
    • Practical application of adaptive resolution techniques for mobile devices.
  • Attribution
    • Hands-on experience with managing third-party integrations with proper attribution and license adherence. This is a strong contrast to the ill fated outcome of GerMemz.
  • Integration with Third Party APIs and SSO
    • Achievements were handled by integrating with the Google Play APIs for signing in and tracking progress.