Devlog - Conception & Prototyping


Conception & Prototyping

By Edgar

As we began this project, we only had a very basic vision of what the game should look like. We knew we needed things like enemies, dimension switching and shooting. But we had an extensive list of questions that needed answering: 

  • What does the environment look like? Are we in space? Is there a floor? Will we have a procedurally generated map like a dungeon crawler or are we staying in the same area?
  • What does the player look like? Is it a person or a ship?
  • What do the enemies look like?
  • What does 2D look like? 1D?
  • Other than combat, how much do we interact with the dimension switching? Do we add obstacles that can only be accessed in certain dimensions? 
  • Most importantly, how do we incentivize players to switch between the dimensions rather than stay in one dimension the whole time?

We spent this week answering and prototyping the answers to these questions.

Concept Art

We had some discussion and decided on the player being in space. Once we decided that the player would be in space, our art team set out to choose a design for the player. We decided to have a human player model rather than a ship because it felt more personal and immersive. But we had to figure out how to put the human model in space. We experimented with a few ideas until we decided to put the model on a hoverboard. It seemed to make the most sense while keeping the player model fully visible. One of our artists, Julie, made concept art which further solidified our confidence in this thematic decision:

By Julie

Environment

Floor vs No Floor

Although we did strongly consider a cyberpunk cityscape environment that has a character running and shooting on the floor, we decided that the biggest issue with this is the lack of skill expression in 3D. The presence of free-flight makes 3D much more strategically appealing than just being able to jump, since free-flight allows the player to take advantage of the entire vertical space. It just made much more sense mechanically to put the player in space and allow them to have free-flight.

Map Design

This led us to the next question: What kind of map are we looking for? The option to have a procedurally generated map was quite appealing. We liked the idea of having a bit of randomness each playthrough. But as we were discussing what we would want from these generated areas, we quickly realized that we were moving away from the main core of our game. The main focus should be on the combat and dimension switching, not exploration. We decided that this system would be interesting and nice to have, but that we should focus on having a single area for the time being. 

Structures

The concept art also inspired the main obstacles that would be added to the environment as points of interest. These structures, nicknamed "turnips" by our team, seemed to provide nice thematic feel of the alien territory and gave nice visual interest points to break the endless expanse of space.

Player Design

For the player model, we liked the concept Julie put forward and we wanted to make a character that was distinct from the enemies. This concept art inspired a backstory where the player was invading an alien species to take an artifact. To reflect this in the art, we decided on a scrappy, geometric style for the character. The team went through some iterations of player concepts:

By Julie
By Julie

We took considerations of these concepts and combined them into our final player design:

By Giuliana

Enemy Design

We set out to design some basic enemies, and came up with three archetypes:

  1. Slow, tough enemy that shoots lots of random projectiles
  2. Fast, fragile enemy that shoots directly at the player
  3. Faster, fragile, more mobile enemy that can only attack in melee range

As for the design, we liked the sea-creature-inspired enemies from Julie's concept art. The team made some more concepts of enemies:

By Cole
By Judhell
By Judhell
By Judhell

Dimension Switching

2D & 1D Vision

Most of the team was familiar with 3D-2D perspective switching games in the puzzle game genre. These games usually had a 3D third person view that switched to a 2D side view to access or move objects previously-unreachable areas. However, we didn't believe that a side view would give the feel we were looking for in our game. We wanted to capture the same top-down feel as other bullet-hell games we were familiar with like Vampire Survivors or Nova Drift. So we made the decision to make the 2D perspective a top-down view of the play area.

1D quickly followed from the 2D vision. We decided that it would continue to be in the top-down view, but squish all the enemies in a line.

Dimension-Obstacle Interaction

The concept of adding dimension-specific obstacles was interesting but we felt that it would give the player too much to think about while having the fight so many enemies at once. It was also difficult to imagine what these dimension specific obstacles would look like considering that the player would be in free-flight rather than standing on a platform. So we decided to have obstacles that don't interact much with the player. Even the turnips were a concern for switching 2D. If the turnips had collision in 2D, if the player was above a turnip then they would be inside them and it would be unclear what to do in that situation. It was decided then to just have the turnips not have hitboxes in 2D.

Dimension Switching Incentives

It is important to keep the player switching the dimensions to ensure that the core game mechanic is used and makes our game unique. So we came up with a few incentives to keep the player switching dimensions:

  • Large wave attacks that are undodgeable in 2D
  • Weak points only accessible in 3D
  • Highly mobile enemies that are too difficult to hit in 3D because they have too much vertical dashing movement
  • Really cool hat (enemy with a large hat that acts as an invincible barrier in 2D)

Prototypes

Player Movement Prototype

Player movement and enemy bullet prototype
Prototype with enemy bullets and player movement

The first prototype was an experiment to see what player movement felt good. We first tried a movement system that resembled a plane, with the player controlling pitch, yaw, and roll. It still didn't feel too polished, so we decided that we needed to continue experimenting in the future.

Performance

We decided to use ECS DOTS in Unity. We expected to have lots of enemies and projectiles on the screen, and we didn't want to be limited in performance. This prototype allowed us to create a large amount of projectiles to see how well ECS performs. This prototype managed to have a decent amount of FPS, considering the amount of projectiles on the screen, which gave us confidence that ECS could handle the plans we had for enemies.

Dimension Transition Prototype

Conceptual dimension transition animation

We made a vertex shader to squish down everything. We are thinking of using this to animate the transition between 3D to 2D, and 2D to 1D.

Future Plans

With all the planning and conceptualizing done, we identified the most important tasks in the near future:

  • Enemy AI and movement
  • Player shooting
  • Collisions for 3D and 2D/1D
  • Fine tune and iterate on the player movement 
  • Dimension switching

Get Dimensional Drift

Leave a comment

Log in with itch.io to leave a comment.