Welcome to the first grave of a soldier lost to design scale, lovingly referred to as "Space Game". This was our first video game design together so we didn't really understand what "possible" meant. As a result, we spent several months designing, iterating, and adding to a foundation that was already too large. We've decided to include this to display our design style and some ideas that are still cool but can't be developed with our two person team. ===== Foundation ===== As with many of our early (failed) projects, this was built out of a compromise between separate design concepts that we each brought forward. Angel's idea was inspired heavily by Outer Wilds, while Clover's idea was a collection of ideas based on various worldbuilding elements from TTRPG games, Rimworld, and Starbound. ==== Clover's Foundation ==== Clover's game was an exploration game built around the idea of space exploration and simulation. Through a series of well thought out mechanics, everything would be procedurally generated; from planets to creatures to civilizations. There was also a dimension warping mechanic that would take you to a planet similar to the current one but distorted in some way. The main gameplay would be to build up your civilization, travel to alternate dimensions to gather resources and explore, and expand into the stars. Planets would be generated using three passes: palette, shape, and flavor. Palette would be the materials used, shape would be the landforms, and flavor would be the decorations used to populate the landscape. ==== Angel's Foundation ==== Angel's game was an exploration game built around the idea of space exploration and emotional prototypes. Using a meticulously crafted dictionary of categories, star systems and planets would be generated and populated with remnants of long dead civilizations and lore. The main gameplay would be travelling to different systems, exploring the scenery, and uncovering secrets and stories. Worlds would be generated using several methods. First the type of star would be selected from a list, which gave it different properties like size, color, and heat. Based on those properties, a random number of planets would be generated using preset templates. Some presets were only allowed to generate around certain types of stars or within certain distances from the star. Within those planets, features would be added based on the template(i.e. water planet adds water with deep-ocean mountains, terrestrial planet adds earth-like continents and features, crystallized carbon planet adds solid diamond crust). After the planet was generated, structures could be added which contained resources(fuel, oxygen, food, etc) and lore. A main part of this design was the ability to manually control the ship, and that the ship controls would be fun enough to be a gameplay feature themselves. ===== Compromise ===== Obviously, these are very different games so some compromises had to be made if we were to work together on this project. These design compromises would take place over almost two years as we both attended college and learned more about games. As a result of the long time period, the game changed fundamental ideas, added large mechanical structures, and bloated in scale to unmanagable sizes. Because of this, we had semi-frequent "scale-trimming" sessions during which we would identify or re-establish the core game ideas and trim off unnecessary features. At the time, we were both very passionate about survival-crafting games, like Minecraft and Terraria, so Startrotter slowly became more Terraria-like. After some discussion, we chose a 2d sidescroller format like Terraria. We hoped this choice would allow us to add more to the game easier, as adding a third dimension tends to complicate asset creation, programming, and program performance. It would also have terrain modification like Terraria, but we wanted something a little smoother. We looked into many different options, such as hex-based tiles, marching squares, and others, but ended up reverting to plain squares during a later scale-trimming. After a lot of work on procedural generation, we agreed that the worlds just didn't feel right. We liked the freedom and flexibility of procedural generation, but weren't happy with the lack of control we had. That's when we stumbled across Wave Function Collapse. This algorithm would allow us to handcraft chunks of the world and arrange them randomly based on various rules. Unfortunately, Angel had only been programming for a few months and had no experience with complex algorithms or mathematics. Clover had some experience with algorithms but no experience programming with them. This led to a months long fight against a system we could never get to work. Of course, we could have used the pre-compiled library for Unity, or the many assets with advanced features to make it easier, but that was cheating in our naive eyes. One of the first things to go was the different dimensions. We went back and forth between having multiple dimensions or having multiple star systems. With the complexity of the rest of the design, we knew having both would be overwhelming to the player and too much work for us. We eventually landed on multiple star systems for no particular reason. After another year of working on this design, we eventually scrapped that as well during a scale-trimming. Another point of contention was the ability to actually fly the ship. Clover didn't see any value in the ability fly the ship but by this point Angel felt that everything else from their idea had vanished in the compromises so they fought for their idea. After a particularly high production presentation, they convinced Clover how to manually control the ship without sacrificing the customization elements. Yet another sacrifice that was made was randomly generated lifeforms. While the idea was fascinating, we decided we would rather handcraft several dozen creatures and have them be well polished than have thousands of creatures but have them be disappointing. Over the course of several sessions, we used a program that allowed us to draw on the same digital canvas and created these designs. One thing we both agreed on was the vibes. We wanted an existential melancholic tone to the entire experience. Minecraft had a bizarre effect on this, as it has an almost eerie quality to much of it due to the then empty and dead worlds. At the time, there was little thought put into atmosphere and there were so few mobs that the game seemed empty and lifeless. This was compounded by the soft, nostalgic tracks of C418, which gave exploring these empty worlds a tragic vibe. This was something we wanted to capture in Startrotter and one of the first things we did to achieve this was music. We both have fairly extensive musical training and experience playing multiple instruments and writing tracks. Using this, we worked together and created several tracks using LMMS. Many of these were unfinished or abandoned but there were a few that we completed to a satisfactory degree. ===== The End ===== After a year and ten months, during one of our scale-trimming sessions, we came to the heartbreaking conclusion that our first project together was impossible. Not only had we made little progress into actually developing it, but it was so different than either of the original ideas that it was unrecognizable. We also had constant miscommunications(or lack of communications) about some of our personal core ideas that we didn't realize we were actually designing two distinct games in parallel. The scale of the game was unfathomable and even if we did attempt to develop even the smallest version, it would have taken at least 4 years to reach an alpha prototype. Here are some things that we learned: Scale isn't something that you can trim. If you have to stop and trim design elements from a project multiple times, your foundation has already outgrown a realistic scope. Communication is key. Even if it means reiterating what you think is obvious, communicating every design element is crucial to actually creating a cohesive design. Compromise doesn't fix everything. Unfortunately, sometimes an idea is just bad. Alternatively, some ideas are fundamentally incompatible. Trying to compromise on every issue leads both parties feeling unheard and unsatisfied. Compromise obviously has a place but if every idea requires compromise, just make separate games.