Popular Content

Showing most liked content on 09/05/2015 in all areas

  1. 2 points
    Arian Fornaris

    Try the new Phaser Editor

    Hello, I am the author of Phaser Chains (http://phaserchains.boniatillo.com http://phaser.io/chains) and now I want to present to you my last work: *Phaser Editor*. http://phasereditor.boniatillo.com (it is a desktop editor) (This editor was announced in phaser.io (by the Phaser authors) with the title "A complete Phaser editor with powerful features". ) General JavaScript editors are good for Phaser because the Phaser simplicity but I see the need of something more dedicated: - Project and file creation wizards. - Coding assistance (type inference, auto-completion of the API, doc hovers, preview). - Integrated and quick help. - Integrated web server for easy testing. - Assets manager (following the official Phaser Asset Pack format). - Assets packers (image and audio atlas). - Keep it simple enough that you can develop your big game but also test any other code snippet or example of the many Phaser tutorials in the internet. - Transparency: there is not any other layer, wrapper or plug-in on top of Phaser: I do not want to hide Phaser, I want you to learn it. - Tooling: with the time I would like to integrate common developing tasks into the editor, for example, right now it is implemented an Optimize PNG images, but I want more. - The name is Phaser Editor but my goal is a Phaser IDE ;-) How am I doing it? I am building Phaser Editor on top of one of the leaders platforms of the programming industry: the Eclipse platform, specially, the Eclipse Web Tools. If you know the Eclipse ecosystem you will feel very comfortable in Phaser Editor, if you don't know Eclipse yet, I think this is the moment for you to go with it ;-) Eclipse is very popular in the Java world, but it is also popular to develop with other programming language (javascript, python, php, C, etc...) because it can be extended and customized for a specific technology. The Eclipse workbench is full of features and a plenty of third plug-ins going from color themes and Git integration to cordova based tools for mobile development, and all of them can be installed (or integrated in a future) in Phaser Editor. The Eclipse Web Tools, specially the JavaScript Development Tools (http://wiki.eclipse.org/JSDT), are a very good piece of software, the most I like is the type inference engine, that in the case of Phaser Editor it is customized to give a much better experience with the Phaser API. So take a look to a demo video. Download and try it yourself: http://phasereditor.boniatillo.com To run it first you should install the Java runtime (JRE 8 64bits), then execute the PhaserEditor.exe file. In a future a I will give the option to bundle the JRE together with the product and make it available also for the others operating systems supported by Eclipse (linux, osx). Check the list of features What's next? This is only a preview, but in dependence of your very valuable feedback I will release it sooner or later. Right now I am working on complete some features introduced in Phaser 2.4.3 and writing the user guide. Suscribe to our mailing list and we notify you when the final product (or a major update) is ready (I am not going to explode your inbox) Thanks, Arian Update 2015/10/29: Phaser Editor RC release, read post.
  2. 2 points

    Try the new Phaser Editor

    yep! it's working now thanks!
  3. 2 points
    Oh thanks! I only just solved this myself by simply setting the sideOrientation parameter to BABYLON.Mesh.BACKSIDE. In other words, instead of var box = BABYLON.Mesh.CreateBox("box", 10.0, scene);you put var box = BABYLON.Mesh.CreateBox("box", 10.0, scene, false, BABYLON.Mesh.BACKSIDE );It was exactly what I was after. Thank-you for your response Convergence.
  4. 1 point


    Hello all, here is a new small feature for babylon.js 2.2. You can now ask to render edges of a meshes (meaning all edges with no adjacency or with adjacencies with angles < epsilon). Here is how it look likes for a cube and a plane: http://www.babylonjs-playground.com/#TYAHX#10
  5. 1 point

    tourdefranz - my first game

    Hi, I like to announce my first game. As you can see I'm a big fan of the Tour de France (Tdf). There is an idea for a bigger game, but at first a simple game is a good start. The game is easy - just don't touch other bikers. From level to level it will get faster. I fastest level was 44km/h. I like the old pixel-style like C64-times. The max-resolution is 640x280 pixel - graphics like bikers use a dot width of 2px. The only framework I used is threejs. It runs offline and you can play it on mobile-devices too. I hope, I will find more time for the next version of tourdefranz for next year. Please give me your feedback, but remind it's my first game and I know it's just a simple one. :-) game: http://www.tourdefranz.com Have fun, Stephan
  6. 1 point
    Arian Fornaris

    Try the new Phaser Editor

    I see... well Eclipse has its own ecosystem and tools, actually in Phaser Editor you can define your own code snippets (Window > Preferences > Java Script > Editor > Templates). Even maybe you can install Emmet on it: https://github.com/emmetio/emmet-eclipse But I understand your point, thanks.
  7. 1 point
    Hi all, A link/screenshots/example to a pre-alpha version of one plugin for an upcoming set of tools I am developing to help with GUI heavy games (think RPG's etc) is available below. Try the example, and hopefully it will make more sense: [link being updated] Features Use XMind to plot out complicated or simple story interactions, and allow GooeyJS.Dialogue play it out Convert XMind files to JSON files that GooeyJS.Dialogue can read directly with one command (see docs) Handles looping scenarios Handles fork scenarios Engine agnostic - example is using Greensock and JQuery. Next adapter will be Phaser - although you can still easily use Dialogue.JS right now without an adapter Handles callbacks with the following syntax: [function]:functionName|arg1|arg2|... Caveats: V0.1 No docs Tested in Chrome only Standard dialogue lines must follow the "actor:line" pattern. Looking for feedback and interest. Cool if you don't want to use a 0.1 build, but let me know if you would use it if it were stable. Xmind Example Screenshot Note: The colors and avatars are optional, they just look cool (Background Assets by Kenney) Example (from above XMind mind map): Github Repo: [link being updated]
  8. 1 point

    Try the new Phaser Editor

    Well, it's not the problem with not looking light Sublime. The problem is that if I switch to it I will miss all the plugins I use for Sublime (emmet, docblokr, etc...). And I find Eclipse editor to be much more heavy-weight than Sublime
  9. 1 point

    Try the new Phaser Editor

    Thanks i'll try this And i can't find the download link on the website.
  10. 1 point

    The Wingnut Chronicles

    In fact I didn't mean "regimentation" for tags, it's too complicated and restrictive. I think we should let people tag as they want to, all tags are indexed and in the search engine you can see the list of used tags updating realtime according to yhe characters you're typing (for instance, while typing "sca" you'll see the list scale, rescale, scaling, scaled, scalling, etc, every tags one day used and indexed). With ability to search for many terms at same time. Agree with you, author is not really applicable... For the methods, they're should be auto indexed, not by user action.
  11. 1 point

    Try the new Phaser Editor

    I'm sorry but...i can't find the download link
  12. 1 point
    Arian Fornaris

    Try the new Phaser Editor

    Intellisense works decently in Phaser Editor, Eclipse based products are very flexible, you can change color themes (actually sublime is listed in the Windows > Preferences > General > Appearance > Color Theme), key bindings, ui layouts... I mean, what we can do is maybe implement a Phaser Editor plugin to make it to feel like Sublime (if it is possible , all my respect to the sublime!).
  13. 1 point

    Try the new Phaser Editor

    Most important autocomplete/intellisense based on the documentation.
  14. 1 point

    Work in Progress: Fun with Cups

    I am playing around and got this: http://www.babylonjs-playground.com/#1QBHYZ#2 http://www.babylonjs-playground.com/#1QBHYZ#3 http://www.babylonjs-playground.com/#1QBHYZ#5 Edit: probably final version: http://www.babylonjs-playground.com/#1QBHYZ#6 If anybody finds a bug or something that doesn't seem right, please let me know Any ideas for improvements? Every input is very appreciated!
  15. 1 point

    VohoGames - Clear Blocks

    The game play is very basic with no target to achieve for. Nicely done though..
  16. 1 point

    Work in Progress: Fun with Cups

    Just tweeted
  17. 1 point

    Advanced Game Loops

    The solution I tend to go for to manage complexity is something like the following: function SalesMan(properties) { for (var key in properties) { this[key] = properties[key]; }}SalesMan.prototype.name = '';SalesMan.prototype.job = '';SalesMan.prototype.profit = '';SalesMan.prototype.update = function () { this.profit += 0.1;};function init(){ //Set up SalesMan SalesMen = [ new SalesMan({ id: 1, name: 'Alice', job: 'Vacuum Saleswoman', }), new SalesMan({ id: 2, name: 'Bob', job: 'Ironing Board Salesman', }), ]; step();}function step(){ SalesMen.forEach(function (salesman) { salesman.update(); });}So basically, for all objects in your game that you care about, you define a class for them and then write the logic for updating them in the class's update function. In your game loop then, you just loop over each object and call its update function. This has the advantage that you can write the update functions for each of your classes separately and even spread them across Javascript files, instead of having all the logic for your game in a single game loop function. Hope this helps! Feel free to ask follow-up questions in case my example code wasn't clear / you find this way of organizing your code weird!
  18. 1 point
    Hello. Sorry for all the questions. I'm trying to pay it forward by helping people when I can. Which I admit isn't all that often but it's getting more common. You know those little pop up scores most games have that go "+50" then rise and disappear. I'm making my game have those. And it will have a lot of them! At the moment I'm using game.add.tween. Which seems to create a new one each time. Is there a way to reuse them? If not will this have an impact on performance? I have my own pop up score class anyway, and it would be no bother to create it's own function that tweens it without using an actually tween. Also, slightly related. I noticed that Texts don't have an alive property. Yet they can be added to groups. Should they not have an alive property for methods like getFirstDead(). I see that when added to a group it gets it's alive set to true, which I know creates a propperty but isn't it better for objects to have their properties defined at the beginning?
  19. 1 point
    In a platformer game, when using the Arcade mode, body.blocked.down is true when you are stepping on the world boundary (like in the platformer example) on when on tile ground. But when standing on another sprite (for example a sprite for the floor with body.immovable = true) it currently shows body.blocked.down as false, but body.touching.down true. I have a demo for a basic platformer, to implement the jump functionality I want to test for blocked, because if I test for touching.down then the character also jumps when touching non-blocking elements (that overlap not colllide). So my question is, is this the expected behavior for body.blocked? how could I just test just for blocking objects to implement jump? Game: http://static.pablofarias.com/blocked-down/ //this game will have only 1 statevar GameState = { //load the game assets before the game starts preload: function() { this.game.load.image('ground', 'assets/images/ground.png'); this.game.load.image('platform', 'assets/images/platform.png'); this.game.load.image('player', 'assets/images/player.png'); this.game.load.image('fire', 'assets/images/fire.png'); this.game.load.image('goal', 'assets/images/goal.png'); }, //executed after everything is loaded create: function() { //adapt to screen size, fit all the game this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; this.scale.setScreenSize(true); //init physics system this.game.physics.startSystem(Phaser.Physics.ARCADE); //floor this.ground = this.game.add.sprite(0, 569, 'ground'); //enable physics properties (the floor wont move) this.game.physics.arcade.enable(this.ground); this.ground.body.immovable = true; //level data. location of elements var levelData = { platformData: [ {x: 0, y: 430}, {x: 90, y: 290}, {x: 0, y: 140} ], fireData: [ {x: 200, y: 539}, {x: 60, y: 400}, {x: 190, y: 400}, {x: 180, y: 260}, {x: 300, y: 260}, {x: 200, y: 110} ] }; //group to keep all the hard platforms this.platforms = this.game.add.group(); //enable physics properties this.platforms.enableBody = true; //create each platform var self = this; var platform; levelData.platformData.forEach(function(element){ platform = self.platforms.create(element.x, element.y, 'platform'); //we don't need to enable body on each element, as we enabled body for the entire group, so body will be present here platform.body.immovable = true; }); //group for fire this.fires = this.game.add.group(); this.fires.enableBody = true; //create fire var fire; levelData.fireData.forEach(function(element){ fire = self.fires.create(element.x, element.y, 'fire'); }); //create goal this.goal = this.game.add.sprite(20, 90, 'goal'); this.game.physics.arcade.enable(this.goal); //create player this.player = this.game.add.sprite(20, 535, 'player'); this.game.physics.arcade.enable(this.player); this.player.body.gravity.y = 1000; //don't leave the world boundaries this.player.body.collideWorldBounds = true; //arrow keys this.cursors = this.game.input.keyboard.createCursorKeys(); }, update: function() { //the player collides with the ground and platforms this.game.physics.arcade.collide(this.player, this.ground); this.game.physics.arcade.collide(this.player, this.platforms); this.game.physics.arcade.overlap(this.player, this.fires, this.burn, null, this); this.game.physics.arcade.overlap(this.player, this.goal, this.win, null, this); //platformer controllers this.player.body.velocity.x = 0; if(this.cursors.left.isDown) { this.player.body.velocity.x = -350; } else if(this.cursors.right.isDown) { this.player.body.velocity.x = 350; } if(this.cursors.up.isDown && this.player.body.blocked.down) { this.player.body.velocity.y = -550; } }, //burn player burn: function(player, fire) { console.log('auch!'); }, //win the game win: function() { console.log('you win'); }, render: function() { this.game.debug.bodyInfo(this.player, 0, 100); }};//initiate the Phaser frameworkvar game = new Phaser.Game(750, 640, Phaser.AUTO);game.state.add('GameState', GameState);game.state.start('GameState');
  20. 1 point

    Can I and should I reuse Tweens?

    Regarding you tweening question. I think this is a classical example of premature optimisation Just do it like you would normally do. Create a tween anytime you need to and only fix it if you have a performance problem. But I do not see any problem in creating many tweens, it's probably more time-consuming to render all the involved graphics. A tween removes itself from the TweenManager after it's completion, so you also do not have to worry about the memory consumption of old tweening instances. You could try another solution within your popup class: Use the update method of your sprite and update the position and scale manually if the animation itself is not too complex. You would save each tween instance. Plus: I would not call it premature optimisation in this case Regards George