WEB DEVELOPMENT

ROCK,PAPER,
SCISSOR

A Deep Sea Duel.

This game is an interactive underwater version of Rock, Paper, Scissors built with JavaScript to demonstrate conditional logic, randomization, score tracking, and dynamic UI updates, combining engaging visuals with functional game logic.

ROLE

JavaScript Developer

TOOLS

JavaScript, HTML, CSS, Figma

TRY IT NOW

OBJECTIVE/SOLUTION

01

The objective of this project was to implement core basic JavaScript concepts that we learned, such as conditional logic, randomization, score tracking and dynamic interface updates.

Solution:

Turning a simple game of Rock, Paper, Scissors into a fun and visual experience, as a way to show an understanding of the basic JavaScript concepts learned during the duration of our course. This strategy game and visual engagement goes beyond the traditional one click version of the game.

Main game interface

DESIGN PROCESS

02

Using Figma and illustration tools, I helped with structuring the layout, the star system and overall visual hierarchy. I focused on making the interactions clear, so when it came to the development phase I understood how the logic would work.

Assets

Enemy Cards

Enemy rock cardEnemy paper cardEnemy scissors card

Player Cards

Player rock cardPlayer paper cardPlayer scissors card
You lose overlayYou win overlay
Pause game card

Player Points

Uncolored point starColored point star
Card deck

CODING/DEVELOPMENT

03

The game was built using JavaScript and developed in Visual Studio Code. In this course, we were encouraged to use AI as long as we understood the content, so I utilized tools such as Cursor and GitHub Copilot to assist with logic and structure.

Challenges

One of the main challenges I faced was displaying the selected card in the center of the screen. This was new to me, and it required careful handling of DOM manipulation and dynamic updates to ensure the correct choice appeared at the right time. I also had to make sure that all elements, including the score and star system, stayed aligned and coordinated properly after each interaction.

While AI helped with the initial structure, integrating everything together was more tedious than expected. I had to debug, fix file paths, and reorganize parts of the project to ensure everything worked smoothly and consistently.

Paper cardVSScissors card

FINAL PRODUCT

04

Results

The final project demonstrates a complete interactive game loop, where players can choose their card, play against a randomized opponent, and see the score update live. It balances usability with engaging visuals, making the experience fun while clearly showing the underlying JavaScript logic.

Reflection

Overall, I think this was a good learning experience utilizing AI, as well as implementing our knowledge of JavaScript fundamentals. The final product successfully integrates interactive UI elements with dynamic game logic.