filipedeschamps / meu-primeiro-jogo-multiplayer Goto Github PK
View Code? Open in Web Editor NEWUm jogo multiplayer bastante simples para testarmos o Socket.io
License: MIT License
Um jogo multiplayer bastante simples para testarmos o Socket.io
License: MIT License
com base no 1st release estou tentando importar uma imagem pra representar o jogador no lugar do quadrado colorido tentei usando:
var icone = new Image();
icone.onload = function() {
context.drawImage(img, 10, 10);
}
icone.src = 'image.png';`
porém quando faço isso o game não carrega e o ícone para :(
Ainda não sei bem como fazer, mas após tentar implementar atrasado a função Throttle, que segue um fix, add um segundo emit, sem a flag broardcast, pra fazer um update também do server pro cliente, e sincronizando os dois...
Continuando, nas minhas tentativas, vi que o canvas, ele aplica um anti-aliasing, ao tentar movimentar uma fração pixel, o que mi deu a ideia, de fazer um rastro, com uma transição de opacidade, para simular linhas guias de animação, seria válido fazer tal coisa?
Fala turma!
Estava pensando em utilizar o .env para definir a porta, assim outros serviços como o heroku poderiam rodar o servidor. Acho que o código ficaria parecido com isso:
const port = procces.env.PORT || 80
webServer.listen(port, function(){
console.log('> Server listening on port:', port)
});
Já colocaram um bot pra andar na velocidade da luz de novo 😂
Quem controla o throttling hoje é o frontend, alguém se arrisca a fazer uma versão no backend para a gente deployar?
Ao rodar npx serve
,
A seguinte mensagem é exibida:
(node:2411) ExperimentalWarning: The ESM module loader is experimental.
file:///home/gitpod/.npm/_npx/2411/lib/node_modules/serve/build/main.js:130
url.port = url.port ?? "3000";
^
SyntaxError: Unexpected token '?'
at Loader.moduleStrategy (internal/modules/esm/translators.js:83:18)
at async link (internal/modules/esm/module_job.js:36:21)
Alguém tem alguma ideia da origem deste erro?
Olá, tudo bem? sou novo na programação, então não tenho conhecimentos em Node.JS, ou muito em JavaScript, queria tentar utilizar o projeto no ngrok, pra compreender esse sistema de hospedagem local, acredito que facilitaria muito para mim, quando fosse desenvolver projetos mais longos ao decorrer do tempo, mas eu não estou compreendendo como consigo fazer isso, seria possível alguém me ajudar nisso por favor? já instalei o Node, Ngrok, então creio já estar meio caminho andado, consigo fazer ngrok http 80, mas não sei como fazer para conseguir rodar o projeto através do ngrok e navegador, será que alguém consegue me ajudar nessa? agradeceria muito.
att,
Matheus.
Tentei dar deploy mas fica gerando o seguinte erro no console do navegador:
polling.js:307 GET https://multiplayer-game-7ztxqj1zr-marcuth.vercel.app/socket.io/?EIO=4&transport=polling&t=OWhMXjG 404
Fala Felipe, beleza?
Uma forma de usar a variável socket, é tornar ela global
globa.SOCKET = socket;
Assim quando o server iniciar, você consegue usar ela em controllers e models.
Abraços
Pessoal eu tava pensando que seria legal a gente fazer uma coloração diferente para jogadores com diferentes níveis de pontuação, por exemplo, um jogador com mais pontuação estaria em um nível mais próximo do vermelho, enquanto outro com pontuação estaria mais baixo, seria uma escala de cores, seria interessante por que com o passar do tempo a tela ficaria toda colorida, rsrsrs.
Fazendo aqui minha versão em PHP do repositório, da pra notar que seria bem interessante ter a spec de um protocolo, que além de documentar vai abrir a possibilidade de implementação em vários outros back-ends, daria até pro front-end escolher em qual game-server ele vai se conectar.
Acabei já mapeando as mensagens aqui.
Gostaria de entender o pq usar ele fora do modulo?
eu percebi que ele nao é usado em lugar nenhuma alem desse momento, é só uma duvida :D
eu tava tentando abrir somente o servidor para uns testes
import express from 'express'
import http from 'http'
import socketio from 'socket.io'
const app = express()
const server = http.createServer(app)
const sockets = socketio(server)
app.use(express.static('public'))
server.listen(8080, () => {
console.log(`> Server listening on port: 8080`)
})
mas eu recebo o erro
import socketio from 'socket.io'
^^^^^^^^
SyntaxError: The requested module 'socket.io' does not provide an export named 'default'
como eu resolvo?
Quero testar uma ferramenta chamada Gitpod (https://www.gitpod.io/) para conseguirmos desenvolver juntos os projetos.
Então as modificações que eu fizer aqui vão ser pra preparar o projeto para rodar melhor no Gitpod e também conseguir suportar todas as alterações dos contribuintes, assim como foi feito no repositório do Fogo do Doom que deu super certo (https://github.com/filipedeschamps/doom-fire-algorithm/)
Vai ficar massa 👍
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.