ivansanchez / artemis-glitter Goto Github PK
View Code? Open in Web Editor NEWNode.js client library for Artemis Space Bridge Simulator
License: Other
Node.js client library for Artemis Space Bridge Simulator
License: Other
Use module.exports instead of navigator to tell worldmodel.js if it's running server-side or client-side.
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
We should be user-friendly and launch a web browser at start-up, much like tilemill. See http://stackoverflow.com/questions/18924469/what-does-tilemill-use-to-make-node-js-into-a-native-desktop-app
See http://nodejs.org/api/events.html - and subclass that into the worldmodel.
See https://github.com/Wolfy87/EventEmitter for the browser alternative. These should be pretty much compatible and still allow sharing the worldmodel between server and client.
See also http://www.hacksparrow.com/node-js-eventemitter-tutorial.html
Each of the alerts played by the proximity monitor should have a corresponding on/off/mute control. I need to decide whether to use a button, a slider, a checkbox, or whatever.
This might need some UI/UX design so a LCARS-esque design would be possible by CSS'ing the whole thing.
Consider replacing the DS display with a SHLD display showing just "ON" and "OFF".
Unzipping Glitter on some systems (e.g. Linux Mint 17) and trying to run will silently fail.
Running on a console gives some information: libudev.so.0 is missing. This is related to an upstream bug from node-webkit: nwjs/nw.js#770
The easiest way to solve this for end users is to provide a wrapper shell script that does the appropriate file linking, or modify the binary itself during the build script - there's an example of how to do so at https://github.com/rogerwang/node-webkit/wiki/The-solution-of-lacking-libudev.so.0
Experiment using SVGs as backgrounds for the individual elements. They might be able to rescale properly.
dat/
directory in the yaml config file, defaults to ./dat/
The visibility or hostility of vessels is not straightforward - I need to check status of the cloaking device, plus scanned state of a vessel, to know its callsign.
Likewise, hostility of a vessel is determined not only by the "isEnemy" flag, but the faction and surrendered flags.
The world model should abstract these details, or provide functions for them.
Apparently 2.1.5 breaks glitter in some way, according to http://artemis.forumchitchat.com/post/show_single_post?pid=1285923787&postcount=54
Run a few tests to see if everything is the way it should look.
Perhaps add a new screen with a resettable self-destruct countdown timer.
This needs new packets that have to be implemented, see http://artemis.forumchitchat.com/post/selfdestruct-6628638
Double-check that the updateTorpedo packet is parsed properly from an Artemis 2.1.5 server.
Will this get updated to Artemis 2.3?
Thanks
The format for ConsoleStatus has changed in 2.1, and one of the consequences is that the ship index appears as -1.
Investigate the new packet format and re-implement it.
When running a glitter client on a Mac, playing any sound will crash Safari. (Easiest way to reproduce = red alert).
Seems to be related to the audio element being destroyed after it's been paused.
Use nexe or a similar tool to build Linux/MacOSX binaries.
Add some random computer bleeps from freesound, e.g. http://www.freesound.org/people/suonho/packs/229/
Use node2exe or a similar tool to build Win32/Win64 binaries.
The packaged 0.3.1 crashes when trying to resolve file paths when looking for the vesselData.xml file:
TypeError: Arguments to path.resolve must be strings
at Object.exports.resolve (path.js:327:15)
at Object.eval ([whatever]/artemis-glitter-0.3.1.app/Contents/Resources/app.nw/vesselData.js:13:24)
Check the values of process.execPath
and module.uri
when running on a Mac.
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.