Search the Community

Showing results for tags 'mobile'.

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 416 results

  1. StarMines is a space shooter inspired by old classics like Asteroids and Omega Race. You are the spaceship pilot in search of magical Bonusoids which can only be found in the endless starmine fields full of dangers. The more Bonusoids you catch, the better their magical forces make your ship. The game should be playable on mobile with touch controls and desktop with keyboard or mouse. I have even tested it with an LG OLED TV, it works 🙂 On touch devices, there are different options for touch controls which you can choose from the top-right pause menu. The game URL: New version on Jan 20, 2019: - music and ship upgrade sound added, reduced overall volume - ask for player name when always when starting a new game, changing name will reset progress - automatic 5 second shield for each 4 Bonusoids collected - more info messages on ship upgrades New game play video with music, and showing the new shield: Screenshots: A couple of YouTube videos: The SM:TNG is my ancient StarMines for Java rebooted using the HTML5 and modern tools: Scala JS and Phaser CE. I think the game is complete enough for public release now, but I'll most likely continue to develop it further in the coming months. Eventually, I plan to make it open source under GPL, unless somebody buys an exclusive license with big money 🙂 All kinds of feedback welcome, for example: Does it work well on your browser? I recommend Chrome on Android and Chrome or Edge on Windows, but it should work OK with other browsers as well. Does it maintain 60fps? You can enable the fps meter on top-left corner with this URL: What do you think about the different control options? What could be improved? Ideas for new enemies, bonuses or weapons which would fit the theme?
  2. B3L7

    Eternity Pilot

    Eternity Pilot is a mobile game made using Phaser 3 and Cordova. It is my first published game and it would have been totally impossible without Phaser and this amazing community! For now it is only available on Android but I am hoping to have an iOS version in the near future. I have a sign up on the site linked below to receive a notification when the iOS version comes out. Play Store Gameplay Video
  3. clowdperson


    Hey guys, I'm new here. In conjunction with archived posts from this website, Emanuele Feronato's tutorials, and the Phaser 3 examples, I was able to create this game. So I figured I'd show you guys what I came up with for my first HTML5 game. Play here: Gala-Tap is a simple yet challenging game made for mobile devices. The goal is to destroy all of the blocks before they reach the top of the screen. Right now its just a web app for mobile devices but I'm working on a native mobile port. I made it using Phaser 3 and its written mainly in TypeScript. It also communicates with a MySQL database with PHP to obtaion the leaderboard information, and jQuery to display it, shown below: Each game you play, you gain experience, and as you level up you unlock new powerups--like the blue nuke--or the likeliness of a certain power-up would increase. I monetized the game with LeadBolt and though I'm sure it wasn't the best option for advertising networks out there, it definitely was the easiest to integrate into this game without the ads being TOO obnoxious. This is my first game I've made with Phaser 3. Previously I developed games with Java and LWJGL, but just recently I switched to web technologies because I enjoy how cross-platform they are. I'm looking forward to hearing what you guys think! 😄
  4. Walk without stepping on the line! The time limit is randomly from 15 seconds to one minute. Extend the record as long as possible.Once the walking distance per meter the earth will be saved (it is supposed to be). Even if the earth is safely saved, you will not get items or proceed to the next level. Even so, you should be happy that the earth was saved anyway.If you step on the line the distance is invalid and it will not be recorded. And the Earth will be destroyed once (it is supposed to be!).
  5. Game Link: Vocab RPG Vocab RPG is an Online RPG about catching Monsters & collecting Vocabulary Cards! Features: Open world with unique zones to explore MMO: Online multiplayer Monsters: Hunt, battle, and catch many unique monsters! Crafting: Collect different resources and use them to craft items & consumables Language Learning: Unlock vocabulary cards! Currently 4 vocabulary languages to choose from: Chinese, German, Japanese, Russian Overview: In Vocab RPG, you have all the elements of a monster-focused RPG: Hunting, fighting, catching, levelling, crafting, etc. But for every action that you take in the game, it will show you a vocabulary card! As a consequence, the more words you know, the stronger you also become in the game. The game starts very slowly with only 3 words unlocked. But as you progress in the game, you can unlock more cards and expand your vocabulary - at your own pace. Difficulties: To take into account different learning preferences, you can pick your challenge by choosing from 4 difficulty settings: - Normal: Wrong answers reduce your monster's attack or consumables (such as potions) by 25%. - Casual: Even if you answer wrong, you will attack and operate at 100% effectiveness. In other words, you see the cards but there is no consequence for answering wrong. - Hardcore: When you answer wrong, your monster's attack will fail! So answering wrong means 0 damage dealt. - Off: I also want people to enjoy this game, even when they are not really in the mood for studying vocabulary cards right now.... select 'Off' and you will not see any vocabulary cards in the game! Platform: Thanks to the power of Phaser 3, you can play this game on any device in your browser. No installation required. The game is mobile optimized, so whether you play on your laptop or phone / tablet, is only a matter of your preference. Game Link: If you are interested in trying the game, you can jump right into it: Vocab RPG Feedback: Any feedback is much appreciated! We also have a Discord server for the game where players are exchanging ideas, reporting bugs, and giving feedback: Vocab RPG Discord Credits: The game uses a lot of CC0 assets (like the monster sprites in this post) from various artists. I keep a list of all used assets here (which is also accessible from directly inside the game): Credits List
  6. I've made a simple shader that uses cubemaps, it renders flawlessly in PC but it has AA problems in a highend mobile device. Any idea about what could be happening?
  7. Hi All I'v just tried to make a fast example of double tapping in a mobile device but none of the two methods I know worked properly: scene.onPointerObservable.add((pointerInfo) => { switch (pointerInfo.type) { case BABYLON.PointerEventTypes.POINTERDOUBLETAP: console.log("POINTER DOUBLE-TAP"); break; } }); window.addEventListener("dblclick", function () { console.log("POINTER DOUBLE-TAP B"); }); Both are working ok in PC and in the desktop version of the web in my mobile device (Google Chrome) Any idea about this? Thank you in advance!
  8. What is the best practice in picking up this gesture, and infact gestures in general? I know that the Pinch-to-zoom is already implemented as the sorta camera radius increase/decrease on the universal and touch camera, however I want to use the gesture on an orthographic camera, so need to pick up the event. How?
  9. Shex

    Image is pixelated

    Hi I'm trying to run my game on a mobile device with the Phaser 3 framework and sprites are rendered as very pixelated images. I'm running the game through the Facebook web player. I'm using a Samsung Galaxy S6 device which the resolution is 1440x2560 with a device pixel ratio of 4. I have setup the same configuration on my PC through the Chrome mobile debug view (1440/2560 with pixel ratio of 4) and the images look way better. I have attached two screenshot of the PC (good) and mobile (bad) devices to show the difference. The game is rendered as CANVAS and I'm using the window.innerWidth and window.innerHeight to define the sizes. Does anyone have any insight about what's going on?
  10. dev1-cpc

    Zoom by swipe

    Hello. How to make game zoom like a PIXI Viewport?
  11. I want to make a simple 2D game using Phaser 3, but I want it to be available on mobile and the web browser. What is the best way to scale my game and make it responsive? This game is a good example of a responsive canvas.
  12. AramCP

    Optimal resolution for my game?

    When I started to create my game I wanted to make it look good on my own phone as a start. So I searched for my screen resolution and it is 1920*1080, so I decided to make my game 540 width and 960 height, making it the half from my res to not make the sprites too big and then scale it*2 in phaser. Yesterday I first tried it on my phone using cordova, and I can only see like 30% of my game because it is too big for the screen. And I dont really understand why is that happening.
  13. Zendrael

    [Phaser] The Last Battery

    Hi! I Just released my new game called "The Last Battery"! You can play it for free at and try to survive until your battery is running out! Also, my other games are at Thanks! EDIT: Now you can play right in your iOS or Android device! Check it out! iOS: ANDROID:
  14. PLAY IT: 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:
  15. andrei.nicolae

    Zoom in on phone browsers

    Hi guys, I'm new to this and I have an issue in my current working project(it's first in phaser). I want to know how can I zoom in the game when it's opened in a mobile browser? The game is too small and I want to zoom and slide the whole canvas in the browser window. I can do this from outside the canvas but I cannot drag then from the canvas itself. Please help! Thank you.
  16. Hi, I have an animation and a 3d environtment (cricket stadium) imported from Blender to Babylon: On desktop works fine but when I try to check it on mobile (Android) the 3d stadium looks distorted. What could be the reason for this? It supose to look like this: Thank you all.
  17. Hello, I am looking for camera examples that can run on mobile and use touch events to implement rotation, zoom operations. Any help will be appreciated.
  18. my game seems incredibly slow on mobile devices compared to pc where i get between 50 - 60 Fps. I have like 15Fps maximum on android device and 18Fps if lucky. I know i should post some codes right but trust me it's a long list of code to post.. so are there any hidden optimisation tips specifically for mobile that i should know NB: i'v tried LOD, Occlusion query, octree
  19. Hunt prehistoric creatures with your friends online. Build your own base, craft tools, and weapons to survive in a large-scale true cross-platform open world game. This game is an application of the engine I’ve built, to prove a statement: It is POSSIBLE to build a 3D version of the Internet, where instead of browsing through websites, we could jump from one 3D space to the next. I “invite” everyone to make this happen. I want you guys to build your own 3D spaces implementing your own ideas what the web should look like in the future. We could just link them all together and make this Interconnected Virtual Space happen - yeah, the Metaverse, for the Snow Crash fans out there Tech Details that I hope provokes further questions: Loading Assets on Demand is even more important in the Browser than on PC or Console. Internet speed is only a fraction of the speed of the hard drive. It is essential to only load whats visible if you want to provide an open world environment for users visiting your world the first time. LOD - Level of Details allows Web Browsers to show something immediately for the users just like an ordinary website. It may look poor and users can see the object improving as they are loaded, still, I think its a good trade-off. Users get a good enough view of their environment instantly and can start interacting with it immediately. Terrain and the Grid System I’ve created the terrain in Blender, then I split it up like a chessboard automatically using Javascript. It is easy/cheap to determine that which cell contains the given coordinate and every single cell in the Grid has a reference to its neighbors. This is the basis of server layers of optimization when it comes to rendering, AI, and collision detection, etc. A recursive search is very easy to do, using those links to neighboring cells. Lighting I've implanted basic Directional and Ambient Lighting to support Day & Night Cycles and Point Lighting for individual light sources like a campfire, torch etc. To my surprise, the difficult part was to get good looking flames, thanks to the lack of Alpha Sorting in WebGL, what I had to implement in Javascript instead. Animation I animate my models in Blender, export them to “.dae". The file format comes with a serious limitation, you can’t define multiple animations and it only maintains a list of keyframes as references. So I maintain a JSON file per “.dae” to define multiple animations by having sets of keyframes. E.g.: “{running: [0, 4], jump: [5,7], ..}”. But I kept it simple and didn’t take it to the realm of animations per body part. Physics In short, I was stupid enough to write my own ..on the other hand, I have a fine level of control over how much I allow it to run. Again, on mobile, it is crucial to have that level of control to navigate 200+ creatures in real-time. I have two different type of Collision Detection. Collision with the Terrain and collision with other model surfaces. Terrain collision is very cheap, this allows me to move so many NPC at once. Collision with other models is heavier though, but that allows me to climb random looking rocks. I optimized it enough to make it feasible to run on mobile devices. I use a low poly version of the models to determine the collision and I only run it for the models near the Player, utilizing the Grid System I mentioned above. AI NPCs can navigate a random terrain, avoid obstacles and “see” and “hear” other NPCs if behind them. At the moment, they move rather robotically, but this allows me to calculate, where they can move next without hitting any obstacles and how long it will take to get there. I only run the AI right before they get to the target location. Basically, 200+ NPCs make only 40-100 AI calls per second. ..I certainly have room for improvement here Multithreading in the browser is difficult but necessary to achieve good Frame Rate. Nothing but the rendering should be on the main thread ideally - Good luck to achieve it though I’ve managed to push most of the heavy logic into a speared thread, but AI is still running on the main one. In a thread you have very limited access to important functionalities of the browser, therefore, there is only so much you can do. Also, specific objects can only be passed by reference between threads, everything else has to be serialized on one end and deserialized on the other. You want to be careful how often you do it. Audio I use the Web Audio API that works as expected. On top of that, I implemented Audio Sprites: I compile all related sounds to a single mp3 file and that comes with a JSON object to define where certain audio snippets can be found. It's a fast, accurate and reliable solution unlike using Audio HTML Tag, but that one has its own use cases as well, e.g.: streaming an mp3 file comes for free, like streaming an internet radio station. Multiplayer - I use WebRTC and not WebSockets - I know, I know, hear me out. The idea was that COOP is a very likely scenario and players may only prefer the company of their friends. I that case, they don’t have to purchase access to a private server, as long as they are happy to let their world go dormant between gaming sessions. Plus, all the logic is implemented for single player mode on the client-side, which logic has to be duplicated on the servers, if I went down the WebSockets rout - just think about where the AI logic should be, server- or client side. I expect this one to be a controversial decision, ..sometimes even I'm not sure whether this was the “right" decision There is a whole lot more to this though. Resources could be distributed between players when it comes to AI to ease the load on the Host - I know it is a potential security issue, but there is a use case for it, like AI for distant NPCs in COOP as long as you have no hacker friends ..this could be crucial on mobile devices. Controller Support The Gamepad API provides you with raw access to every button and joystick. You certainly have to implement your own layer on top of that. Events for pressing/holding down buttons don't come out of the box. Implementation of the dead zone of joysticks is missing and it is inconsistent how you can access different types of controllers through the API, even the same controller but on different devices. In the end, you will have to provide a controller mapping implementation as well in your settings. But its totally doable and works like a charm. Touchscreen Support It's a tricky one. As I mentioned above, on iPhones its completely useless till Apple decides to comply with Web Standards. Even on Android, it is a bit tricky: For the UI you probably want to use HTML. It makes sense because it comes with all the neat features that make our lives easier until you realize that you can’t switch between weapons while running - wait, what? You see, while you are holding down the left side of the screen to maintain speed and try to click on a button, or any HTML element to switch weapons, the click event won’t fire. No click event will be fired while doing multi-touching. As a result, HTML and any fancy framework for that matter are no longer good enough solution own their own. UI When it comes to games we expect a whole lot more from the UI than on a website. Multi-touch support - as discussed above and even controller support is not as straightforward as you might think. You have raw access to the controller, so when a button is selected and the user pushes the joystick diagonally upward, you have no idea what is in that direction, therefore what should be selected next. You have to implement the navigation of your UI with a controller for yourself. And you need controller support because that's the only way to move around in VR and on consoles. Speaking of VR, you want to render your UI twice in VR - once for the right eye and once for the left eye - and only once when not in VR, just something to keep in mind Also, rendering the UI could be heavy. This might be a surprise but if you think about it, on a website you don’t do anything but the UI, so you have a lot mere leeway to work with, whereas in a game you don’t want the UI to impact the Frame Rate, so it has to be very lightweight and probably you want Scheduling to have a final say on what gets refreshed. Taking all this into account, I really don’t see how any framework could be a good option - they were simply designed with different requirements in mind and there is more downside to using any of them than upside. Precomputed Scene Occlusion Culling using a Grid System Most of the optimization is happening real-time or triggered on a regular basis while running the game with one exception: I render every cell in the Grid System from the point of view of every single other Cell. E.g.: Cell A can see cell B and C but not D. I literally diff two images with javascript to determine whether the given cube can be seen or not. Then I record the results in a JSON file, which is used for rendering. This reduces the number of cubes to be rendered significantly, but it takes about 40 hours to run this optimization for the whole terrain. Running the game on Mobile Devices iPhone runs WebGL significantly better than top-end Android devices but practically useless because Apple ignores important web standards. E.g.: Pinch zoom can’t be blocked, therefore when you use your left thumb to move around and right thumb to look around, instead of doing so you end up zooming back and forth the screen. It also doesn't support fullscreen mode - video does, but not the canvas element. Another interesting limitation on iPhone is that you can only have 25 elements in an array in GLSL, which translates to having only 25 bones in an animated model. This doesn't make animation impossible, but you can’t use most animated models that you buy in the stores, you have to do it again with only 25 bones. Profiling “What gets measured, gets managed”. The built-in profiler in Chrome certainly has its use-case, but not good enough for what we want, so probably you will have to build your own at some point with specific features. You want to know how long a certain section of your game runs per frame, e.g.: Rendering, AI, Physics, etc. and probably these sections won’t run sequentially, but they are interrupted by other processes that you don’t want to include into the specific measurement. One thing is for sure, you cant do optimization without identifying the source of the lags. - I've certainly wasted enough time trying Scheduling As long as you are pushing the limits of the devices it is always a battle for a smooth frame rate. Therefore, you have to implement a scheduling system to manage what is allowed to run and for how long. E.g.: whatever is loaded and processed in the background will have an effect on the frame rate even if it is running on a different thread, you want to throttle that. You don’t want to set variables through WebGL API unnecessarily. AI always varies how much calculations it has to do depending on the number of unique encounters of 200+ NPCs in a random environment. Basically, you will have to limit what runs and how long, manage what is a nice to have calculation and a game-breaking one and try to make it seamless for the user. Probably every single topic above deserves a dedicated post, so please feel free to ask anything - there is no stupid question - then I would like to use those questions to write an in-depth post on every single topic that helps fellow devs to overcome similar obstacles - no doubt I will learn a thing or two in the process Live Tech Demo is available on
  20. mohammad_aqajani

    mobile keyboard enter event on text input

    hello, Phaser 3: I use this code for a simple text input to get the value of it on ENTER press event: enterE = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.ENTER); but as chrome and some other mobile browsers user "go" instead of "enter", the above event does not trigger! is there any keyCode other than ENTER for that ?? or should use jquery??
  21. Hello Devs, I finally launched my first html5 mobile game for android Honeycombs is a classical match-3 game with a hexagonal field. Make as many points as possible in a given time. You can find it here: and this is how it looks like: I created it using plain Javascript and Pixi.js wrapped into a cocoon.js app. Cocoon.js is a cloud compiler that gives your game a huge performance boost and supports plugins like Ads and Google Play Highscores. You can read more about it here: Depending on Feedback I plan to add some more content. Because it is all html5 it of course it also runs nicely in the browser so I want to put it online somewhere later. Cheers
  22. Doug

    Hi Rich.  @rgk mentioned that you might be able to please add a "patron" badge to my forum profile?  Thanks very much!

  23. Tymski

    Cordova + Pixi = ♥?

    Hello everyone. It was probably a year since I posted anything. Good to be back here. I had a looong break with hardcore html5 game development. Can you suggest a good way to start a cordova + pixi project for android? Can you recommend any tuts and share some of your experiences with developing mobile apps with pixi I look forward to reading about your experiences!
  24. We are looking for developers who can create our single-page web-based mini-games. We prefer to finalize the hiring in freelancer websites like Upwork to ensure proper delivery and payment. We have several in the pipeline and it has become a bit challenging to find Pixi developers in Upwork so we are trying our chance to find developers here.
  25. It was mentioned about 2 weeks ago that multi-touch would likely be part of the next release, but I didn't see it in the changelog of 3.3.0. Will it be part of 3.4.0? I mostly want it for pinch to zoom. Hoping to make an RTS-lite game, where you can drag the camera around and also zoom in and out with pinch to zoom (two fingers). Phaser 3 is awesome, by the way. I've really been enjoying it.