What is "The Waveless Expanse"?
The Waveless Expanse is an adventure game published by Galaxias Æon, where you are cast as a manta ray exploring a sunken civilization. This was originally created for both the 32-Bit and Haunted PS1 Halloween game jams.
Responsibilities
- Create a full game in less than a month.
- Design 7 levels to explore.
- Craft simplistic cinematics, particles, and screen effects to heighten the mood.
- Produce character glyphs and pick apart Akkadian Sumerian to add more mystique.
- Rig and target existing models.
- Rapidly prototype straightforward gameplay mechanics.
- Make 4 songs to play in the background.
Creative Process
Goals
- Create a full experience in Unreal within the jams' time limit.
- Attempt to recreate 5th generation limitations.
Features
- 7 playable levels to explore, with secrets able to be unlocked.
- Original glyph, cinematics, particles, material and screen effect assets
- 4 original songs.
Constraints
- Use as little written words as possible for environmental storytelling.
- Keeping up with 5th generation limitations.
- Using a PS1 game as a DAW.
- Only 1 month to work on the game.
- 1 person working on the project, using time outside school and work.
1) How to keep in-line with 5th generation aesthetics and limitations?
2) How to immerse the player into this world and give mystique?
3) How to make music?
1) Low poly assets, Vertex lighting, Pixel shaders
Thought Process
First and foremost, I knew I couldn’t output enough models for this project, even if I didn’t have the constraint of outside work. So I went through some of my asset packs I’ve hoarded over the years, found some ruins and underwater packs, and made sure that the level assets were generally-speaking under a certain poly count (~>1k for some object). For the playable character model, the manta ray, this actually is a model from the PS1, particularly the PS1 Developer Demo Disk, so it fits the bill. The slimes were from opengameart.com, and the creature that appears on the end screen I made myself. It was supposed to appear more often and have a greater role, but I ran out of time.
For about half of the development, I was incredibly stingy with the poly count, both of the models and how many were in the levels themselves. I originally tried to only allow for ~300k polys to be on screen or in the level as much as possible, as this was the limitation of the PS1. But given I had other tasks to do just in this project alone, I had to abandon that idea and just built the levels as-is.
Next, came the lighting. In truth, lighting is always a pain to deal with, so both to keep to limitations and so I didn’t have to put point lights everywhere, I decided to add vertex lighting to all materials on meshes. Alongside this, I also added a pixelization shader effect to make the more meshes’ textures look more compressed. And lastly, I turned off anti-aliasing to give some harder edges.
Results
The game had the look of something straight out of the 5th generation. I think being so stingy with the poly counts killed some of the time I had working towards this game. What I could’ve done to fix this was to properly implement a distance fog effect, a la “Silent Hill”, to obscure what’s directly in my line of sight. The materials could’ve also been condensed into master materials for the vertex lighting.
2) Screen effects & Visions of the past
Thought Process
Seeing as this is a game that takes place underwater, I wanted to have a wavy screen overlay, which I was able to whip that up relatively quickly. Then, I added a bit of blur and a blue tint, and it was done.
Most of the levels, save for the 1st 2, were very confined. Sometimes, players can swim past a trigger and see purple figures looping through animations. They leave as quick as they appear, when a player swims out of the volume. If a player happens to place enough orbs on pedestals, a cutscene will trigger, showing what’s been unlocked in the level, with red figures appearing. These figures are ghosts of the past, forever repeating what actions they were doing before they passed.
Alongside this, throughout a number of the levels lie glyphs; some depict unknown figures cloaked in golden robes, others depict a language long forgotten. These represent still lives and practices of either common folks or rulers. They are almost as enigmatic as these ruins themselves, giving off a creepy factor as well. I picked Akkadian Sumerian as the language because I didn’t want anyone to pick up on what was happening. Realistically speaking, as a dead language, I only opted to use words or perhaps phrases, as something that old would be incredibly hard to pick up. It adds to the peculiarity of what a player is looking at.
Results
Player feedback enjoyed the screen effects, stating it helped with the overall vibe of the experience. However, even though most players did feel unnerved by the glyphs and apparitions, they were more confused as to what they represented, and felt it was more set dressing, if anything.
3) MTV Music Generator (Music 2000) & Cool Edit Pro
Thought Process
Since I don’t have a dedicated DAW, I don’t tend to make music for my games. I usually look for open-source or use placeholders from existing games (the 1st iteration of this game used music from “Chrono Cross” and “Xenosaga 3”). I also still wanted to emulate soundfonts and samples of the time. 4 days before the 2nd jam was over, I stumbled onto an artist making an album with the game “Music 2000” (“MTV Music Generator”, as it’s known in the US). I messaged him about it, and he told me about how it functions as an incredibly basic DAW.
I ended up with a copy on my PC and got to work. It was fairly easy to pick up, considering the time constraints. The main issue was the music I make wasn’t saving properly, so essentially, I had to screenrecord the music and then chop it up in another audio editor in order to make the loop half-decent. I then went digging through my CDs to find an old installation of Cool Edit Pro, another 20+ year old program.
Cool Edit Pro worked like a charm, I remembered just enough to cut up the recordings to allow for a smooth enough loop. That being said, any audiophile can and will be able to pick apart the problems of the song recordings. But given my constraints, they were good enough.
NOTE: None of these incredibly backwards constraints were intentional, it just ended up that way. I guess I really kept to my word on “working with 5th generation constraints”.
Results
Using a PS1 game to make PS1-style music truly helped keep to the aesthetics, giving off that crunchy, echo-y effect. I didn’t have to go searching for soundfonts, I had all the samples I needed right in “MTV Music Generator”. I would gladly use Cool Edit Pro again, and while I’d say the same for “Music 2000”, I would have to get more in-tune with the program as well as find a better method to save my files.
As a project to deep dive into the various toolsets of Unreal, attempt to keep to 5th generation limitations, and as a game jam game, I would consider this a success. Like most game jams, this wasn’t without its mishaps. I spent too much time being focused on limitations vs some flow. In the 1st build of the game, originally there were only 6 levels, with the 7th being the 1st level, added in the final build. It was far too open-ended for its own good and should have been cut. The other levels worked, but could stand to use a little more guidance. The tools used were great, but I would certainly appreciate bringing myself into the modern era, at least for saving files correctly.
Links
Here is a link to the project:
And the entry pages for the project: