Inspiration

Hi I'm Neil, one of the team members of this project. My dog Scout is part of the inspiration for this project. He is the reason why we all came together too. But also, all of us have an interest in music and game development and design and are involved with SpaceCRAFT/SUITS to varying degrees and interests in space, and hence found space to be a fun theme.

What it does

The player, using the character of Scout in a UFO, uses the arrow keys, or wasd, to move up, slow down, move down or speed up, across the waves of a song of their choosing. The closer to the actual wave they stay the move points they get. If the player fall out of the range of the wave, or even hits it, then the game ends.

How we built it

We built this game using UE4, C++ and Python. Python primarily for URL to audio conversion. UE4 and C++ for visualizing the game's features and the main menu. Below is our initial draft of pseudocode.

#points display in top right corner, updates live
#sliding right, auto, speed variable -left/right keys (to rate of song also, faster songs, more difficult)

#to access menu
if escape.active():
    menu.open

#to move up
if w.active():
    doggo_vertical_position.up(2 units)

#to move down
if s.active():
    doggo_vertical_position.down(2 units)

#to jump up
if space_bar.active():
    doggo.jump

#points allocation basics
if doggo_vertical_position < actual_wave_position + 15 && doggo_vertical_position > actual_wave_position - 15:
    points += greatest_score_incentive
else if doggo_vertical_position < actual_wave_position + 30 && doggo_vertical_position > actual_wave_position - 30:
    points += lesser_score_incentive
etc...

else                            #if too far out bounds game ends
    end_popup.open


#peaks point incentive
if ctrl.active():
    if data.prev < data.curr && data.next < data.curr:
        doggo.spin
        points += double_greatest_score_incentive


#troughs point incentive
if tab.active():
    if data.prev > data.curr && data.next > data.curr:
        doggo.beam
        points += double_greatest_score_incentive

Challenges we ran into

The challenges we ran into are trying to learn quickly, on sleep deprived minds, UE4 to keep the project moving forward at a fast enough pace to complete it before the deadline.

Accomplishments that we're proud of

We are immensely proud of our game's UI and graphics: the clean design of the wave, background and UFO, the artwork +button functionality, allowing the user to enter their username and a URL. The player speeding up and slowing down features are not something as common in games of this nature.

What we learned

There was a lot of Unreal learning, as well as learning more about Fourier transformations, to convert the amplitude wave to a frequency wave.

What's next for Shiba Flow

Updates that we could apply to improve this game would be implementing the score counter in the top right corner like we have in our pseudocode and implementing scoring extra points if the user hits a certain key at the apex and same with the trough, for a couple cool features like a spin and a UFO beam.

Share this project:

Updates