Search the Community

Showing results for tags 'javascript'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Found 462 results

  1. Job posting: Studio FOW Position: Senior Game Software Developer We are looking for a game senior game software developer who can deliver web based, HTML5 game applications. The role includes overseeing the full development life cycle including identifying the correct technology, architecting the application, security, testing and deploying. This is not a project management role, you will be solely responsible for implementation. The candidate must have a proven track record in developing web based game applications using WebGL and JavaScript. We expect the developer to be able to deliver a modular, scalable and testable application. You will also be working to integrate existing pre-rendered video content into the game which forms an integral part of the player experience. Experience in enterprise grade applications would be necessary so the design could address high availability requirements (i.e. load balancing and clustering). Experience in WebSockets and relational databases such as MySQL, PostgreSQL or MS SQL are required. Experience in ECMAScript, NodeJS and node-webkit would be a plus. Knowledge of other programming languages (Python, C++) is also a plus. Please note that this game will be of the adult (18+) variety and therefore anyone uncomfortable with such content need not apply. A portfolio and references will be required during the interview process.
  2. Dear readers, I have a problem, well not a problem, but I need help. At first I want to say that English is not my main language and if I make mistakes you should correct me. I'm also new to phaser and programming, but I am willing to learn. So for school i need to make a game linked with a database (login, score, money) on a website. What I was thinking is some kind of Plants VS Zombies, but then with 1shooter at the bottom, move him sideways to kill the zombies and try to keep them away from the under border. What I have already is the background, the moving "soldier" and that he can shoot. I also have an enemy sprite but for some way he doesn't want to load ... . I don't know how to spawn the enemies in like 5 /6 lines from top. And that they will walk down, like LEVEL1: kill 5 zombies LEVEL2: kill 10 , and each level you earn money for more damage, but the zombies will become better and better. So it would be a great help if somebody could explain this for me, not only in code but also in words, like I said i'm new in coding and want to learn. In the attachment you will find a zip of my game, my main language is DUTCH, so the commentaries are in DUTCH, but my code is in English. If i need to explain something i wrote, just ask :)! Thanks for everyone who wants to help! I'll try to answer as soon as possible ! STAY CODING AND LEARNING !! PhaserCode.rar
  3. Hello, I don't know if this is a real good place de ask this, but i try I would like to create a geolocaliser in trains. For this, i have plans based on the country and type of the train and the wagon. I have all criterias here : http://rail.arukikata.com/ticket/seat/seat-tgvbru.pdf I was wondering what's the best practices to to this ? Should i transform my png or jpg into a SVG and then map it to a own 2D grid-map ? I'm new on this, so any advices/tips are more than welcome Thanks P.S : The only thing is that the core of the app is using AngularJS
  4. Hello i want to start creating game with the phaser framework but i don't have the game template how I should install him ? I found no tutorial that explains how to do it :/
  5. Hello there! Please see our posting for this job over at: https://www.upwork.com/jobs/~01bae059f7aea88b0b It's also below: Our game development studio is looking for a client side (minor server work) javascript PixiJS game developer. Past tiles upon request, but we have many AAA game developers and talent for our next multiplayer game. Our server infrastructure was built by a past full stack engineer hire from UpWork and forums along with our core team, you will work with them and our original team on bringing a version of our .io to the web market. We use Trello and Skype and expect checkins a few times week. We are a small studio with limited budget, but we respect our employees. We have a monthly budget in mind, but would like to hear from you. Our goal is to take what's currently there (shown upon request) and add the fun client side details of polished graphics with some server experience preferred to plug into for minimaps, etc. ALL ASSETS INCLUDED FOR DEV. What we want from you:- Examples of past PixiJS work or similar- Game examples you've worked on and what specifically you contributed (sci fi or .io is a plus!)- UI implantation in PixiJS (we will give you psd, can you bring them in game well, etc)- Mention 'blue bunny' in the early part of your message to show you read this- Mainly client side asks like graphics, explosions, UI, etc- Any references We've hired folks from Upwork before, we please don't waste our time and jump right into it if you think you're good fit! We look forward to hearing from you! More details, like Trello board, the game progress and anything else you would like upon request. We have a goal to hit before the end of the month and GDC. Thanks so much, hope you say hello! Please get in touch with me either on twitter (@TDJ) or email and ignore the dashes: d-y-la-n-@-t-he-dy-lan-jo-nes-.-co-m Thanks so much for reaching out, good luck either way!
  6. Just4fun game, developed with phaser+typescript. http://xmas2016.zero89.it You are the Governor of Campania (south of Italy)... and you must save Salerno (my city) from the Evil Imperial invasion.... Why "fried fish edition"... its a complex story related to a vote exchange in last italian constitutional referendum... hauhaahahauh!! Never mind... just play! tnx in advance for any feeback! Here a video about Salerno... and Penguins!
  7. Hi guys, i'm a bit new here so i'm not sure if this is the right place for me to post this. So, anyway... i'm currently making a game and it's basically a platformer where the player can aim his weapon using the mouse. And i have a few questions, how do you get the player's arm object to stick to a certain point in the sprite that isn't the center? also, is there any way to get the bullets to come out of a certain point from the player's weapon? Or in other words, is there anyway to create image-points like the ones in Construct 2 in Phaser? Thanks in advance Edit : oops... i just noticed there's a whole forum dedicated to Phaser, sorry for posting this here everyone
  8. Hi forum, I am trying to get into developing online web multiplayer games. At first I had no idea where to start but after a lot of searching, I found I can achieve what I want using HTML, Javascript and websockets. I have programming experience in html, php, python, java, and mysql and Im just looking to learn something new! What I want to achieve is to build a game similar to the already existing game Habbo hotel (www.habbo.com). What I want to be able to do is create something where a user can go on, load the client in their web browser, and then be shown a navigation guide that shows them different rooms. They can then enter the rooms with their character and move around, etc. (If you have played the game you know what I am after.) I want this to be real time which is why I want to bring in node.js and socket.io (both I have to still learn how to use.) Since I have just gotten into this, I have no idea where to start.. I have read many forums that suggested Impact is a good canvas to build off of but all the tutorials I have seen haven't shown what I want to do. Can anyone confirm Impact would be a good choice for me to continue with this project? What I am asking for is some direction on where to start, and what tools I need to get this project started. Any help is greatly appreciated!
  9. I am tying to use a jquery slider to plot a line on a canvas when I click a button. I dont know how and where to make the value from the slider a variable that changes with the slider, it just stays with the initial slider value. $(function() { $( "#slider" ).slider({ value:100, min: 0, max: 500, step: 50, slide: function( event, ui ) { $( "#amount" ).val( "$" + ui.value ); } }); $( "#amount" ).val( "$" + $( "#slider" ).slider( "value" ) ); a=$( "#slider" ).slider( "value" ); }); </script> </head> <body> <script> function myFunction() { var c=document.getElementById("www.grabbitmedia.com"); var ctx=c.getContext("2d"); ctx.moveTo(a,50); ctx.lineTo(b,0); ctx.stroke(); } URL: http://able2know.org/topic/217704-1
  10. Guys help please. A friend of mine made a model with sketchup so i exported it to dae and used blender to get the babylon file. heres a zip of the file with textures: File removed because it's apparently nothing to do with the problem
  11. Greetings, I am trying to load a basic image into my HTML, java-script game and When I update my webpage nothing shows. I tried to follow phasers examples online but I am not sure what I'm doing wrong. Any help would be much appreciated. main.js index.html
  12. EDIT: somebody has been hired, sorry for not updating this!!! I need someone to convert an existing dress up game made in Animate CC, into javascript/html5 keeping it WITHIN the .fla file. If you email me with an intro and some examples of having converted or coded something similar, I'll send you the .swf to give you an idea of the complexity, and hopefully we can work out a price? This one was made with html5 in mind, so it's graphically simple. I have some older games too that are a nightmare, but if someone's down for a challenge, there's that too.... ola.rogula@gmail.com ~OLa
  13. Our company is developing a browser-based collectible card game where players will be able to create personal collections, build and edit decks, create and join games in a lobby, and play against live opponents entirely inside their browser. We are hiring a front-end web developer to build our website. We already have a backend game engine and database. The selected job applicant will be required to develop the site and connect it to the backend through our API. Our website is already partially developed. We have had two previous developers and it will be important that our new developer can work with a large existing code base. The platform is written in Typescript using the HTML5 based open-source game library Phaser. Technical requirements: This position is for a front end developer only. No back end work will be assigned Code written in Typescript, with Phaser Collect and validate user input Transmit user input to the API: user interactions include typing, clicking, and drag & drop Process responses from API Display responses to the user: output includes displaying cards moving to different locations, highlighting values that have changed. Attractive display (smooth animations, pleasant arrangement) are a must If you're interested in the position, message me with the following information: - Your CV - A brief description of what interests you about the project - How many hours a week you would like to work on the game - What is your desired rate of pay
  14. Hello, I am a co-founder of a startup, right now we are two people working on developing an app for brain training using a sensor that can measure brain signals. It is a desktop application written in JavaScript using Electron. We have decided that we would like to have a game working inside of the application, that can take incoming signals from the sensor and use them to control the game. For example it could be increasing speed or height as the signal increases. We have been looking into game frameworks/engines to do this. Since we are using JavaScript we would prefer to keep working with that. Electron uses a chromium browser so it also needs to work with HTML5. We have a lot of other things to focus on so preferably we would like to be able to build games quickly and easily, my co-founder prefers not to code so much so we have been looking into drag-and-drop GUI based ways of building games. Like Construct 2, Buildbox, Game Salad, Gamebuilder Studio and lately Qiciengine. We really liked Qiciengine as it is open source and completely JavaScript and HTML but now we found out that it is no longer being developed. I am already getting errors running it with the latest Node version so it does not seem very promising to use without any further development. The game itself can be quite simple, we are thinking 2D and having some character fly in the middle of the screen, going up or down as the signal increases or decreases and receiving points/bonuses based on some score system. I have been a bit concerned with using GUI based drag-and-drop game engines to generate the code as we need the game to integrate well inside of our application and we also need to send in values to control the game, that makes me think that a more code-based framework like Phaser may be a good choice for us as it would ease integration and allow us to have one codebase. On the other hand it may take longer to develop as I would have to write all the code. That said is there anyone who can recommend us how we could develop this game? Would it be ok to use the qiciengine even if it will not be developed? In general do you think it would be hard to integrate a drag-and-drop solution that generates code into our existing application? Would it mean more work in the end as we would have to keep separate code-bases/projects synced?
  15. Hi Im trying to make a level select buttons so a person can choose which level to play How can I make this.levelButton1,this.levelButton2 etc on the fly ? for (i = 1 ; i < 6; i ++){ this.levelButton = this.add.button(this.levelButtonWidth * (i * 1.8), 100, 'levelButton' + i); this.levelButton.inputEnabled = true; this.levelButton.events.onInputDown.add(function(){ console.log('You Pressed LevelButton' + i); // pass this value to GameState }, this); } I have tried this.levelButton = this.add.button(this.levelButtonWidth * (i * 1.8), 100, 'levelButton' + i); but I keep getting a null reference any help would be appreciated Eric
  16. Hi all... This is my first post on this forum, so tell me if I'm breaking any rules . I've just been getting into html5 canvas game programming, and I'm just making a simple shooter game (NOT space invaders style). Basically, my green square guy (controlled by arrow keys) gets chased by the red square guys. I want to be able to have him shoot them (spacebar) with a little blue square, which I want to fly at them, no aiming required, and then disappear on contact, but none of the code I've tried has worked yet. Just want some pointers on how to implement that. Thanks. Included JS file. game.js run.html
  17. Full Stack Developers Valaa is a startup developing a social platform for collective creation of interactive, narrative driven content. Our vision is based on years of experience working with clients from government offices, schools and universities to NGO’s creating narrative driven games for education, health, research and social causes. We are looking for Full Stack Developers to join our team in Tampere, Finland. As a skilled generalist you can further define your role within Valaa. We are specially interested in hearing about you if can see yourself... as a Game Engine Developer, extending our core HTML5-based technology with modular components and features, taking the lead in building our Knowledge Platform for interfacing with our many audiences from developers to storytellers, educators and gamers, or become our Developer Evangelist, not only working with our tech, but telling the world about it. Responsibilities: Independent development of modular components and features Delivering quality features that are not only enjoyable for players but also intuitive for developers and content creators Defining your role within Valaa and in the future building a dedicated team (engine development, knowledge management, community outreach) around your field Requirements: Appropriate degree and / or solid understanding of computer science fundamentals Experience with modern, modular JavaScript on commercial projects Excellent teamwork and communication skills Appreciated: Experience with at least some of our core technologies: React, GraphQL, ES6, Linux, Git, JS game frameworks, event sourcing/Redux, Node.js/npm, testing frameworks, task runners, Webpack Professional game or related tools development experience Interests in 2D and 3D graphics, VR, AR and artificial intelligence Experience in community management Experience in creating video learning materials, blogging and / or streaming Experience in building and maintaining documentation targeted for end-users (libraries, frameworks and open source projects count) We offer: Position in an inspiring and diverse team of professionals from game designers and software developers to teachers and classical composers The career opportunities of a rapid growth start-up Job with societal significance and responsibility Send your application to jobs@valaa.com no later than 15.1.2017. Please attach CV or LinkedIn profile and links to relevant references or profiles (like GitHub). If you have a YouTube channel, blog or a game development portfolio we would love to see it. For more information please contact: Johanna Roihuvuo, Office Manager +358 (0)44 5070 781 johanna@valaa.com www.valaa.com
  18. Hi all, I am making my first steps with Phaser and found something odd when building a tilemap with Tiled. The map so far consists of a single layer with tiles built from two different images containing 16x16 and 32x32 pixel tiles: When I load that into Phaser, it looks shifted: My first guess is that Phaser does not support maps with differently sized tiles on a single layer, could that be the cause? Are there any workarounds? The code is straightforward: // In a Phaser game template generated by the Yo phaser generator, I do: // In preloader.js: loadResources() { // load your resources here this.game.load.image('Mythos_A4_2', 'assets/mythos/Mythos_A4_2.png'); // walls this.game.load.image('Mythos_A5_1', 'assets/mythos/Mythos_A5_1.png'); // ground this.game.load.tilemap('map', 'assets/maps/test.json', null, Phaser.Tilemap.TILED_JSON); } // In game.js: create() { this.game.stage.backgroundColor = '#787878'; this.map = this.game.add.tilemap('map'); this.map.addTilesetImage('Mythos_A4_2', 'Mythos_A4_2'); this.map.addTilesetImage('Mythos_A5_1', 'Mythos_A5_1'); this.floorLayer = this.map.createLayer('floor'); this.floorLayer.resizeWorld(); } On a different note, when I use the custom/phaser-no-physics.min.js build, Phaser.Tilemap is undefined. When I use phaser.min.js, everything works nicely. How come? I don't see how Tilemaps would necessarily require physics. Thanks for any pointers in advance! synesthesia
  19. down votefavorite I have previous experience with Unity, but I don't like the fact that Unity compiles your game directly into APK (or IOS equivalent). It's because I want to modify the game to provide chat interface (and some other stuff) for multiplayer mode etc. So, I thot of doing it the other way - 'create an app and embed a multiplayer game within it'. Now, again this approach meant that I had to develop for android and ios seperately. But, then I came across React-Native library (mobile extension of popular React framework). Now, I have decided to create an app using React-Native (cross-platform), but now I am confused as to which game engine should I use and I think since React-Native is javascript, game engine needs to be in javascript for seamless integration. I am planning to use to embed the game in my react-native app. Can anyone suggest me any good javascript game engines that can be used along with react-native? I have done some research on Phaser and Pixi but they use WebGL for rendering and I read somewhere that doesn't have great support for WébGL or Canvas(Am I wrong?). Any help is highly appreciated
  20. When i rotate a sprite i dont know why it looks weird. After rotation Before Is this a common bug or just my code?
  21. I want to create 5 possible animations text instances that cycle through every time an action happens (like a button press for example). I am thinking this needs to be an array that increases the x position with a for loop (i++). What is the syntax for an array of text objects that can be cycled through with a for loop? Thanks in advance. Im new at pixi this is what I have so far: //Aliases: this is shorthand var Container = PIXI.Container, autoDetectRenderer = PIXI.autoDetectRenderer, loader = PIXI.loader, resources = PIXI.loader.resources, Sprite = PIXI.Sprite; //Create a Pixi stage and renderer and add the //renderer.view to the DOM var interactive = true; var stage = new Container(interactive), renderer = autoDetectRenderer(500, 500, { antialias: false, transparent: false, resolution: 1 }); document.body.appendChild(renderer.view); var btbTexture = PIXI.Texture.fromImage('https://res.cloudinary.com/dubyisimd/image/upload/v1481228417/buttonplaceholder_iit0dp.png'); var btn = new PIXI.Sprite(btbTexture); btn.scale.x = 0.5; btn.scale.y = 0.5; btn.anchor.x = 0.5; btn.anchor.y = 0.5; btn.position.x = 55; btn.position.y = 475; btn.interactive = true; btn.on('mousedown', () => console.log('mousedown')); stage.addChild(btn); //load an image and run the `setup` function when it's done loader //add images by: //.add("images/beerCup_logo.png") .add("https://res.cloudinary.com/dubyisimd/image/upload/v1481228417/buttonplaceholder_iit0dp.png") //creates a progress statement that will check to see if assets are loading .on("progress", loadProgressHandler) .load(ScrollingText, addButton); //.load(); //this function will check to see if all assets are loading to the stage. loader function loadProgressHandler(loader, resource) { //Display the file `url` currently being loaded console.log("loading: " + resource.url); //Display the precentage of files currently loaded console.log("progress: " + loader.progress + "%"); //If you gave your files names as the first argument //of the `add` method, you can access them like this //console.log("loading: " + resource.name); } //button: function addButton() { button = new sprite(resources["https://res.cloudinary.com/dubyisimd/image/upload/v1481228417/buttonplaceholder_iit0dp.png"].texture); stage.addChild(button); button.x = 15; button.y = 15; } //text scroll: function ScrollingText() { //Im thinking this is where the array of 5 possible text positions should be text = new PIXI.Text('This is a pixi text', { fontFamily: 'Oswald', fontSize: 24, fill: 0xff1010, align: 'center' }); stage.addChild(text); text.x = 500; text.y = 0; gameLoop(); } function gameLoop() { requestAnimationFrame(gameLoop); text.x -= 1; renderer.render(stage); }
  22. Hi all of you!, Could anybody give me the solution while loading audio in safari browser issue as following. these are the audio files in local drive GET http://localhost/Projects/stacks/bgsound 404 (Not Found) startSoundGET http://localhost/Projects/stacks/startSound 404 (Not Found) normalGET http://localhost/Projects/stacks/normal 404 (Not Found) perfect1GET http://localhost/Projects/stacks/perfect1 404 (Not Found) shrinkGET http://localhost/Projects/stacks/shrink 404 (Not Found) perfect2GET http://localhost/Projects/stacks/perfect2 404 (Not Found) perfect3GET http://localhost/Projects/stacks/perfect3 404 (Not Found) perfect4GET http://localhost/Projects/stacks/perfect4 404 (Not Found) perfect5GET http://localhost/Projects/stacks/perfect5 404 (Not Found) perfect6GET http://localhost/Projects/stacks/perfect6 404 (Not Found) failureGET http://localhost/Projects/stacks/failure 404 (Not Found) pixi.min.js:14Pixi.js 4.0.1 - Canvas - http://www.pixijs.com/ pixi.audio.js:1TypeError: 'undefined' is not a constructor (evaluating 'new window.Audio') Regards, Awadh
  23. What physics engines are available for Javascript and/or Typescript? I've searched myself but maybe there's one or two I missed. I also found a post in these forums but that's over two years old now; It's a little disappointing to see that some of them aren't actively developed and lacking a lot of features. I put together a test to compare the different engines I tried - I've attached the files if anyone wants to try it out. Here are the engines I've tried: PhysicsJs http://wellcaffeinated.net/PhysicsJS/ - Incomplete: lacking simple features like constraints - Seems like it was last updated 2 years ago - Possibly the worst performance - Strange API (in my opinion) and difficult to use - Built in mouse interaction behaves strangely MatterJs http://brm.io/matter-js/ - Also incomplete and lacking constraints - Has a built in mouse constraint but it acts strangely - Updated recently - Simple and easy to use - Doesn't handle stress test well p2.js http://schteppe.github.io/p2.js/ - Complete - Updated within the last few months - Doesn't handle stress test well - Easy to use - Good documentation Box2DWeb https://github.com/hecht-software/box2dweb - Complete - everything you would expect from Box2D - Last updated one or two years ago - Semi-poor documentation - you have use the box2d flash documentation which is fairly thorough but slightly outdated - Much faster and a lot more accurate than the above three libraries. Nape http://napephys.com/ - Complete - lots of features - but isn't very active - Has a great marching squares utility which can convert bitmaps into polygons - Good site and documentation - Easy to use but the pooling get/dispose stuff can be a bit confusing - Similar (or maybe even slight better) performance to Box2DWeb and possibly more accurate - Large - minified it's still 1.7MB The one problem with Nape though is that it isn't really meant for Javascript and I had a lot of trouble getting it set up in Typescript. There were some project to convert it to js and generate definition files but I had to modify them a lot to get something complete that worked for me. I also had to manually convert the debug draw classes from as3 to js and Easeljs. Luckily that only needs to be done once - after that I didn't have any problems using it though. I also tried PhysicsType2D (http://physicstype2d.com/) but couldn't get it to work. Overall I was a bit disappointed; In terms of performance, the 'native' js libraries fell short by a lot compared to the two ported ones, and on top of that they lacked a lot of important features. Even the ported ones didn't perform as well as their Flash/As3 versions - the Nape stress test (you can find it here) which I copied, runs significantly better in flash. PhysicsLib.zip UPDATE: You can find the updated github repo here: https://github.com/cmann1/Javascript-Physics-Library-Tests/
  24. Hello, I'm migrating my index.html phaser code to different javascript files for better structure and organisation; but I'm coming upon a problem. I've decided to use the template to make the game responsive "Basic Responsive Template" The templates features different states: boot, preload, game, and mainmenu as js files. I load all these in my HTML file and proceed to start from the "game" state. using a button I created in "Mainmenu". In the "create" method, of the "game" state, I call the createButtons function. This function is stored in another JS file that is loaded in the HTML file, before loading the phaser states. here is the createButtons code : function createButtons(){ //Mountain Brush buttonGroup = this.add.group(); buttonMountain = this.add.button(736, 32, 'buttons', mountainOnClick, this, "mountainbutton0.png","mountainbuttonpush.png", "mountainbuttonpush.png"); buttonMountain.fixedToCamera = true; buttonGroup.add(buttonMountain) function mountainOnClick () { currentLayer = terrainPop; currentTile = 5; } In the "game" state here is the code I use to call createButtons create: function () { //========================== WORLD CREATION //Make our game world and set it bounds this.world.setBounds(0, 0, gameWorldX*32, gameWorldY*32); // ========================== TERRAIN CREATION //create Blank tilemap terrainLayer = this.add.tilemap(); // add a tileset Image to the map terrainLayer.addTilesetImage(tileSetImage); //create the world as a layer terrain = terrainLayer.create('level1', gameWorldX, gameWorldY, 32, 32); terrainPop = terrainLayer.createBlankLayer('level2', gameWorldX,gameWorldY,32,32) terrainLimbo = terrainLayer.createBlankLayer('limbo', gameWorldX,gameWorldY,32,32) // Fills tilemap layer with default tile:HOLY WATER (6) terrainLayer.fill(0, 0,0,gameWorldX,gameWorldY, 'level1'); //allows camera to move around terrainLayer.fixedToCamera = false; currentLayer = terrain; createButtons(); },// End of Create When trying to load the state, I get the error: "TypeError : this.add is undefined" on the createButtons.js:3:1; I don't understand why createButtons isn't working in the scope of the create method I've been beating my head at this all day long and couldn't find any solution; i'm pretty sure it's a noobie mistake and would be grateful for some help! Thanks a lot
  25. There is many maze generation algorithm, some perform better in some cases some perform better in others. Some generate mazes with long lines, while others generate with huge number of branches. There is so many different options that for sure I will not cover all of them but you may have a look here: http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap For my engine ( https://www.dotworldmaker.com ) I offer base procedural maps which can be edited by the game owner, one of the generator uses the Prim's algorithm (if I don't mix up as it is actually pretty old code of mine): https://jsfiddle.net/a_bertrand/eb1qgjj2/ You can run multiple times the example, and each time you get a different maze. The steps involved are: Generate a maze array which have "rooms" separated by walls. Think about small rectangles touching each others. You start from one of those "rooms" and then select all the wall and open then up if the room there has not been visited already. Add those reached "rooms" as new points in the todo. If there is still rooms to visit go back to point 2. At the end of the process you should have visited all the possible rooms and therefore opened many walls. You will also have a fully solvable maze (starting from any room you will be able to reach any other room). Drawback it requires quite some memory and the maze is pretty messy. But that is not an issue in my case. From this array generation to my maps, I do have like a factor of conversion, ideally between 3-5 which means for each maze cell I have 3-5 map tiles involved. My tile code allows also to blend tiles and find automatically the transition between 2 types of tiles. I also added some "erosion" code which makes the look of the maze a bit more natural The erosion involves a Perlin noise generator and checking the neighbors tiles to see if that particular tile need to be changed or not. The erosion is run before the transition is run. Of course on top of that you could place objects, monsters or anything else you may think could improve your game. Be careful with maze generation, mazes can be really difficult to solve once you are playing them and... too difficult means boring in most cases. if you need more information please ask