A collaborative project to parody the once exceedingly popular video game Cloud from ThatGameCompany.

Overview

"Cloud" Parody Project

Prologue

To play the actual game, click here. Note that this game is deployed on my personal website.

If you don't care about the technical details but only want to test out the game for yourself, then there's pretty much no need to look at this repository. Just go ahead and enjoy! ヾ(•ω•`)o

About This Game

This is a project to parody the once beloved video game "Cloud" by ThatGameCompany.

It is also the product of the final project for the course Advanced Course in Computer Graphics (2021), and a collaborated project between me and @JyhWind.

Developed within a ~1 month cycle, this game really wasn't all that easy since we were pretty much buried in deadlines, final projects, graduation researches, and etc. and thus could only squeeze out little chunks of time for the actual development process.

Per the professor's wise words this should be called the "ちょこちょこ" development, but it was more like the "へとへと" development if I could say so myself.

Nevertheless, I'm extremely glad that we made it in time.

Gameplay Demonstration

The actual gameplay looks something like this.

Gameplay screenshot

As for the controls, etc., just follow the in-game tutorials and instructions. There should be enough explanations for you to start enjoying the game in seconds.

But wait, there's more!

Since you've already made it here, let me share with you a little secret - during gameplay, you can press on g to enable god mode, where you'll be able to start creating unlimited number of clouds out of thin air. (And press it again to disable the feature, of course)

Pretty cool, ain't it?

Technical Details

I won't go into too much details here since you can literally read all the source code from this repository, but let me give you at least some explanations from a technical standpoint.

Basic Explanations

To begin with, the actual gameplay is built around Three.js, a really cool JavaScript 3D library.

Pretty much all the stuff, including the character movements, camera positioning, in-game interactions, are all based on and heavily modified from what Three.js has to offer. A HUGE thank you to these folks with the amazing libraries!

As for the UI, I made them from scratch... And yes, they're all designed and typed in by hand, with effectively no copy-paste from external sources.

All the animations (intermittently flashing words, etc.) are also done by careful calculations and manipulations of the property of objects (such as opacity, transparency, color, etc.).

In-Game Assets

The main character model is taken from Sketchfab, and the original license is included within the /model folder. Author credit (which is required) could also be found within the same file, i.e., /model/license.txt, so please feel free to take a look.

All the assets, including the character model, skybox, background, etc., are either under CC terms for free non-commercial usages or just plain free-to-use ones. The only exception is the one image within the "About This Game" page, where it's taken from the original "Cloud" game website.

The clouds though - they're procedurally generated. I believe it's partially the reason why the game is so heavy - since ALL of them are being animated at the same time.

Epilogue

This concludes the explanations to what's going on in this repository, I guess.

But before you go, one last thing to note...

Plz don't steal our game!! 
I'm sure you won't. You're just the nicest, aren't you? (o゜▽゜)o☆

Enjoy!! ( •̀ ω •́ )y

You might also like...

A Svelte parser that compiles to Mitosis JSON, allowing you to write Svelte components once and compile to every framework.

Sveltosis Still in development A Svelte parser that compiles to Mitosis JSON, allowing you to write Svelte components once and compile to every framew

Nov 24, 2022

jQuery plugin to show a tabs bar for navigation. The tabs can be defined once, and shared across multiple HTML pages.

jQuery plugin to show a tabs bar for navigation. The tabs can be defined once, and shared across multiple HTML pages.

jquery.simpletabs v1.2.3 The jquery.simpletabs plugin shows a tabs bar for navigation. The tabs can be defined once, and shared across multiple HTML p

Feb 23, 2022

Collaborative /r/place 2022 template userscript

Collaborative /r/place 2022 template userscript

[inactive] /r/Place 2022 collaborative minimap userscript Help /r/MyLittlePony get a pony on /r/place! Help /r/ainbowroad build a rainbow road on /r/p

Aug 26, 2022

Collaborative /r/place 2022 template userscript

Collaborative /r/place 2022 template userscript

[inactive] /r/Place 2022 collaborative minimap userscript Help /r/MyLittlePony get a pony on /r/place! Help /r/ainbowroad build a rainbow road on /r/p

Apr 6, 2022

CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms

CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms

CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms. It allows developers to communicate with their fellow developers or collaborators through online voice call and realtime chat. Besides, the whiteboard makes the framing of an algorithm easier by helping programmers working collaboratively to discuss and plan their approach together

Jan 20, 2022

A framework for building collaborative Microsoft Teams and M365 experiences.

Live Share SDK The Live Share SDK is in preview. You will need to be part of the Developer Preview Program for Microsoft Teams to use this feature. Th

Jan 1, 2023

ProseMirror-based Collaborative Editor

Notebook ProseMirror, Firebase Collaborative Editor. Prerequisites Create a copy of .env.template whose name is .env.local.user in the root folder.

Oct 21, 2022

This a collaborative repository to us play with javascript basics. Welcome here!

This a collaborative repository to us play with javascript basics. Welcome here!

➡️ PT-BR A HacktoberFest project to put your frontend skills to the test. About This is a beginner-friendly repository for educational purposes that w

Nov 22, 2022

Open! Inclusive! Collaborative! A community for enthusiasts exploring new technologies, working on innovative ideas and helping each other grow together. Open Issues, Raise ideas, Make Pull Requests!

Open! Inclusive! Collaborative! A community for enthusiasts exploring new technologies, working on innovative ideas and helping each other grow together. Open Issues, Raise ideas, Make Pull Requests!

About Us OplnCo previously known as Devstucom represents Open Inclusive Collaborative. We as a community help our fellow students build skills through

Oct 13, 2022
Owner
Yuuki Sora
CSCE undergraduate at Waseda University, 内定 at Celsys. English/中文/日本語 🆗. しくよろ.
Yuuki Sora
Project to manage multiple emails at once with lots of customization. You can send and receive emails. Desktop notifications can be modified.

Technologies Used React Redux Tailwind CSS Features Admin dashboard User settings and or user dashboard send emails recive emails Connections through

Multi Email 9 Dec 17, 2022
BRIDGE is a collaborative project for fx(hash), conceived by Camille Roux.

BRIDGE collaborative project for fxhash BRIDGE is an experimental project for fxhash. Any artist can contribute. The main rule: draw the tiles at the

Camille Roux 11 Jul 22, 2022
An open, collaborative and evolving character creator project for the open metaverse.

Avatar Creator An open, collaborative and evolving 3D avatar creator for the open metaverse. Want to contribute? Please check out the issues, or submi

Atlas Foundation 23 Dec 17, 2022
A showcase of problems once hard or impossible to solve with CSS alone, now made trivially easy with Flexbox.

Solved by Flexbox A showcase of problems once hard or impossible to solve with CSS alone, now made trivially easy with Flexbox. View Site Viewing the

Philip Walton 13k Jan 2, 2023
I made countdown birthday and fireworks animation using HTML Canvas, CSS, JS. The fireworks animation gonna come out once the countdown is finished or in other words, "Birthday Time".

Countdown-Birthday-Fireworks-Animation I made countdown birthday and fireworks animation using HTML Canvas, CSS, JS. The fireworks animation gonna com

Mahardika Bayu S.B 19 Dec 31, 2022
🚀 A web extension starter built with React, Typescript, and Tailwind CSS. Build once, and run on multiple browsers: Google Chrome, Mozilla Firefox, Microsoft Edge, Brave, and Opera..

Web Extension Starter A web extension starter, built with React, Typescript, and Tailwind CSS. Build once, and run on multiple browsers: Google Chrome

BCIT Design & Development Club (BCIT-DDC) 28 Dec 28, 2022
Init a target by promise only once.

once-init ?? Let Promise Function Executed Only Once. The Promise will be executed when the attribute target is called for the first time, and the Pro

Xmo 65 Dec 26, 2022
Apply IPO From Multiple Meroshare Accounts at Once.

⚙️ HamroShare : Batch IPO Applier HamroShare is a minimal web-application that lets you apply for IPOs from multiple meroshare accounts at once. Note:

Dinesh Tiwari 7 Nov 15, 2022
To-Do list a web app for tracking personal progress through the day. Users can input a list of tasks and mark them as completed once they are done. Built with JavaScript and Webpack

To-do-List-Project To Do List Project Description. This project creates a simple HTML list of To Do tasks. It was built using webpack and served by a

Olawale Olapetan 7 Jul 8, 2022