An online HTML5 multiplayer space shooter built with Lance game server
lance-gg / spaaace Goto Github PK
View Code? Open in Web Editor NEWAn online HTML5 multiplayer space shooter built with Lance
License: Apache License 2.0
An online HTML5 multiplayer space shooter built with Lance
License: Apache License 2.0
Hello! First of all, thanks for your work on Incheon, it looks like a great project so far.
I'm running into an issue (but is it really one?) while playing Spaaace.
The missiles seem to jump back to be on par with the server:
https://media.giphy.com/media/26xBzrKIJfH0mt29i/giphy.gif
Is this what is supposed to happen? Is it linked to latency? Why does this happen?
Thanks in advance for your answers, I'm kind of new to networking so every tiny piece of explanation helps :)
It would be great to give players the option to enter a name, rather than randomly generating one for them after every respawn.
Got the following error when trying run npm install on the root directory of the cloned repo:
4npm ERR! code ENOLOCAL
npm ERR! Could not install from "../lance" as it does not contain a package.json file.
Not sure what caused it but deleting package-lock.json fixed it.
http://spaaace.herokuapp.com/ plays poorly on MS Edge
The coordinates of the missile on the client differ from the server
I was trying the game in the US server, in a iPhone, and the fire button doesn't work. Asked a friend to try it in Android and it also doesn't work.
I found this https://stackoverflow.com/questions/50955593/lance-js-library-spaaace-tutorial-unresponsive-to-touch-input-on-mobile/51046274#51046274 that made me think this was solved but apparently it's still not.
I wanted to use this project as a base for a new one, but it's really frustrating to constantly run npm run build
(which takes forever) and then npm start
again.
I saw there are 2 run scripts start-dev
and dev
in the package.json, but when I run the start-dev script, it just never updates and always provides the old files. The dev
script is even worse, I mean it appears as if it would do something, but on localhost:3000 there is nothing and I didn't see a reference to another port anywhere.
Jitter is more pronounced with spaceships is at an edge
Here's my console output when I attempt to do npm install from node 12.16.1:
spaaace on ๎ master [?] is ๐ฆ v4.0.0 via โฌข v12.16.1
โ npm install
> [email protected] postinstall /Users/mikereinstein/Sites/spaaace
> webpack && babel src --source-maps --out-dir dist-server
Browserslist: caniuse-lite is outdated. Please run next command `npm update caniuse-lite browserslist`
[BABEL] Note: The code generator has deoptimised the styling of /Users/mikereinstein/Sites/spaaace/node_modules/lance-gg/dist/client/lance-gg.js as it exceeds the max of 500KB.
Hash: 4d23b9470f874db875fd
Version: webpack 3.12.0
Time: 5435ms
Asset Size Chunks Chunk Names
bundle.js 2.82 MB 0 [emitted] [big] main
bundle.js.map 3.97 MB 0 [emitted] main
[5] (webpack)/buildin/global.js 509 bytes {0} [built]
[31] ./src/common/Utils.js 1.21 kB {0} [built]
[32] ./src/common/Ship.js 8.49 kB {0} [built]
[112] ./src/client/clientEntryPoint.js 788 bytes {0} [built]
[131] (webpack)/buildin/module.js 517 bytes {0} [built]
[137] ./src/client/SpaaaceClientEngine.js 7.09 kB {0} [built]
[139] ./src/client/SpaaaceRenderer.js 22.3 kB {0} [built]
[140] ./src/client/ShipActor.js 5.14 kB {0} [built]
[236] ./src/client/MobileControls.js 4.6 kB {0} [built]
[253] ./src/common/SpaaaceGameEngine.js 8.35 kB {0} [built]
[254] ./src/common/Missile.js 4.94 kB {0} [built]
[255] ./dist/assets/sass/main.scss 1.05 kB {0} [built]
[256] ./node_modules/raw-loader!./node_modules/sass-loader!./dist/assets/sass/main.scss 3.02 kB {0} [not cacheable] [built] [failed] [1 error]
+ 245 hidden modules
ERROR in ./node_modules/raw-loader!./node_modules/sass-loader!./dist/assets/sass/main.scss
Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (72)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.11.0
at module.exports (/Users/mikereinstein/Sites/spaaace/node_modules/node-sass/lib/binding.js:13:13)
at Object.<anonymous> (/Users/mikereinstein/Sites/spaaace/node_modules/node-sass/lib/index.js:14:35)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> (/Users/mikereinstein/Sites/spaaace/node_modules/sass-loader/index.js:4:12)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at loadLoader (/Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/loadLoader.js:18:17)
at iteratePitchingLoaders (/Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/LoaderRunner.js:169:2)
at iteratePitchingLoaders (/Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/LoaderRunner.js:165:10)
at /Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/LoaderRunner.js:176:18
at loadLoader (/Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/loadLoader.js:47:3)
at iteratePitchingLoaders (/Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/LoaderRunner.js:169:2)
at runLoaders (/Users/mikereinstein/Sites/spaaace/node_modules/loader-runner/lib/LoaderRunner.js:365:2)
at NormalModule.doBuild (/Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/NormalModule.js:182:3)
at NormalModule.build (/Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/NormalModule.js:275:15)
at Compilation.buildModule (/Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/Compilation.js:157:10)
at factoryCallback (/Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/Compilation.js:348:12)
at /Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/NormalModuleFactory.js:243:5
at /Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/NormalModuleFactory.js:94:13
at /Users/mikereinstein/Sites/spaaace/node_modules/tapable/lib/Tapable.js:268:11
at NormalModuleFactory.<anonymous> (/Users/mikereinstein/Sites/spaaace/node_modules/webpack/lib/CompatibilityPlugin.js:52:5)
@ ./dist/assets/sass/main.scss 4:14-123
@ ./src/client/clientEntryPoint.js
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! [email protected] postinstall: `webpack && babel src --source-maps --out-dir dist-server`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/mikereinstein/.npm/_logs/2020-03-30T00_01_10_986Z-debug.log
Hello, from time to time, I receive this error and can't move the ship anywhere:
No indicatorEl found with id 1189 updateOffscreenIndicator @ bundle.js:25840
I reload the page and works fine again. No idea how to reproduce it. Maybe related to lag?
Thanks
This happens when I start running spaaace on a computer
where it never ran before, so it is fixed by refreshing the page.
When it happens, the game doesn't start. The exception is raised on the SpaaaceClientEngine::start()
method, in the third line below:
this.gameEngine.once('renderer.ready', function () {
// click event for "try again" button
document.querySelector('#tryAgain').addEventListener('click', function () {
if (Utils.isTouchDevice()) {
_this2.renderer.enableFullScreen();
}
_this2.socket.emit('requestRestart');
});
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.