Game Link Here
Inspiration
We all really wanna be Ryan Gosling. We also wanted to do something with cool UI/UX design for both mobile and web development, while creating a game that stays flexible across different web frames. The big technical aspect we wanted to experiment with in the game is the trending library Pretext, which is the main inspiration for the design of the game. Pretext went pretty viral online, which led us to implement it as a library since it was both new and introduced us to TypeScript.
What it does
Weather Report is a command-line-themed browser and mobile game in which the player protects a moving character from weather hazards such as rain, hail, and snow by dragging an umbrella with a unique text-based design. The movement of CL, our command-line sprite that we are trying to protect from the weather, moves right and left and jumps randomly as an effort to sabotage the player. The longer the game progresses, the quicker the weather drops and the character's movement and jump height. Weather Report is an infinite time game where the game gets more difficult as time goes on. Along with this, Pretext use in the code will automatically resize assets to fit both mobile and desktop orientations. The game is simply if CL gets hit by one of the substances from the sky, it will make CL lose 1 HP. Since CL has 5 in total, it may seem like it's just a game of avoiding the weather, but the more interesting parts come later with the power-ups.
Our game also uses a mix of instant and timed power-ups to help the player survive and score more points. Some power-ups, like cd and rm, work right away by either teleporting the player to a safe spot or clearing nearby hazards. Others last for a short time. For example, zip gives 1 second of invincibility, while sudo gives a longer 10 seconds. If you pick them up again, the timer resets instead of stacking. While sudo is active, shields will not break and certain hazards will not drain its effect. The shield protects the player from one hit and gives a short moment of safety after it breaks. Power-ups like slowMotion and findBoost make the game easier by slowing hazards or pulling items toward the player. doublePoints increases scoring for a limited time. healthBoost and hazardClear give instant help by restoring health or removing all hazards on screen. A special power-up called unzip adds randomness by instantly activating one of several other power-ups. All timed effects are managed with a shared timer system, and important effects like invincibility are handled carefully so they do not stack in a way that breaks the game balance.
How we built it
We mainly built our application around the pretext library, which is a Python library. We built the frontend and backend components with Typescript. We also have other front-end software such as HTML, JSON, and CSS that were used as well.
Challenges we ran into
Performance on desktops in comparison with mobile devices saw significant differences in speed. While the application runs well on mobile device, desktops and laptops saw lower performance likely due to the amount of text seen within the application. We reduced the amount of particles that spawned and made sure that if multiple popups (i.e. power ups and rain particles), they would all be counted as one particle. We also went through an error with the array after level 7, which was fixed afterward. A large amount of lag was due to combo points stacking, fixed via giving every combo popup the ability to push other text, spreading it out evenly.
Accomplishments that we're proud of
We are proud of learning a current and very new library out there while also integrating a game design that felt wholesome and fun to us! For the members, TypeScript was something that was pretty unfamiliar at first, but making an application with it during this hackathon helped a lot! We also built a program with a lot of creative ideas that we are all drawn to as well (i.e. rain and a "forever game")
What we learned
We learned a little bit more about Typescript and the Pretext Library alongside with hosting the application on different devices. We also learned how to host a domain on github, which is what will be used in our demo.
What's next for Weather Report
Weather Report will have its own domain where people can play the game. on their mobile device, laptop, or desktop. Another factor that would be important to us as the developers of the game would be the speed of the application on both desktop and mobile devices with less lag.
Log in or sign up for Devpost to join the conversation.