Search the Community

Showing results for tags 'node.js'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • HTML5 Game Coding
    • News
    • Game Showcase
    • Facebook Instant Games
    • Coding and Game Design
  • Frameworks
    • Phaser 3
    • Phaser 2
    • Pixi.js
    • Babylon.js
    • Panda 2
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 42 results

  1. About MGN Studios: MGN Studios is the new game development division of Freedom! Family Limited. Our mission is to create great games and technologies that actively engage and involve the YouTube community of players, bloggers, reviewers and creators. We’re setting up shop right here in beautiful Vancouver! If you want to join a start-up where you get to work remotely and build something new, and be a part of an honest & transparent leadership team with a veteran Studio Head, then MGN Studios is for you! THE ROLE: Are you up for the challenge? We are currently seeking a Senior Game Engine Developer to join our team in leading the architecture and development of browser-based video game engine technology. You will be the driving force in the design and development of our studio’s game engine infrastructure. You should be comfortable diving deep into technical architectures and requirements, able to quickly identify solutions to challenges discovered during development, and ready to direct and mentor other developers in creating a robust and scalable code base. Prior experience building browser-based multiplayer game technology is preferred. We are looking for someone to be a key participant in the creation of a collaborative environment that leverages agile development and rapid prototyping; rewards creative solutions and intelligent risk taking; fosters a culture of excellence, respect, and fun; and makes great games. RESPONSIBILITIES: Are you ready to make a contribution to our team? Lead the design, implementation, and growth of a browser-based HTML5 multiplayer game engine. Manage and mentor a team of software developers through the interactive development process. Set company-wide code development standards and best practices. Work with game designers and artists in the development of game features, art pipelines, and tools. Partner with producers, PMs, and other leads on schedules and plans. Identify technical and production issues/risks and propose solutions. QUALIFICATIONS: Do you have what it takes? Degree in Computer Science and/or relevant professional experience. 5+ years experience in professional software development. 3+ years of experience in the development of game engines. Very good knowledge of existing game engines (e.g. Unity, GameMaker, Phaser, Pixi, Turbulenz, etc.) and server side technologies. Deep knowledge of modular programming, API design, and game architectural patterns. Extensive experience with frontend and backend technologies such as HTML5, Javascript, CSS/CSS3, jQuery, PHP, Python, Node.js, MySQL, etc. Source revision control experience (Github preferred). Professional experience in agile software development. Experience working effectively in cross-functional game teams. Excellent oral and written English communication skills. Experience developing MMO city builder games is a PLUS Experience developing casual MMO .io games is a PLUS Experience with Apache Ant, iOS WebKit, Android Webkit / Chrome is a PLUS Knowledge of video platforms including YouTube, Dailymotion and Twitch is PLUS COMPENSATION: Competitive Salary Flexible work hours Flexible work locations (home, office, etc.) Are you intrigued? Here are a few more reasons to make MGN Studios your daytime/anytime home: Work remotely - Did we already mention you get to work remotely? Yes, it’s true! Leadership - Do you like working with veteran Studio Head who will give you clear direction, honesty and guidance, and believes people are the pillars to success. He’s the opposite of an evil villian with a curly moustache. Build something new - Play a role in building a game development studio that can’t stop and won’t stop growing. Career growth - Make an impact by leading projects and driving the direction of the studio. Develop initiatives and solutions that drive your career and boost the studio’s growth. For Freedom! Does this sound like you? Please apply asap as we are interviewing immediately for this permanent, full time position. PM and we can arrange a time to speak over the phone!
  2. mla

    Images disappearing

    My game is build for 6 players. Each player loads the game in a browser is assigned a unique room that displays a personal card and is represented by an avatar. The game works well, the images all load, however for some reason as more players access the game, some images may disappear. The player is actually still logged into the game and can even play the game, however their avatar image may have disappeared or their personal card may have disappeared. There is no consistency to which image may vanish and it doesn't always happen, but in most cases it does. Would anyone know why this may be? Thanks!
  3. timetocode

    NullEngine and oimo

    I'm attempting to use NullEngine in node.js as a component of the server side simulation for a multiplayer game. When using *just* NullEngine + nengi.js (a multiplayer engine) mesh intersection and rays work great. I can get somewhere in the realm of 50-150 ccu (that's players, not NPCs). The performance is really awesome. Now I'm trying to get some more advanced physics in place. However when I attempt to include OimoJSPlugin on the serverside I get " TypeError: Cannot read property 'World' of undefined " const BABYLON = require('babylonjs') let engine = new BABYLON.NullEngine() let scene = new BABYLON.Scene(engine) let camera = new BABYLON.ArcRotateCamera('Camera', 0, 0.8, 100, BABYLON.Vector3.Zero(), scene) scene.enablePhysics(null, new BABYLON.OimoJSPlugin()) That last line there is the one that throws the error. Any idea what I'm doing wrong? I also get a warning that 'oimo' module cannot be found (related, I presume?). I setup babylon via `npm install babylonjs` (as opposed to downloading something) and the version is 3.2.0. Thanks for reading! And BJS + NullEngine is a dream come true!
  4. Hi Guys! I haven't been active here for quite some time and haven't done anything with Babylon.JS for quite a long time. But after checking out the changelogs, I saw that we can now run Babylon.js Server Side, how awesome is that! So I had to squeeze in some time and implement a proof of concept multiplayer simulation with Client and Server side physics engine. It's quite basic. The Client can control a ball by spinning it forward or backward (with W and S). By changing the camera angle (with A and D) you can change the direction of the impulse. With Space you can jump around. To check out how it behaves with multiple players you can either ask someone to also visit the site at the same time or just open a new tab in your browser. Technical it is rather simple. Server and Client communicate via Websockets. The client applies impulses to it's ball, these parameters for these impulses are sent to the server. The server applies these also and keeps the state for the whole world up to date. Each render loop the server sends the current state to all the clients (ideally 60 Hz). The clients then correct the position, direction and velocity of all objects including their own ball if needed. I haven't tried it out with higher delays, but I would suspect the result will be quite "jumpy". Interpolation for correction and prediction of movement is not (yet) implemented. Added Server Update Rate and Ping to see lags and delay in perspective to these metrics. Here is the code: Here is the Demo: Here is a great article about Server-Client Game Networking techniques: which was somewhat the motivation to implement this proof of concept.
  5. I created and did too much hard work to polish it, in hope that you like it : ) is a remake of classic battleship game who's origin is from world war 1. Arrange your ships and get into battle. Your main goal is to sink all 10 ships of enemy before he sink yours. First one to sink all ships will win the battle. Currently It's single player but I'm working on it's multiplayer version in which you'll be able to play with your friends or with any random person. I really need your precious feedback so please take some time to give it. THANKS FOR READING
  6. Hello everyone So i am making a game where the server sends which sprites to create on the client's view. So i can't load those sprites util the server sends an object with which sprites to show. The code is as follows: in the server this.emit("newSprites", newPlayer); in client socket.on("newSprites", addSprites); function addSprites (data){ sp = data this.add.sprite(58, 84, } This will result in an error Uncaught TypeError: Cannot read property 'sprite' of undefined I know that this is in reference to 'this'. because "this" is the function not create part of Phaser. In Phaser 2 that line would start with game.add.sprite. But i don't know what to call it in Phaser 3. Any help would be appreciated. thanks
  7. It seems that to send a private message to a player, you are supposed to use I need to emit an image to a specific player so am using this concept, however it doesn't seem to work. Would anyone know how to emit an image to a specific client? Thanks!
  8. stormwarestudios

    NullEngine in v3.1

    Hello! I've been diligently working on my game, and recently came upon the recently released BabylonJS v3.1 ... and I am super excited about NullEngine! My game is multiplayer client/server; the server component is Node.js running ActionHero v18 (and of course the client is running BabylonJS!). Taking a look at the documentation and accompanying example for NullEngine, it seems it does not run 100% out of the box. However... I've been able to get everything up and running under Node 8.9.3 with a combination of mock-browser, EventEmitter, xhr2 and sheer luck // assume this file is saved as mock-browser.js 'use strict'; const EventEmitter = require('events'); class ProgressEvent extends EventEmitter {} module.exports = { setupMockBrowser: () => { const MockBrowser = require('mock-browser').mocks.MockBrowser; const AbstractBrowser = require('mock-browser').delegates.AbstractBrowser; let window = MockBrowser.createWindow(); let opts = { window }; let browser = new AbstractBrowser( opts ); global.window = window; global.navigator = browser.getNavigator(); global.document = browser.getDocument(); global.XMLHttpRequest = require('xhr2').XMLHttpRequest; global.ProgressEvent = ProgressEvent; } }; To use this, it is as simple as: require('./mock-browser').setupMockBrowser(); I'm curious to know a few things: 1) Since the game supports multiple users interacting in different areas (e.g. multiple "rooms", multiple users per room, users can only interact with others in the same room) it makes sense to me to manage these "virtual player namespaces" separately, as one BabylonJS Scene per "room". Does this sound like a good way to divide up the game? Are there software limitations of managing multiple scenes simultaneously? 2) Since the game-server has many other responsibilities (database saves, websocket clients, periodic tasks via a task-runner) it seems wisest to manage the client-side-equivalent of the "render loop" in a periodic task, which would be responsible for updating objects' positions based on velocity, testing collision, and issuing events (via websockets) to game clients based on movement updates/positioning rather than the typical engine.renderLoop(). I don't need the updates to be real-time, but do need them to occur 'quickly enough' (e.g. every 100ms) that my game-server can keep up with the number of objects per-scene. Does managing my own engine.render() seem sane? (Now that I write this out I feel that updates and rendering are unrelated. I guess we'll see...) 3) For geometry collision, I'd like to have "proximity" and "actual" collision-testing; perhaps BoundingSphere for quickest/optimal proximity-testing, and BoundingBox derived from a mesh for actual collision. Good idea? Terrible? I'd love to hear the community's thoughts, and thanks for the amazing NullEngine update!
  9. Hello! I have been making this small puzzle prototype-game on my free time. It is called Numeropeli online. (Numeropeli means numbergame in Finnish.) I'm pretty sure there are real name for this type of game, (like chess, GO, backgammon) but i haven't found the one using google, so that's why the name of the game is kinda dumb. It is using node.js on backend, and it's using to connect to the server. It currently supports playing against random people, invite/host -game and playing against AI. I have been having fun playing with friends, it is kinda addicting too. The idea is, that players play in turns. The first player chooses the tile where the game begins. At each round, the players has to choose a tile from the line that the opponent has chosen. When you select a tile on your turn, the opponent must choose the next tile from the same column where the last picked tile were. The player with the most points wins. The next version contains: UX and UI updates, maybe whole rework (It feels bit wrong still) bug fixes (I'm pretty sure there are still bugs :D) Sounds (maybe) Stats system (wins, losses, avg, best points, game history, etc.) Leave button for games, if you dont want to play. Support for 5x5 tile games. Translations for other languages. Maybe make this an Windows Phone/Android application I would like to know what you guys think about it, are there some bad things, what should i change in the web design? Can you see any bugs? It looks like this on mobile Try it!
  10. GodsVictory

    Multiplayer desync

    What am I doing wrong here. Normal movement is fine, but when boost is applied, there is rubber banding at the end. I'm using client/server model to implement movement. pseudo code: Client sends inputs to server Client process inputs and displays locally Server receives inputs and calculates where client should be Server emit client coordinates Client receives update and applies coordinates Client reapply all inputs made after the last server update Player class: Server code:
  11. Bogdan Crisu

    Phaser Arcade Physics in Node.js

    Hi, i'm curenttly working on a multiplayer game build with Phaser 2.6.x, and for like 2 weeks i'm strugaling to initialize on node.js only the Phaser Arcade Physics, but i can't find how. Anybody ever tried to run Arcade Physics by his own ?
  12. Hi, I've been in the industry for quite some time, mostly doing web development (which includes tons of JavaScript these days, like jQuery). I am currently looking to expand my portfolio with full works (or mostly full works). Most of the work I have done has been changes and fixes to existing websites or back end programming, thus aren't great to show off. I am a very capable programmer with tons of experience, reasonable prices, and currently developing a game called AerialDrop which uses Phaser and is multiplayer (networked). If anyone is interested in some work, email me! My portfolio is linked here: My resume is linked here: Thank you!
  13. PearFiction Studios is looking for an experienced HTML5 Game Developer to work with our highly talented Montreal team. Develop the next generation of online casino games in our cool loft style office in the trendy Plateau Mont-Royal district. If you have a personality to handle responsibility and collaborate in a small team environment, we'd love to have you join PearFiction Studio's dev team. Candidates should have an interest in online, mobile, and social casino games. You will be responsible for: Participating in designing the front-end aspects of a game design including entertainment, pacing, features, and UI functionality. Designing, developing, and maintaining games in HTML5. Developing new front-end game development tools, features, or extending current ones. Creating and owning all design documentation and deliverables for our HTML5 game development toolset. Developing new casino games with our HTML5 game development toolset. Integrating the game graphics and visual effects. Integrating the game business requirements and features. Ensuring entertainment value to end users. Maintain and test HTML5 games and tools to ensure stability. Essential Experience: Technical degree or higher in computer science Minimum of three years of HTML5 (Canvas and JavaScript/Typescript) game development for mobile and desktop platforms. Experience with Pixi.js or JavaScript/CSS frameworks. Solid knowledge of Object Oriented Programming, MVC and other design principles. Experience working in agile and iterative environments. Familiarity with project tracking tools such as JIRA or Trello. Familiarity with Git and feature branching approach. Understanding web browser game development, with focus on mobile. A flair for game graphics programming, animations, effects, and optimization for best performance for online and mobile use. Desirable Experience: Experience developing slot machine front ends. Good understanding of casino games and real money gaming mathematics. Experience working with graphically performance-heavy web applications. Experience with client-server integrations and serialization techniques. Open to challenges of learning new languages, technologies, frameworks and approaches to development. Experience in game development projects (hobby or professional). Experience with other programming languages (C#, Java, / PHP / Python / C++, etc) is an asset. Genuinely wants to do a good job as a matter of pride in one’s work. Keen to learn and demonstrate ability. Self-motivated. Bilingual (French and English) is an asset. You can apply on our website here -> or via LinkedIn here ->
  14. primrose93

    Node.js Multiplayer Simple Game Here's a sharable link to the directory where my files are located. There's no node_modules, so it's necessary to install before express and The problem is I can't create and render the balls which need to bounce all the time. The server is responsible for creating my players and balls. I did successfully the creation and movement of my players with the arrow keys and that's synchronised to all the clients. But I can't do the part with bouncing balls. It seems simple game but as far as I am new to this stuff, I can't figure it out. I provide a link to the directory of my files. The command to start the game is: node server.js. If anyone could help me, I would be very happy. Thanks in advance guys.
  15. Hi all! I'm newbie to game development. I just complete my first game, a simple game using HTML5 canvas, and express. I have NodeJS npm installed and i run my game locally in my PC as npm game.js. The question is that now i want this game to upload to a server where different users from different devices play the game. Is it works like we upload normal sites to domains or different. Please help! Thanks.
  16. My first HTML5 Game, (So exciting! ) Every since playing the famous revolutionary game, I was inspired to create my own "io" game, so here it is! I took the classic version of Snake, and made it multiplayer (Server may take a while to connect, and a bit laggy due to it being free from Heroku) Basically, what I want to know is (preferably 1-10 scale): Do you like the concept? How easy was it to understand how to play? What would you add/change? Any bugs? (For now, may experience lag) What do you think of the name of the game? Anything else that comes into mind, please add! Gameplay Objective of the game is to eat the gray squares causing you to extend your length, while avoiding crashing into yourself, or others. Become the longest of them all! Controls W or ^ - Up S or v - Down A or < - Left D or > - Right Enter - Chat Hope you enjoy this as much as I did making it! SCREENSHOTS Screenshot (1) Screenshot (2)
  17. nomadic_aviator

    Babylon.js and Node.js

    Hello, I have another question about the real estate project I am working on. I am using Node.js as the server for this project. It is fairly straightforward and I have gotten the application to work except for one part. When i look at the console, it appears that the app wont get the .babylon file I am importing into my scene. I am not sure how to solve this but I have uploaded this project on Github if you would like to take a look: I have found an Babylon.js npm, but I don't see any tutorials on how to use it in the app. Is my approach to this wrong?
  18. Ray


    Hi guys, I'd like to show my last game: PressBall. Yo can see the game info and play here: Info and Play Game available for exclusive or non-exclusive licensing. If you are interested, feel free to write via: It's my first time using and phaser, any feedback is welcome!
  19. AerialDrop - Summary Aerialdrop is a turn based multiplayer online artillery strategy game. Matches are broken up into 2-8 players who can team up and group into a maximum of 4 players or free for all up to 8. Starting out you will be able to pick between 6 mechs who each have 3 abilities. The abilities are broken down into 1 being their basic shot, 2 being a specialized shot and 3 being their ultimate shot. To go along with the mechs there are 6 maps for players to choose from with their own unique destructible ground. Our actual about page is located here: GamePlay Once in game, you will notice our HUD which has 3 bars. The first bar is your power, the second is your special and last is your fuel. The power bar lets you gauge how far your shot will go. Once you fill your special bar you can utilize the 6 special abilities available for all mechs. These abilities are wind change, teleport, bunker, barrier, heal and double shot. Each ability is worth a different amount of special. The Ultimate also utilizes the special bar. The last bar is your fuel which indicates how far and long your mech can move each turn. To make things a little difficult the wind is constantly changing every turn so players will need to learn how to adapt. Players also have a time limit for their turn which is 30 seconds. Players will accumulate battle points for the damage they deal during the match. Battle points will be used as currency to upgrade your health, power, special and fuel. The game also has an advanced chat system that features private messages, and eventually a friends list. A leader board ( aka ranking ) also exists, so be the best, wait your turn and don't miss! The game also features a manual here: Thanks MadGizmo would like to thank Phaser ( and many other tools ). Phaser allowed us to dive into creating the game right away, implement what wasn't in Phaser and easily integrate it with the rest of Phasers tools. It honestly worked great and I always wanted to dive into HTML 5 gaming... especially now that Flash doesn't dominate the market. Our credits are located here: We will be constantly updating AerialDrop and eventually working on a seasonal events and tournaments. This game is never meant to be pay-to-win but we will eventually create skins. This game was very fun to make, very stressful, way to much time spent but it was a game we always wanted to make. Skill shots FTW! We have a cool landing page located here: And you can signup right away here: Vine Account - Twitter Account - This is our first public-ish release of the game and it just went to version 0.1.8 and is still in alpha development! News is located over here: *All feedback is welcome!
  20. jcarlos17

    Question about websockets

    Hi. It is my first post in the forum. I was looking for a specific category for server-side topic, but found nothing related. I have some experience using PHP with Laravel to create web applications (even I have created some SPAs with Ajax calls), but now I see that Node.JS is the better choice to create multiplayer games (because it provides a realtime interaction between server and connected users). Some days ago I found Firebase and was using it for a bit. I see that the realtime database is really easy to use. The only bad thing is that the validation rules in firebase are strange. We have to validate defining a JSON with the rules. But in general, we can use the realtime feature very easy. We don't need to configure servers with Node.js or My question is, why nobody is using Firebase? When I look for realtime games, always see people using Node.js and (I haven't used it yet but I think that Firebase = Node.js + + MongoDB + the necessary steps to set up all of this). Thank you.
  21. I have absolutely nothing to do with the following code, I just thought I wanted to share it, and I was slightly unsure as to which section this was best suited. it.s 1.6GB with models, sounds etc. I haven't been able to load the hosted game, though, so I guess something is down. I just wanted to share it, as it seems to implement an authoritative model, with physics and hit detection done on the server. And I'm pretty sure this is something quite a few users are looking for, based on threads on the forums. The server uses three.js too, but that's only for some basic vertex manipulation for the cannon heightfield I guess. I have trouble installling canvas on node, as a Lot of people seem to have, so I haven't tested it yet.
  22. TANX is an online, multiplayer tank battle game. Technologies used: PlayCanvas WebGL Game Engine (open source engine + tools), Node.JS, WebSockets, Web Audio API, Fullscreen API, Touch, 2D Canvas. Play in your browser or Install from the Chrome Web Store
  23. Hi guys, So I'm trying to expand the game I'm making to be a multiplayer game using Node.js and The connection between server-side and client-side is working, however I don't know how to update the positions of the players. This is how it goes, whenever a player moves the socket.sessionid and coordinates are send to the server. The server then broadcasts this data to all the other clients except the client which sent the data. In the client-side that information gets decoded and stored in 2 variables (at this moment), a player variable (with the id), and a X variable (with the x value, duh). At this moment I really don't know how to update the positions of a certain sprite in the game. Are there any examples on how to create a basic multiplayer Phaser game using websockets? I'm kinda stuck. The code I'm using on the client side is as follows, it is very dirty atm since I'm experimenting.. The 'xChanged' function sends the new position to the server, and 'posChanged' reads the data that gets sent from the server. var game = new Phaser.Game(window.innerWidth, window.innerHeight, Phaser.AUTO, '', { preload: preload, create: create, update: update});function preload() { game.load.spritesheet('player', 'img/ally_sprite.png', 64, 64); game.load.image('boss', 'img/boss.png'); game.load.image('bullet', 'img/bullet.png');}var player, boss, cursors, x, y, z, xTouch, yTouch, fireButton, bullets, bulletTime = 50, text, bulletsCount = 30;var players = {};var io = io.connect('');// server ipvar xPos, yPos, label, sock;function create() { game.renderer.clearBeforeRender = false; game.renderer.roundPixels = true; game.physics.startSystem(Phaser.Physics.ARCADE); player = game.add.sprite(,, 'player'); player.anchor.setTo(.5,.5); player.animations.add('fly');'fly', 10, true); game.physics.enable(player, Phaser.Physics.ARCADE); player.enableBody = true; player.body.collideWorldBounds = true; // new player var pos = JSON.stringify({ player: io.socket.sessionid, x:, y:, angle: 0 }); socket.emit('newPos', pos); boss = game.add.sprite(game.centerX, game.centerY, 'boss'); boss.enableBody = true; boss.physicsBodyType = Phaser.Physics.ARCADE; bullets =; bullets.enableBody = true; bullets.physicsBodyType = Phaser.Physics.ARCADE; bullets.createMultiple(30, 'bullet'); bullets.setAll('anchor.x', 0.5); bullets.setAll('anchor.y', 1); bullets.setAll('outOfBoundsKill', true); game.stage.backgroundColor = '#ccc'; game.input.addPointer(); fireButton = game.input.pointer1; if(isMobile.any) { if(gyro.hasFeature('devicemotion')) { console.log('gyrojs loaded'); if(gyro.getFeatures().length > 0) { gyro.frequency = 10; gyro.startTracking(function(o) { var anglePlayer = Math.atan2(o.y, o.x); angleRadians = anglePlayer * Math.PI/180; anglePlayer *= 180/Math.PI; anglePlayer = 180 - anglePlayer; player.angle = game.math.wrapAngle(anglePlayer, false); if(fireButton.isDown) { fire(); } if(o.z < 9.5 || o.z > 10) { player.body.velocity.x -= o.x * 20; player.body.velocity.y += o.y * 20; } else { player.angle = 0; } console.log(player.body.velocity.x); // Send new position to server var newPos = JSON.stringify({ player: io.socket.sessionid, x: player.body.velocity.x, y: player.body.velocity.y, angle: player.angle }); socket.emit('newPos', newPos); }); } } else { // fallback als gyro.js niet werkt.. console.log('gyrojs not loaded'); window.addEventListener('devicemotion', function(event) { x = event.accelerationIncludingGravity.x; y = event.accelerationIncludingGravity.y; z = event.accelerationIncludingGravity.z; var anglePlayer = Math.atan2(y, x); anglePlayer *= 180/Math.PI; anglePlayer = 180 - anglePlayer; player.angle = game.math.wrapAngle(anglePlayer, false); if(fireButton.isDown) { fire(); } if(z < 9.5 || z > 10) { player.body.velocity.x -= x * 40; player.body.velocity.y += y * 40; } else { player.angle = 0; } // Send new position to server var newPos = JSON.stringify({ player: io.socket.sessionid, x: player.body.velocity.x, y: player.body.velocity.y, angle: player.angle }); socket.emit('newPos', newPos); var interval = 10; }); } } else { // Niet mobiel, bewegingen omzetten in keys console.log('Niet Mobiel'); cursors = game.input.keyboard.createCursorKeys(); } text = game.add.text(, 50, "Bullets: 30", { font: "65px Arial", fill: "#000000", align: "center" }); text.anchor.setTo(0.5, 0.5); // Add new players to the screen socket.on('newPlayerwithPos', function(data) { var obj = JSON.parse(data); var xNew = obj.x; var yNew = obj.y; console.log(xNew, yNew); var p = game.add.sprite(xNew, yNew, 'player'); p.anchor.setTo(.5,.5); p.animations.add('fly');'fly', 10, true); game.physics.enable(p, Phaser.Physics.ARCADE); p.enableBody = true; p.body.collideWorldBounds = true; });}function update() { player.body.velocity.setTo(0,0); if(!isMobile.any) { if(cursors.left.isDown) { player.body.velocity.x -= 40; } else if(cursors.right.isDown) { player.body.velocity.x += 40; var newPos = JSON.stringify({ x: player.x, player: io.socket.sessionid }); } if(game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR).isDown) { fire(); } } // Get new positions from all other players socket.on('updatePos', function(data) { for(var playerData in data) { // update array of players var player = {}; = data[playerData].sessionID; player.x = data[playerData].x; player.y = data[playerData].y; player.angle = data[playerData].angle; players[] = player; } }); // loop through all players and draw sprites for(var playerData in players) { var p = ''; var playerX = players[playerData].x; var playerY = players[playerData].y; var playerAngle = players[playerData].angle; var p = game.add.sprite(playerX, playerY, 'player'); game.physics.enable(p, Phaser.Physics.ARCADE); p.enableBody = true; p.body.velocity.x -= playerX; p.body.velocity..y += playerY; p.angle = playerAngle; }}function fire() { if( > bulletTime) { bullet = bullets.getFirstExists(false); if(bullet) { bullet.reset(player.body.x + 32, player.body.y + 32); bullet.rotation = player.rotation; game.physics.arcade.velocityFromRotation(player.rotation, 400, bullet.body.velocity); bulletTime = + 50; // Update bullet counter bulletsCount --; text.setText("Bullets: " + bulletsCount); } }}
  24. This would be an amazing opportunity where you would join a small "SWAT Style" team of passionate, results-driven, engineers. In an effort to design and develop code that delivers rich experiences using HTML5, JavaScript, CSS, and related frameworks on desktop browsers, mobile browsers, and mobile app's. Work that will be viewed by millions and millions of students around the world. Ultimately your work will lead to higher learning outcomes and better experiences in the classroom. As you know many people that put JavaScript on their resumes, may have used it for some simple validation of form input, minor changes to pages such as putting in a jQuery UI widget or a show/hide toggle. I’m looking for developers that have gone above and beyond that, and developed real applications. Individuals who have done this for the browser or they may have done this on the server side via nodeJS. Experience applying coding patterns to your code (Module, Sandbox, etc), valued modularization, written unit tests, and optimized for performance. In other words, your experience using JavaScript as a first class coding language is exactly what they need. Other notables are advanced knowledge of JavaScript, including prototype-based inheritance, promises, event delegation, DOM queries, closures, callbacks, AJAX, JSON, and understand the JS memory model. Engineers always talk to me about “wanting to feel like they are a part of something meaningful or building something meaningful.” How about using cutting edge technologies you're passionate about, and delivering on a product that 50,000 students will use/adopt every day and around 30 million students around the world will use every year. The impact you’ll have: • Write code, built tests, participate in design and code reviews with fellow developers • Work with a team of editors, animators, and product owners to understand requirements and deliver technology using Agile software development methodologies • Build quality software in an Agile (Scrum) environment • Design and develop applications and games in HTML5 and JavaScript, with a focus on Canvas-based experiences What we’re looking for: • Strong communication skills • Experience with Agile processes • Strong knowledge of JavaScript, HTML, CSS, DOM, AJAX, RestfulAPI • Experience producing and shipping at least one or more applications for desktop or mobile • Experience with JavaScript toolchain, from build system to automated testing • Experience with React.js/Create.js or similar frameworks We’d also love to see: • Experience with educational software • Experience with backend technology and frameworks, especially Java • Experience with backend technology and frameworks. *This role will require you to be on-site in the USA for a few weeks then will allow for remote options.* We look forward to hearing from you! Tommy
  25. Hi, I am new to phaser, node.js, ... Actually i am a desktop developer, i just jumped into this new area of what you guys call it HTML5 stuff, so i wondered for my project, combination of Phaser.js, Node.js, Facebook API would work on web and mobile? ( would work great on web as i know, but what about mobile phones?!) and how to port it to mobile?! would it cause a CPU/RAM (resources) bottleneck because of javascript in comparison of Native app programming?! Thanks in advance for answering