- Edited
###Latest Changes###
- A number of bug fixes
- Added support under-the-hood for non-room-based scene loading to allow for tutorials and character setup screens.
- Added support under-the-hood for individual game / user save data.
###Introduction###
Howdy! I have been wanting to expand my networking knowledge, specifically when it comes to browser-based games. I figured I would try implementing some old classics from my child-hood as a way to dip my toes in.
The project I am presenting to you is extremely alpha and mostly a learning experience at the moment. I effectively wrote a multiplayer lobby container that can remotely load in and launch games off the server so as to allow me to easily try out multiple games.
###About###
So what can you play? I currently have 2 mostly-finished games. There is minimal audio and graphical fluff at the moment but game-play wise they are more-or-less completed. YARN
The first game is "Yarn". This is where 3 to 8 players have to write a story together. It moves one round at a time where each player submits an idea in secret and everyone votes on their favorite. Winner with the most votes gets their piece added to the story and are given some points. This game was roughly based on an old game memory from GameSpy.
You can give it a go here: https://ubgames.io/yarn
Game 'technically' supports mobile but is really focused for desktop use. This game taught me how to write a game w/ WebSockets (it has now been rewritten using WebRTC)
Sketch It Effectively online Pictionary. You can have a simple doodle session with no gameplay between 1 and 12 players or an "easy" or "hard" game between 2 and 12 players. This game was roughly based on the old "isketch.net" game.
You can give it a go here: https://ubgames.io/sketch%20it
Canvas and input is broken on mobile. Requires desktop. This game taught me how to write a game w/ WebRTC.
###Feedback / Bugs###
Both games are still pretty rough and I plan on polishing them further. However, I am specifically looking for ideas, feedback, and any bug reports you can come up with!
There are a couple known bugs that I am working on / aware of:
- Game won't update and/or send/receive signals if it is on an unfocused tab.
- Connection occasionally closes due to handshake issues before loading game (seems to occur w/ slow connections).
Mobile clicks can hit LineEdits hidden behind other things (due to JS work-around code)
There are some features that I have planned as well:
- Cursing / Swearing filter will be added
- Potentially improve Sketch It's line quality as it is very hacky at the moment (compromise in the case of very large doodles).
- Better input from failed commands (such as trying to mute yourself, kicking outside a room, etc)
- Improve mobile support to have a custom mobile layout and better scaling
- Support for host reassignment on certain games so hosts can leave the room without everyone being kicked
- Friend lists
- Chat tabs to focus on, for example, just friends' messages or all messages w/o server messages etc.
- Interface for switching between games rather than relying on URL paths
- More games!
Once I get both these games more polished I hope to recreate a larger more complex game. If anyone remembers good-ol' Robostrike, that is what I'll be going for.
If it turns out to be too much to do reasonably I will likely implement a board-game first or something more intermediary.