Bestand wählen
Merken

Building a Game in Ember Starring Your Cat

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
the and and
alright good morning thank you everyone forget up on the early side to see this on the 1st talks today so thank you very much soup appreciated but if you have trouble seeing the slides there is a link here to the slides on us figure that so feel free to download those the so my name is Matt McKenna I I work at a digital health start-up in San Francisco Call them minor we do a little bit member in some of our internal apps and I'm and I'm really excited to give the stock which is called Billy game in number Steiner cats and there will be a demo of of the game sigh my cat croissants a little bit and the reason I'm excited to give the stock is because but I think it is already pretty well established that member is a fantastic choice if you're building which you might call a kind of fancy cried at built in JavaScript and that's true if if you're of building a that sitting a REST API I'm doing like write operations then and there is a really good choice but I think but I think embryo is is more versatile than that in fact I think Amber is a fantastic choice for building any any of front end of script applications even 1 as as nonstandard as a game so attack so that is the take away that I hope to bring to this talk is that there are things that are common to 2 all JavaScript apps and these things are generally not the most exciting parts of jobs Abdul in fact I think because the boring parts and I think if we would let Amber handle the boring parts of that development then we will be able to spend more time doing the fun stuff the exciting stuff of that development like like making here you can jump around the screen so if but if you're here
many maybe your 1st thought is the why why build a game in JavaScript like if you wanna make a game y just or maybe you take it from the other angle and you say on make something in JavaScript so why did and for me that's that's pretty straightforward so I got into computers because I was in 2 games and I got into programming because I was into computers so now that the program is part of my career I really like wanted across often but the list go back and make the thing that got me really really excited about programming in the 1st place the and then next if if you do amber or even if you don't to amber b do a little bit of Java Script but you already know enough to start making a game like right now there's there's very little between you and just making a fun little game and they can along those lines deploying your game is is relatively easy especially compared to of mobile app development and what it takes to the like publisher map onto an app store the and then once you do deploy your game your a really wide footprint because your game can be played on mobile tablet desktop I'm and so this is I think a lot of good reasons to to get your feet wet and making of the games in in JavaScript and perhaps most importantly right there on the right is a picture of a croissant she's of fluffy little cats enjoys sleeping food and I think she likes the star the skin and so that's why Billy why you might want build a game JavaScript
but why why build again and the heart is and the entities you you might make a game and in JavaScript but how does amber relatedness the I think it's you can appreciate why and can be useful in game development it's important to distinguish between 2 things 1 you into new jobs that that so what I mean by that it is you are a special
and if you grew up in and near where I did kind a when I did maybe you saw Mr. Rogers on TV and in here a song called your special the these are the lyrics to it and the really nice you especially you are unique that's what makes a wonderful I I agree with that I think you are unique that is what makes the wonderful your JavaScript at so your JavaScript that is probably less special than you are there are things that even if you're at feels like it's it's super unique that no 1 is ever made this apple for there the things that you're JavaScript at is probably going to need to do so this this so like chart here is a list of things on the left that the jobs that that probably needs and the list of things on the right is the patterns or or objects that ever use is to attack the things needs the and and why I have this slide is to show that you may feel constrained by a by a framework like you don't wanna do everything the frameworks way but the frame exactly helping you take care of the boring parts of that development so it those things the left like of handling the acid vitamin doing testing these are things that people get really excited about like I want when I want to start I want to make a game I was in like I wanna make a game and I'm really excited but to NASA pipeline it was like I just 1 s a pipeline to be there so I can work on the game from so this reminds me of a quote by Eleanor Roosevelt it I I may not have a quote exactly right but how goes is with freedom comes maintenance the and I think what Eleanor meant here was that of course you have the freedom to choose for any jobs that design and of course you have the freedom to choose any micro library you want to get your JavaScript app developed but now if you do decide to to take these disparate libraries and patterns and glue them all together to make your app you were now on the hook to maintain that and I think the question of what will the question that I had asthma decide won the game was how bad I want to maintain that encode like how much time do I wanna spend working on the glue code compared to 2 working on the game itself the so that brings me to the boring parts of game development I'm not of professional game developer I imagine professional game development has its own set of boring parts but for me for me making this game starring to of the MIT framing things that I wasn't super Jess to work on that I wanted the framework to help me out and the 1st thing was the the non you y so I knew that I needed menus in my game ways to pause the game I need ways turn the audio on and off I need ways to to show high scores I need these things but but that's not why I want to make the game I just knew I needed next was testing I knew I wanted to test my game I wanted to do everything on the up and up but I didn't want to have to configure a testing framework have configured in a number of testing frameworks in my day and I've yet to have a good time doing it so I was really hopeful that I wouldn't have to worry too much about too much of setting up my test so I and I can write them pretty easily and quickly the and finally there was the point so the I knew I wanted to deploy to the web C could play the game the web browser and then I thought well this is a game I play games on my phone I would also like to have this can on on the App Store the and then I got into the games and I got into an as a kid were are all desktop in so the part we really want to get a desktop app also but I didn't want have to become an expert in all these other systems that wasn't deploys latest wanted the game to be on so this sort of makes up the the structure of the of the rest the talk so go through a how I use amber to handle these 3 . parts the UI the testing and the point again yeah so this is this is a screenshot of the game
of this results on the right that's an actual picture of croissants on the left I think like a good 3rd my pictures of croissants aka in an Amazon . com of box and of this may so it is with your cats to the love delivers Renaissance the but so going to have a game works and a little bit but McAllister sure is written in the canvas
some and here are some links to if you if you wanna play now now the universe on the pizza cat . com warning there's like audio so to become find but the link on the bottom is is the source code so if you're interested in seeing that and so now if you will permit me I will switch to the game so
this is it this is the the main menu and I don't know if you can see the the the URL top pernicious slash for the root URL by hit play here Chris on the game starts in a press of so just lost some terrible I am supposed to be the pre-eminent croissant piece cat player in the world knows super nursing so here's the idea press space a jump to get the pieces you avoid the cat and that's how you lose is if you fall into a cat bed because I wanted to make a game starring my cactus on but I wanted had like anyone when you lose that anything bad happen to you so the analysis using audio and as a like her which is in there but this is like you like my favorite game over a like of thinking to so yes this can like that the main game mechanics a couple other parts of our show so and there iclickers 71 pieces like them I high scores now 71 and if I click the croissant face here we go into I a bigger much to and so if you hit the the many-body going to play such 1 such a menu and then if you go the high school orders but you'll see here are us my high score is the 1 that I just got that 71 is right there some in that go back and go back to play in 1 more part I want to show is that
and if you play and you hit the menu that the game costs so this is you know a general dislike how the how the game works it's not crazy
complicated or anything from yeah I the the so
what started talking about how how the the game and his work so the of what I wanted to make menus that didn't feel you know like a website I wanted to feel kind like a game and so for me like nothing of what is a game and you look like the counter to make things 1 you get easily in my memory or full screen so that's the thing of the whole screen and then the 2nd part is that the and it's a lake of a more nest billeted at the more nest you go there you more and in 1 direction and when you and in another direction so so wanna try to get something that felt like that added Amber the and forcefully like standard Amber you're already
halfway there so if you build a member of your probably use 2 nested rats and if you never knew maybe maybe you haven't seen this but I think it's it's not too hard to to to pick up like how this works so it on the far left is is a root URL measures slashing could play you slashed place flatulence 1 so for level 1 and if you click on a croissant face you go to menu 1 such menu and and so forth the and the code snippet on the bottom is what the rather GS file looks like so that's how I this we define our rats and and they like why didn't show this 1 this is totally standard Amber would that's exactly I think the point is that you get this sort of functionality and for member just right out of box at the kind of halfway there to making up again you so this will get you nested menus but will get you the animated full-screen menus that uh talked up for us how we do that
but I would think that a step back to stop at how the templates are rendered in and thereby a by default so is a mouthful in English but like in practice lines so the Cervantes right in amber templates are rendered I'm reading of a strengthening of members of a number templates surrendered into the press the paragraphs templates outlet which is like impossible to pass in English I think but in practice it's is not too hard so secure you nested template is rendered into its parent templates outlets and if you do this you'll get nested menus however won't be animated in full screen to do that but for these next 2 slides are about so the 1st thing the it is liquid fire so is an add-on for amber so if you were at the summit talks yesterday you might it if you are not familiar with it but what is is a fantastic and on for animating between about routs in in number the and was was really cool about is to configure there's there's not much work you have to do so the previous lemma sodomy there's the outlet which template gets rendered into after you install liquid fire the way you use the way you can tell onality animated is by changing your outlet into liquid outlet like it's kind that simple and if you want to make something full-screen if you want to change how that is like looks you can give you your outlet a class and that that does that beautiful spring stuff so I would worry too much about this CSS below but that's the CSS that makes the the game of beef where the game and the full screen and then finally if you've used love liquid fire before but you but the transition state s and what this does if you are familiar with is this is how you tell of liquid fire what animations you want to use of when you transition between runner-up 1 rout another and so would with this code snippets there's some useful elements of what this is saying is that if you're in the index the main index out and you go into a nested 1 to move left and if you go the other way to go right the and don't know what I what I just love about and the in liquid fire is that I was able to go from like a standard site looking nested menus to something that felt like a game in in like less than 20 lines of code a bit like 3 lines of code and then feel a calcified infrared felt like like I was using it correctly which which like if if you use using framework to feels good when you feel like you're working like together with it the
us so the next part is pausing against we saw that when you went into the the many of the game parts and and something that brings up like how do you handle the communication between the the game written in candidates and the menus of in a number the and at this level really get it there's like no good way to do that is why did you pick you made a bad choice but but forcefully Amber exposes as a kind of all the right things to make this but not a super difficult the so what it
to talk about like how we do the playing the positive I think to kind of digressions into how the game works the first one is the game so the game will be something that just like every game will have and it has to be the main things you need to do the so it'll run forever and it will 1 update the positions of the on the screens like where croissant is with pizzas are with Capon's are and then to it will do all those so this crisis the so he can see code here the Sea update drawing and guess what those things to them and perhaps perhaps not familiar with the 1st line in there which is of window . request animation frame the but there's enough through that will happen in the next slide but but what it does is it takes the game men as a given function in as a parameter so this was sort
of about percentage of frame which is like the 2nd of the 2 digression self request animation frame is a web API sporty most of modern browsers 9 kind of have to worry about compatibility there and its main job is to call call that function in our case the game you would ever the browser is ready to in the browser is in a trial retains 60 times a 2nd if things get slope might not be able to do 60 10 2nd but it's going to try you may be thinking GM's you work estimation frame for but you used to some JavaScript like you gotta do this with with central you can't use when about interval and had a fire 60 times a 2nd and you could do that totally works is fine this way games were done in the browser like a little bit ago but there's there's some like performance reasons why you would wanna do that having to do with with this with this man Nacional like CPU usage when your attempts in the background and there's a link on the slide here if you want to get a little bit into the details of why request animation frame is sort the best practice for for up making games up in JavaScript the having having like talked a little bit about how the
game works in I like how the loop works the next particle where we put this game what because we want the game to maintain its state when it's in any any way so we don't want the game to reset for example when you go into many so like where out when we put this code word why where should live and forcefully here and has a type of object that that really suits needs and it's a service so if you have use of services number before what they are the are long-lived JavaScript objects that can maintain state between rounds the so this is a good spot to put our game it'll survive the state so would say will survive as we go in between right so this is where I'm suggesting we put our airplane pause methods so here is a snippet of from the game service you may recognize the 1st chunk of code as the game loop that we looked at earlier the Mr. were meant as a plane method and opossum so the plane method of spores to false it once again with enantiomer sausages like pressing space Bar the pause method does just the opposite said sets foster true if cases the animation essentially pausing the game and removing those analysis so are we have our game you mirror plane pause methods how we tell amber that we want to play when we're not in the menu and want to pause when we are in the menu this is another area where where Amber was like designers
as wouldn't it really helps us out so we can inject the game service into or menu out and take advantage of 2 events that happen on the rout this the 2 events are activated and deactivated so the activator that will happen when we go into the rout to deactivate events will happen when we leave the around so what you see on this slide is that we call a pause on the game servers on activate we call play on the game service when we deactivate and this is another area where I felt like I was like hacking anger I wasn't doing anything that was like going against the framework I felt like me the framework for sort of 1 here in like making this thing work and and this 1 still like like really like in the the flow of developing and have a good feeling
so get the next action here is is testing the game a number so I heard that testing games is like a near impossible and and that's that's probably true I I thought I was pretty hard to test my game I think testing jobs that in general UI stuff is is kind heart but I knew I wanted to have test because it's like you have in a practical 1 for for like a week at sea before like not having test starts to bite you and so is happy that the emperor can contain built-in with no q unit of customs like and have to settle the cells of the beginning is an idiot never would have done it but it was especially great was that
the UI stuff is like the way any to test that is the way I would test any Amber component so so what I have here is a test for making menu component and it will introduce a series I just wanted to know that when I tap the audio off but that the it then toggles say audio on and and vise versa and was great about is that when I generators component I already got a test of like started to reckon with my test and using the standard Amber testing of processes to to make this has happened so that like yes thank you amber for helping me there and then it may like a little bit more
complex is that I we know that the game on other begins working at all like it's great that the the many which how I know that the game mechanics actually work and and again that's like more complicated than like presents the storage of over Qatar's maybe maybe there's just no like that way to test this sort of thing but for me like this because of the pizza get is a pretty simple game and there's like 1 really simple game and that's to the Sun such as the pizza she gets a point so 1 of the test that I want to make sure that that 1 game mechanic was was working properly so what decided to do was create acceptance and acceptance test boots up your your whole at and what I'm headed to was go to the 1st level check that the score was years to get a baseline with with the score is wait 1 2nd and then check at the score was greater than 0 a figure for case the Sun has a score greater than 0 then this is such a pizza and it's it all works on but if you saw that he saw the game when I was player maybe put on on your computer you know there's no guarantee that uh that Bakris that piece will be Alec croissant level or that you can run into a cat something like that the so I need to do something to make sure that the person would definitely touch a pizza and that's what in in this uh code snippet what this few pieces like crazy and test sulfur dust and so what what what it does is it
turns the game from the thing on the left so that's for the game looks like when you're we're playing normally to something on the right so on the right there a croissant moose will the faster the the pieces are all at croissant height and is no candidates and I think was kind cool but this is this is like 1 of those moments like up I love the number developer looking at jobs for developer because the test cell for itself which is again like a normal test helpers like that something at 108 and the ability to be able to modify the game code like it line like dynamically while the game is running is the thing that JavaScript looked let's they do so that this is 1 moment run like yes this was like a fun way to to make this game the and finally I would
like to tell a little bit about deploying again in number so of the start of for a really 1 gets on the Web I wanna still mobile 1 is beyond desktop but did 1 have become an expert knowledge systems and in 1 have to to bother some mobile engineers adjust up because 10 engineers or something like that to figure out how to do this so of forcefully and the other what again can
came to my aid and if you're here last year you saw that that the community of came around to decide and receive deployed is like economical way to deploy and wraps to the web so decided go with that and and you know works really well so I I deployed this app to S 3 was great great things about the likely at 1 point I made a mistake in the code published echoed I was able to revert the the the code and I like this all the things you would want to do on robust like deployed process so like they you embassy alive deploy that and then there's the deploying into of mobile and desktop so I'll be a chance to see Alex's infuses talks yesterday on of building mobile apps and desktop past respectively of the really great and have a lot of tips on how you can use which you already know about and we're to to put your stuff on these other platforms so so saying that they were talking at the conference that they have ways to build public and retinal of I looked into the the things that they were doing and decided to try my hand using and I over to publish to be app stores in an electron to build a desktop app and I was
really pleased that and I was able to use a missile occurred over to get a croissant pizza cat onto the apple of stored the Android app store so the search for your you'll find on the thing of 0 review select please 5 stars if you can the 1 and so am Basilica worked out really well and I was especially nervous about Andrew excited never built into it happened with the like in my gonna have to learn and related to you make this happen and the answer was I did not really like I had to learn enough about how the ITD words but like really Brazil I over care the the boring parts of of getting at is in the number of electrons I had never built of no less than that from from scratch before and and the and religion is kind of handle that for me so as sort great so if you wanna download the Mac at in croissant it's can't icon they much get it yes 5 stars please please remember downloaded the game so I just like folic how also is this an on ecosystem that like I can focus on making the game in all these things it would take for ever to do and I would have hated doing them I just get kind of for the most part handled forming so that by the
takeaways from this is that I think all at all jobs define and at are going to have very similar the things that they need at least at in some base level there 1st things that they're gonna need and I think we should let the Amber handled of 1 person might be like a great thing for amateurs to my also we don't wanna spend our time doing for me and this game the the main things were were building the UI dealing with the testing where with the game logic and then and then deploying the game itself the usable links so I learned a lot from Mozilla's Developer Network on on building and JavaScript really handy the 2nd link has a bunch of free tools to the like make the game assets which which I also found handy in in in case you wanna know how like I put these graphics gathers can in basic as they are here some of apps that are used uh there I I had
this this is a black bag full of croissants stickers so I can take a long i Polly could take a moment please taken from me so finally later they they look like that in the slide there the sun does have 2 colored eyes but but I was made aware that I got it backwards to green eyes actually the right eye or whatever it is we're havin slice is wrong behalf of that they very much really
appreciate you go through my mind by a
Nichtlinearer Operator
App <Programm>
Bit
REST <Informatik>
Gebäude <Mathematik>
Spieltheorie
Zahlenbereich
Gebäude <Mathematik>
Computerunterstützte Übersetzung
Kartesische Koordinaten
Binder <Informatik>
Videokonferenz
Rechenschieber
Spieltheorie
Prozess <Informatik>
Code
Digitalisierer
Debugging
Mereologie
Skript <Programm>
Softwareentwickler
Computerunterstützte Übersetzung
Auswahlaxiom
Touchscreen
App <Programm>
Bit
Winkel
Güte der Anpassung
Mobiles Internet
Applet
Spieltheorie
Gebäude <Mathematik>
Mailing-Liste
Computerunterstütztes Verfahren
Mapping <Computergraphik>
Prozess <Informatik>
Rechter Winkel
Spieltheorie
Tablet PC
Mereologie
Skript <Programm>
Computerunterstützte Übersetzung
Speicher <Informatik>
Softwareentwickler
Optimierung
Gerade
Resultante
Bit
Mereologie
Punkt
Quilt <Mathematik>
Quader
Rahmenproblem
Atomarität <Informatik>
Browser
Zahlenbereich
Framework <Informatik>
Code
Benutzerbeteiligung
Spieltheorie
Prozess <Informatik>
Code
Hook <Programmierung>
Mustersprache
Programmbibliothek
Vererbungshierarchie
COM
Skript <Programm>
Datenstruktur
Speicher <Informatik>
Softwareentwickler
Softwaretest
Expertensystem
App <Programm>
Konvexe Hülle
Eindeutigkeit
Applet
Spieltheorie
Mailing-Liste
Programmierumgebung
Physikalisches System
Quick-Sort
Inverser Limes
Objekt <Kategorie>
Softwarewartung
Rechenschieber
Menge
Rechter Winkel
Mereologie
Computerunterstützte Übersetzung
Kraftfahrzeugmechatroniker
Quellcode
E-Mail
Binder <Informatik>
Iteriertes Funktionensystem
Raum-Zeit
Filetransferprotokoll
Wechselsprung
COM
Spieltheorie
Prozessfähigkeit <Qualitätsmanagement>
Mereologie
Minimum
COM
Wurzel <Mathematik>
Computerunterstützte Übersetzung
Ordnung <Mathematik>
Grundraum
Analysis
Web Site
Spieltheorie
Festspeicher
Mereologie
Spieltheorie
Gebäude <Mathematik>
E-Mail
Richtung
Standardabweichung
Touchscreen
Quelle <Physik>
Web Site
Bit
Punkt
Quader
Gruppenoperation
Zahlenbereich
Element <Mathematik>
Extrempunkt
E-Mail
Template
Code
Framework <Informatik>
Übergang
Spieltheorie
Minimum
Lemma <Logik>
Vererbungshierarchie
Wurzel <Mathematik>
Default
Gerade
Touchscreen
Lineares Funktional
Konvexe Hülle
Vererbungshierarchie
Template
Routing
Elektronische Publikation
Quick-Sort
Rechenschieber
Touchscreen
Automatische Indexierung
Rechter Winkel
URL
Cloud Computing
Lesen <Datenverarbeitung>
Telekommunikation
Parametersystem
Rahmenproblem
Ortsoperator
Spieltheorie
Zahlenbereich
E-Mail
Quick-Sort
Code
Übergang
Touchscreen
Loop
Spieltheorie
Mereologie
Bildschirmfenster
Rechenschieber
Kalkül
Gerade
Touchscreen
Ebene
Bit
Rahmenproblem
Browser
Zahlenbereich
Unrundheit
Dienst <Informatik>
Zentraleinheit
Raum-Zeit
Code
Loop
Benutzerbeteiligung
Ego-Shooter
Prozess <Informatik>
Spieltheorie
Datentyp
Analysis
Metropolitan area network
Schätzwert
Lineares Funktional
Suite <Programmpaket>
Farbverwaltungssystem
Spieltheorie
Systemaufruf
Binder <Informatik>
Menge
Quick-Sort
Rechenschieber
Objekt <Kategorie>
Softwarewartung
Dienst <Informatik>
Menge
Flächeninhalt
Touchscreen
Modem
Wort <Informatik>
Partikelsystem
Zeitzone
Aggregatzustand
Softwaretest
Gruppenoperation
Spieltheorie
Zellularer Automat
Zahlenbereich
Routing
Datenfluss
Ereignishorizont
Framework <Informatik>
Quick-Sort
Rechenschieber
Dienst <Informatik>
Softwaretest
Einheit <Mathematik>
Flächeninhalt
Spieltheorie
Prozess <Informatik>
Server
Bit
Prozess <Physik>
Punkt
Quilt <Mathematik>
Computer
Kraftfahrzeugmechatroniker
Kombinatorische Gruppentheorie
Komplex <Algebra>
Code
Übergang
Komponente <Software>
Softwaretest
Spieltheorie
Zusammenhängender Graph
Speicher <Informatik>
Figurierte Zahl
Softwaretest
Kraftfahrzeugmechatroniker
Booten
Reihe
Spieltheorie
Quick-Sort
Teilmenge
Generator <Informatik>
Computerunterstützte Übersetzung
Standardabweichung
Softwaretest
Expertensystem
Wissensbasiertes System
Bit
Euler-Winkel
Momentenproblem
Spieltheorie
Zellularer Automat
Zahlenbereich
Code
Mailing-Liste
Benutzerbeteiligung
Softwaretest
Spieltheorie
Prozess <Informatik>
Rechter Winkel
Mobiles Internet
Normalvektor
Softwareentwickler
Gerade
Humanoider Roboter
App <Programm>
Telekommunikation
Punkt
Prozess <Physik>
Gebäude <Mathematik>
Zahlenbereich
Gebäude <Mathematik>
Humanoider Roboter
Bildschirmsymbol
Systemplattform
Code
Quick-Sort
Benutzerbeteiligung
Emulation
Spieltheorie
Trennschärfe <Statistik>
Mereologie
Mobiles Internet
Wort <Informatik>
Computerunterstützte Übersetzung
Speicher <Informatik>
Versionsverwaltung
Softwaretest
App <Programm>
Mereologie
Mathematische Logik
Momentenproblem
Datennetz
Freeware
Program Slicing
Gebäude <Mathematik>
Spieltheorie
Kraftfahrzeugmechatroniker
Binder <Informatik>
Mathematische Logik
Übergang
Rechenschieber
Verschlingung
Spieltheorie
Prozess <Informatik>
Softwareentwickler
Videokonferenz
Code
Dienst <Informatik>
Ereignishorizont

Metadaten

Formale Metadaten

Titel Building a Game in Ember Starring Your Cat
Serientitel Ember Conf 2016
Autor McKenna, Matt
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/34724
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Ember is generally used to build ambitious web applications, but what about ambitious web games starring your cat? In this talk, I'll go over how to use Ember to build, organize, and deploy HTML5-canvas based games. Using Ember to develop games shares the same benefits of using Ember to develop applications—both the toolchain and the conventions alleviate decision fatigue. For example, route-driven paths are great at handling levels, Liquid Fire provides lovely transitions for menus, and adapters provide a standard way to connect to backends for saving high scores.

Ähnliche Filme

Loading...
Feedback