Popular Content

Showing content with the highest reputation on 08/19/18 in all areas

  1. 2 points

    ZOOM through Space: update

    Hi All, ZOOM now has (optional) score keeping so we can now know who's the Top Space Ace! Other changes: Choose your computer's power: see deeper into space if you've got the horsepower. Better object position randomization. Smoother frame rate degradation. Very easy learning curve. Obstacles grow a bit faster. Fly now at Jounce.Space! Thanks so much to BabylonJS's creators and contributors! See ya in space, Joe
  2. 1 point
    SOFTGAMES is looking for an experienced Game Developer - JavaScript / HTML5 who is goal-orientated and a strong team player. Join a team of super experienced people to build great games for Messengers that will entertain tens of millions of people around the world every month. You design, architect, test and implement game features into our live games. Further you'll work on upcoming Messenger Games from the scratch until global release and during post-launch. You will collaborate with producers, game artists and with other HTML5 Game Developers to share learning and best practices. You are passionate, ship robust and high-performance code, and act as a fount of knowledge when it comes to game development. As part of a small, high experienced and dynamic team you will enjoy a creative, challenging and collaborative environment. Your role… Develop HTML5 games for Facebook Messenger to expand our portfolio, with Pixi.js Maintain and optimize game features Write robust code to be used by millions of users Work on schedule, set clear goals Independently create complete solutions from scratch Share knowledge and help colleagues Your profile… Great passion for game programming 3+ years of professional software engineering experience Deep knowledge of: Pixi.js JavaScript / HTML5 As a plus: Phaser, TypeScript, Webpack, Reactjs, Node.js Shipped at least 2 mobile/social title, preferably on multiple platforms Ability to quickly get up to speed with existing code Deliver high-quality and well-structured code Open-minded and keen to learn Check out Cookie Crush on Facebook Messenger. Can you build this game? We offer… A spirited, inspiring, international and enthusiastic team The best and brightest company in producing and distributing Messenger Games The chance to craft games for millions of monthly gamers Valuable insights into global expansion, start-up scene and entrepreneurship Flexible working-hours and flat company hierarchy Inspiring company breakfasts, epic team events Perks: fresh fruits, cold drinks, tee, coffee, discounted local transport ticket, health package, lunch vouchers, maternity leave etc. About SOFTGAMES… Based in Berlin, the creative capital of Europe, SOFTGAMES together with its ROFL brand is the leading developer of games for Facebook Messenger and the developer behind popular titles like Cookie Crush, Solitaire Story, Candy Rain or Fish Story. Further SOFTGAMES is operating the world’s largest platform for HTML5 games distribution and monetization outside the Messengers. We’re delivering fun to tens of millions of players every month across 6 continents on the device of their choosing. Our vision is to help users to instantly discover and engage with games they like, while helping brands to reach their target audiences. Have we caught your interest? Then we look forward to your detailed application here: https://softgames.recruitee.com/o/game-developer-javascript-html5
  3. 1 point
    PLAY IT: https://arcade.ly/games/starcastle/ DESCRIPTION Star Castle, originally by Cinematronics, is an old skool shooter released to arcades in 1980. The objective is to pilot your spaceship around the screen, and destroy the cannon that sits in the centre of the rotating shield rings. You must dodge both the large electric pulse projectiles fired by the cannon, and the homing mines it releases to chase you around the screen. Star Citadel is my take on this largely forgotten classic and, whilst it includes a "classic" variant that I hope is very close to the experience of playing the original (tricky, as I've never actually played the original - only seen footage), the main event is the "modern" variant, which includes a few differences: Your ship is a bit nippier, and hopefully easier to control, and overall I've tried to make the game feel more fluid The earlier levels are definitely easier than the original You do score (a very small number of) points for destroying mines You can fire continuously simply by holding down the SPACE bar, mouse button, or by holding your touch on a phone or tablet I've also removed the 3 shot limit from your fire WORK LEFT TO DO Both of these are items for the "modern" mode: I'd like to add simple power-ups to increase your firepower I'd like to make the mines harder to destroy on higher levels by making them require multiple shots to kill, along with colour coding to show how many more times you need to shoot them There's also this: I'd like to add more control options in terms of keyboard controls so that people who are used to the original button layout of the arcade machine find the game more accessible PLATFORMS AND CONTROLS The game should run in all modern web browsers on computer, and has been tested on Windows and OSX. It also runs on both iOS and Android devices. iPhone 6 or later recommended, although it just about runs on a 5S, and Android devices considered high end in 2014/15 or later will probably cut it. On a computer either the keyboard or mouse can be used Keyboard controls are ARROW KEYS to turn and thrust, along with SPACE to fire Mouse controls: the ship will always face the mouse cursor so move the mouse to the location you'd like the ship to head towards, then LEFT BUTTON to fire, and RIGHT BUTTON to thrust On a phone or tablet you can use a combination of tilt and touch controls Tilt the device into landscape orientation (it's recommended you go into full screen - this works well on Android; iOS has no explicit full screen support so you may need to manually zoom the web page) Tilt the device to steer - the ship will face in the direction of tilt Press on the left-hand side of the play area/screen to thrust Press on the right-hand side of the play area/screen to fire TECHNOLOGIES I'm not using any kind of framework here: it's all just basic HTML5, JavaScript (ES5, to be precise, on the client), and CSS. No WebGL either: it's all Canvas2D. Audio mostly uses the Web Audio API, although I do make use of the HTML5 <AUDIO> element so the game will run with sounds in IE11. I suspect it would probably even work in IE10, although I haven't been able to test that recently, and I don't think anyone uses it anymore (unlike 11 - sigh). The back-end is NodeJS/Express (ES2016 here) on Ubuntu, with MongoDB as main data store for hiscore and play information. FEEDBACK Any and all feedback gratefully received, particularly when in comes to playability and controls. Also if you fancy testing out the login with facebook/twitter functionality to ensure your high score is recorded correctly I'd be really grateful. There's definitely lag on scores appearing sometimes. Also, I'm not sure if the reason nobody else has logged in to associate their score with their name is because they just don't want to log in, or because I'm the only person it actually works for (wouldn't be the first time). Also, happy to answer any questions. Here's the link to play, again: https://arcade.ly/games/starcastle/
  4. 1 point

    High quality glowing sphere?

    The glowLayer works fine with created meshes. http://playground.babylonjs.com/#IEW571
  5. 1 point
    There is an overshoot parameter when drawing an arc (the last parameter). In docs it says, it should be used to make the circle close fully if the width high. It is also in radian I guess, so you can try something like 0.1: graphics.arc(400, 300, 200, Phaser.Math.DegToRad(0), Phaser.Math.DegToRad(360), false,0.1);
  6. 1 point

    What's with the constant use of "this"?

    So I've seen two ways of writing Javascript. < Code that looks like this... < ...and code that looks like this. (don't mind the code itself or any errors that might be in them) The syntax is slightly different. It wouldn't bother me too much, but I still don't understand why the word "this" is being used so much. I don't even know what it's referring to. Also, I know that scripts written the first way work perfectly with Phaser. It's just that I haven't seen a template written in that style that used the standard [main.js -> boot.js -> preload.js -> etc] system, so I don't know what to write for that. I really want to write in the first syntax because that's what I'm experienced in, and using the second kind is throwing me for a loop and stopping me from doing cool stuff. Until now I didn't know there were two ways of writing JS. (if that's the case)
  7. 1 point

    Flipping faces in real time

    Ok, so as it often goes I had a light bulb moment the moment I pressed send. My problem was that I was setting all of the normals to -1 when I just needed to flip the normal facing the direction I wanted to flip the face. So its working now.
  8. 1 point
    Here's the solution I came up with using your suggestion :) // Create this.bombs = this.physics.add.group({ key:'bomb', frameQuantity: 10 }); this.circle = new Phaser.Geom.Circle(this.player.x, this.player.y, 150); this.startAngle = this.tweens.addCounter({ from: 0, to: 6.28, duration: 6000, repeat: -1 }) this.endAngle = this.tweens.addCounter({ from: 6.28, to: 12.56, duration: 6000, repeat: -1 }) // Update Phaser.Actions.SetXY([this.circle], this.player.x, this.player.y); Phaser.Actions.PlaceOnCircle( this.bombs.getChildren(), this.circle, this.startAngle.getValue(), this.endAngle.getValue() );
  9. 1 point
    Your solution is OK, but you should generalize it like this: if (player.x - enemy.x > 0) { enemy.scale.x = 1; } else { enemy.scale.x = -1; } ... so you are not dependent on fixed (340) position of enemy.
  10. 1 point
    Oooo, this thread could get flamey! Ha ha. There are numerous advantages to using ES6, a quick google search will give you heaps of reasons, with the only con being that you probably have to up the complexity to transpile back to es5/3, however, all modern browsers support most of ES6 (and newer) syntax so unless you're supporting really old browsers (and you stick solely to ES6) then you probably don't need to transpile. The biggest advantages of ES6 (for me, and I've missed loads here): * ES6 was pushed through to create more complex applications, as such it has a lot of syntax that is more useful for doing so. Some are sugar methods only, some actually provide newer functionality (particularly those related to primitives and/or the DOM). * New built-in extensions which make many tasks way way easier (and easier means less error-prone) * Sugar methods mean less dev typing which generally means less mistakes. Some things ES6 makes easy are very very hard in ES5 and they are often things devs rely on regularly so making them easier to work with means writing code is less error-prone and reading code is clearer so you can focus on what your code does, not how it does it. The biggest advantages of setting up a transpilation pipeline are (again, I'm missing loads): * Access to a module system * Access to whatever new syntax you want The con of a transpilation system is increased project complexity and you have introduced a build step which takes some time to run, as your project grows this sometimes becomes prohibitive but you do have to have a very large project for this to happen and most modern build tools abstract away incremental builds and caching i.e. they only re-build the changes so incremental builds become smaller and faster. Another con is related to the module system. Modules are awesome, very awesome. However, JS doesn't (yet) natively support them in the browser and even when they do there are additional problems i.e. if you use modules heavily (as you probably should) then your list of dependencies could easily be hundreds or even thousands of files, loading each of these one by one in the browser isn't a good idea and won't be in the foreseeable future. A module system also implies that you need some way of getting dependencies. This isn't technically necessary but is often helpful. If you are writing games then often you'll be using one (or maybe two) large frameworks to help, unless they work nicely with a dependency management system (i.e. NPM) then I wouldn't worry about getting them as 'real' modules, just include them on the page and use them, then use a module system for your own code if you want to. Newer syntax and mobile games Any gaming is typical performance sensitive, newer syntax has a few things to consider: * Browsers are well optimised for ES5, this isn't always true to ES6 (although ES6 is pretty good now as its fairly old and almost universally adopted in browsers) * Given the above, transpiling is often better for performance * The code generated by these tools during transpilation is superb, it is written by many many superb developers and has great community support so the hours invested in it must be astronomical i.e. in many cases these tools will write better code than you or I do! * It is not a silver bullet -> if perf is a concern for you then you are still largely the sole arbiter of whether you achieve your perf goals. How to use newer language features: Babel is the defacto tool (although it isn't your only option). Babel requires a bit of setup work and additionally requires you to set up a build process for your code. Again, there is tooling for this. Additionally, there are many project scaffolds out there (and tools for creating them) that can abstract this away. The absolute easiest way of getting access to these new language features but supporting older browsers is to use parceljs. Parcel abstracts away most of the complicated build stuff and has a superb feature set. It involves a few pre-requisites: * You must know how to run simple commands from the command line * You must have Node and NPM installed Once you have these things (which is generally true of any JS build system you might want to employ) then running builds is a simple one-line command. A watch task is also bundled in, this is another simple one-line command to run and watches the file system, every time you save a change it rebuilds only what has changed and propagates that to the browser. Parcel relies heavily on caching and multi-threading so is very very fast. Other tools include webpack (which is very complicated, although newer versions I think make things way way easier for most use-cases) and browserify (which is simpler in scope, but can feel a little low-level for many people).
  11. 1 point
    This works better: http://www.babylonjs-playground.com/#7GS1FA#4... hopefully on the correct path with this. http://www.babylonjs-playground.com/#7GS1FA#5
  12. 1 point

    Should I use Phaser 3?

    @phaserlover I think you might have missed http://labs.phaser.io/index.html
  13. 1 point

    Virtual gamepad

    Hi everyone, I'm trying to add a virtual gamepad to a Phaser 3 game. I'm following this code: https://github.com/ShawnHymel/phaser-plugin-virtual-gamepad but I'm having a hard time to change it to be Phaser 3 compatible. Is anyone aware of something similar to Phaser 3?
  14. 1 point


    I'm using code from that example (game and cameras resize) + some basic css. It could be part of Phaser, but honestly that's all I will ever need. If you want proper responsive game, you have to implement it yourself anyway. This is my custom ScaleManager's initialize method that I call after I create the Game instance (Haxe code). public static function initialize(game:Dynamic):Void { function resize() { var w = js.Browser.window.innerWidth; var h = js.Browser.window.innerHeight; var scale = Math.min(w / Config.DEFAULT_WIDTH, h / Config.DEFAULT_HEIGHT); game.canvas.setAttribute('style', ' -ms-transform: scale(' + scale + '); -webkit-transform: scale3d(' + scale + ', 1);' + ' -moz-transform: scale(' + scale + '); -o-transform: scale(' + scale + '); transform: scale(' + scale + ');' + ' transform-origin: top left;' ); width = w / scale; height = h / scale; game.resize(width, height); game.scene.scenes.forEach(function (scene) { scene.cameras.main.setViewport(0, 0, width, height); }); } js.Browser.window.addEventListener('resize', resize); if(game.isBooted) resize(); else game.events.once('boot', resize); }
  15. 1 point
    @espace3d If you look in the Phaser Chains original website: http://phaserchains.boniatillo.com There are many examples where the scale is tweening: (Note there I search for tween*scale) In addition I recommend to you to check out Phaser Editor (http://phasereditor.boniatillo.com) It has Chains implemented native and you can create a project with the Phaser Examples, so you can modify it and test the changes. Also the Phaser Doc is indexed offline and you can perform quick searches in all the doc text. (Plus all the other features of the editor)