A browser-based multiplayer version of the popular card game UNO, supporting real-time online play and singleplayer matches against bots.
AI was used for some async code and for help with CSS.
A browser-based multiplayer version of the popular card game UNO, supporting real-time online play and singleplayer matches against bots.
AI was used for some async code and for help with CSS.
I made a browser-based version of the UNO card game! You can play with others by joining with a code, or play singleplayer by adding bots. This project taught me lots about web development, web sockets, client/server archectecure TypeScript, etc! This is actually my first web project, and I am pretty proud that it turned out well. There are some rough edges, but I have learned a lot from this. I found structuring/archetecting the software side of things difficult, and also wrapping my head around web sockets and TypeScript, coming from python.
I implemented draw card stacking, which was a very requested feature. +4 and +2 cards add up, so the player without any draw cards must pick up the stack. The button on the UI shows how many cards that will be picked up! This change also means that the game no longer draws cards for you, which was the previous behaviour.
Log in to leave a comment
This was kinda challenging because there were so many bugs with state management, re-connections, etc. as pages redirect to others based on authentication and game state.
Log in to leave a comment
Lots of miscellaneous improvements and bug fixes, including:
Log in to leave a comment
ngl I kind of forgot to devlog before, I literally typed it out and everything, just didn’t press create
so there is a lot of stuff I did
Log in to leave a comment
I added some CSS for the landing page! I think it looks decent, but I have some plans for the future to improve it, such as making it more adaptable to different window sizes.
Log in to leave a comment
Changes:
Log in to leave a comment
I added the card assets to the game! It makes it feel like you are actually playing now.
Next I am going to update the client updating system, it is getting a bit messy. I have been working on it before this devlog but I think I need to go back to the drawing board a bit because it is not going great.
Anyway, I will continue to make UI improvements
Log in to leave a comment
I designed some UNO game cards for the website! This was my first time using Adobe Illustrator so there were some hiccups here and there. But I am very happy wit the result!
Log in to leave a comment
BIG updates:
The updating system took forever because I was battling with typescript to get it to be happy, eventually I gave in and used ‘any’ type for the data (i know not great) but this is my first TS project so I can forgive myself.
Log in to leave a comment
Updates:
Log in to leave a comment
I added the game engine functionality to the site! It is now playable, albeit with a very basic UI. In the next updates, I will imrprove the UI from just raw HTML
Log in to leave a comment
I made several backend improvements, such as proper auth with tokens that are mapped to the websocket ID. Clients store their token in localStorage.
I also implemented the ability to start the game, which triggers a different page.
Next: I will implement more game functionality, such as placing and drawing cards!
Log in to leave a comment
Changes:
Log in to leave a comment
Updates:
Log in to leave a comment
I created a basic UNO game engine:
Log in to leave a comment
First Devlog! To kick my project off, I made a function that generates a shuffled UNO deck.
Log in to leave a comment