devvitio / multiplayer-hangman Goto Github PK
View Code? Open in Web Editor NEWA collab project between a few Redditors with the purpose to learn new technologies as we go.
Home Page: https://devvit.io/Multiplayer-Hangman/
License: MIT License
A collab project between a few Redditors with the purpose to learn new technologies as we go.
Home Page: https://devvit.io/Multiplayer-Hangman/
License: MIT License
Check that it is a valid character from A-Z
Use something besides Times New Roman...I'm on windows this is the default font I see.
Use google fonts.
clientSocket reads some information directly from the DOM - I think mostly due to the fact that the clientGame controller isn't set up to send data back or initiate events on it's own.
clientGame.js is mostly clean now, but generally speaking it shouldn't do any DOM manipulation either.
To avoid some of the crazy pop in, and provide a bit more of a fun intro, it would be good to have an intermediate stage when a round ends or a user loads up for the first time.
Create a small user menu that has options for changing the user name, changing room, and a bit of wiggle room for anything else we might think of.
At the moment I've changed a good portion of the getElementByID to querySelectorAll()[0]. This is essentially the same thing, but any DOM actions we take on these should be applied to all elements ( i.e we remove the [0] ).
i.e we should be able to create two objects with a data-online-players attribute and they both display players without any extra finangling
The current back end code is pretty much a god object in store.js
Things that affect the front end shouldn't be mixing directly with the back end code, as this will make life harder for people just working on one specific side of the project.
This will need quite a bit of cleaning up, but if you'd prefer to work on something with the existant code I'll refactor this ( and anything you add )
When entered as guesses. On the server side, so that no sneaky buggers send them anyway.
Hello everyone,
it is just me or does it seem to be both the case that:
1.) The website (assuming it was once hosting the game itself) is no longer there?
2.) The project has been abandoned?
I am on search for multiplayer games I can play together with my closed-off community online.
Have a good time, whoever is reading that.
We'll need a decent looking hangman created.
For example this can be done in illustrator and exported as an SVG. Each part will have to be one complete path/shape, and ideally each layer will contain one part. These translate into manipulatable DOM objects so will allow us to play with the end result using basic CSS and Javascript. Fun.
I've included an example in the current iteration, just to give a feel for it.
Animate the "correctGuess" process by bringing the letters on the screen in a fun way.
Woosh. Shazam. Kablam.
Should be setup for the front end at least
We don't necessarily need, but could use a fun logo to use either in the top left corner of the site, or as an intro/loading page.
Happy to accept animated logos in any fashions, or other ideas if there's anything someone would like to try.
If someone could grab me on discord who's interested in implementing the basic networking aspects of this.
Sockets.io seems to be the consensus and fits better than WebRTC, so I'd like to go for that.
Given this is one of the primary functions of the project, it would be good to get this (and a UI update) out so that we can have something nice to wave around and lure in contributors.
Get in touch on the discord to get assigned, and I'll kit you out with wireframes.
Generally speaking there'll only be two 'views' ( both on the same URL ). If you only want to do part of it, I'll happily take over where you leave off.
If it looks good, it'll encourage people to work on it !
Preferably some kind of pop up.
Create functionality in the clientSocket to allow us to host multiple games simultaneously
"""
The solution that works without changing the build process is requireing the socket.io-client in clientSocket.js
var io = require("socket.io-client");
var socket = io('http://localhost:5000');
That tells webpack that it should add it to the bundle
In that case you don't need the socket.js file at all and you don't need to load it separately in the index.html file
I guess I could change the babel config so everything is put back on global. let me know what you think is the way to go
"""
ken
I.e most game updates, game over, game starting, victory should go straight to clientGame.js and be unpacked there.
Some meta-game information fits clientSocket.js better.
Use the images in src/assets/img to get you started
** on hold
Have the input field clear once the user enters a letter guess.
This file is now in the src folder.
Find a way to read it's contents.
Pass a word with 5 or more characters to store and set it as the secretWord
Once the game reaches 0 guessRemaininings disable the input for the user.
This can be done in your design software of choice.
These can be stylised drawings or just solid CSS work. They are the containers/backgrounds that the sidebar and letter guess will sit on.
Only a unique letter counts as a guess. So a user can't enter A, E, A for example
Right now the word is qwertyuiqq, can you fix it?
I think It would be a better UX if user would be able to submit the input using keyboard. And typing and clicking on submit button can quickly frustrate the player.
I would love to take this issue and make a PR. If you are OK with it?
a with a name for each player should do for now
The current layout of logo/game window/word entry/sidebar/contents doesn't handle all screen sizes very well.
Will need some responsive work !
There is a specter of node routes in the current version, however in reality it's just loading an index.html in the base directory.
It would be good to get this working for the sake of having a template language even if it's remaining a single page site.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.