Merken

Whose turn is it anyway? Augmented reality board games.

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
to the and and my mind as
well and I followed by but my name is dave you can find me on Twitter that they tightly so firstly thank you for coming to my talk and it's going to be fairly broad and now I'm gonna be showing you how it been engine solution to a problem in a board game so if you are here because it says the board games and the title just to clarify there's actually 1 board game on the thus 1 will board game than at any of the talk this year I can and if you're here because it says augmented reality in the title and yet I've been working on an augmented reality at all for the web using rails so to that point and almost nothing I'm going to show you is probably the right way to solve these problems it's definitely tool for the job but I've had a lot of fun with the sole projects and we're going to use some all the new technologies in weird and wonderful ways but before we get to all that engineering fun when you talk about what game fun so introducing pitch car you can see on the screen and a filibuster shape pitch got adjusted to show you how it works introducing the we tell me not Phoenix pitch demo team a thank so 1 was about as simple as games get it is going to take it in turns to a piece on the start of as 1 of these little cars just a little wooden this and then you take in turns to Flickr because around the track on and and the 1st person to complete to let's is the winner the the in the track is made up of these little pieces the kind of jigsaw together it's just straight and corners on and then possessed a smaller track you can build but trivia with full game 630 possible combinations of pride in plenty of replay opportunities there and something to notice that the track is the the already the walls just missed and so the was a real makes again find you can slide around bounce off them as you just saw a side effect is that there are places where the honorable and so on well yeah ranking on so the coming of the track is just propaganda happens all the time the good news is you not not out of the game to and you just go back to where you were as little problem because firstly remembering is hard and so sometimes you can knock yourself and take other people off the track the same time and even if you can remember where you have to go back to it's a game is all about being in the right place at the right time and it's very easy to remember you were maybe half an inch to the left all the other person was for example behind you so in world human no harm no foul but I'm engineer so I thought we we can't do that so let's have computers so why it's so broadly I mean capturing images hot ones on the screen and then we want some way to identify where because all and then if someone leaves the track we wanna actually work so they can be put back accurately
school Thanksgiving get choone
charts parts of before we get to like how and never solution as in the but text D the time justice by some of the decisions and had so I think of as broadly 3 things that I have to do 1 is actually captured images from a Web cam so in a reply to this the others this web of real-time communications API on his Mozilla has to say about it if you scroll down on the page no surprise involves just the and I'm kind of like most people I cautiously say no JavaScript and the language of the web I guess the carry on but I haven't got to play with any new frameworks and while so I thought you know what the result about so I thought I'd give you Jessore try to seize New yes I'm I won't say too much of the man and kind of back in the JavaScript now which is an side and so once you got these images women in some ways to process them this in computer vision on that sounds terrifying in Ruby so I'm just to did basically and I'm using this all like 18 year-old super-stable open seat open computer vision library on but that's a really rapid so we don't actually fantasy count and then I wanted it to be real time like I don't have to submit the form every time someone took a shot without the tedious and so and display logic cable too much so this project was a good entry to laugh so for just a summary of this is my this is how broad the talk is going to be slide we can see this well what is the protocol and you know the saying how much I like the DJs probably more than I should have open city on the back and the scary bunch of math but if they're K and and actually able sending all by simple so the plan is to the bulk of the talk is getting these images actually would amount to the server processing and and see the to figure out whether cars so when they come off the track we can show you ads but back when we get through this am I just get them on the amendment work the the so part 1 you to get the image on the same like the logical place to start because this is what developers to and I've never really seen view components or anything so I found this new webcam component he goes again get page where the cells that and this is how it like that hello world for the web cam the top element of the webcam 1 that's what he's going to take over and it's going to put that video tagging in that implements what the city and then the that is you got this button elements the interesting thing about that is that act click and that's view JS is way of saying give me an onclick handler so we see that function in a minute and then the image type considers a column before the sole such view this is the general JS ISM and this is saying set the souls but this image tag to be whatever is in the view Jess components photo on it you model we will see how that would later and then there was a corresponding that that which implements uptake by about happens when you click the button and so the helots fairly simple by immediately start thinking well what what is what is the stock of like how do you even represent a file or image data in job script so spoiler it's a string this self do is a massive string specifically it's data URI I've never met this before and Mozilla says you are all prefix of the data scheme allowing content creators to embed small files small files in mining documents so small files the makes 2017 priced under a gig is probably small I think reasonable so long as the families that your eyes so is a file a small file and let's if we can get a date to your version of it in terms of this this little handy website you put in your Elliott generate data your eye and you get out of the bottom hello and it's a bit misleading because if you copy out the text and nothing at the bottom and put actually is this so on big strings concentrating on what's amazing to me and I'm never missing this is if you stick that monster string in the source suddenly of an image type and mode in a browser you just see the image like not just what through I learned that soul such museum was the files you can just feel like is later so the success 1 step down will be as a Obadiah I we do have the image so the next challenge was to actually table over to our so so surprises To give you just component with that compatible Beyond Google you actionable some it turns out which of the Frankie has been doing the same as me albeit with Pong but you know it's still an hour video games so that's single part and look at which code it turns out is broadly 3 things you have to do some kind of makes the action cable jobs script but just the ships with rails and be available in future and you wanna subscribe to match cable channel and once you've got a channel you can start sending messages over so sick of those 3 nothing too complicated just important able at this create consumer call of the rail sector cable API and then more rigid is just stuck it on the view part of talk so it's globally available I might have on this just goes on a view gives you like a set up code which I run when the page loads and then the next step was to actually create subscriptions what something over which to send the messages that you just gives you this created call the calls this right before is gonna put a new view component into the known all that so around the then so Richard's just uses the opportunity to create a subscription to educable so the first one I see no element is in the page and it sets the sets up its own channel to talk to the cables of of yeah and then the final 3rd piece of the puzzle is just using video channel and so the video channel sits on the view Jess component so inside the component I can just say this need video channel sense of over In a given scene matching cable are just pops up in review on the use of a class of corresponding name to the channel you just get this receive method invoked with the data so the good side Niels's pattern over and over again is really cool on it's about as far from the rails kind of classic request response cycle as I've gone still using rails and you essentially we have these
completely encapsulated Dalton elements but are maintaining their own asynchronous communication with the server in isolation so just to close the loop has take a photo of function and so I guess we can just now we got via channel we can discern that giant strain your I fight over no seems too good to be true right and it did work it does work but perhaps tellingly but it turns out that in development mode of action came along the entire message payload to the development log where every message so but it's not really but I'm calling a success it turns out that you actually get your data your eyes so we got our data your in any review and now on also so next up when I to see if we get a loaded into this difference in the library the so if you look of Open City dots we find this class this is the closest thing to an image plus the IPL because I think Intel Image Processing Library and his scan down to discover the reader is a load function on IPL image but it takes farming so now the the problem how do we fit of string shape right into our file shaped load method so just thinking on the it's pretty obvious and is there were your eyes everything after the comma is is the data again so I thought maybe I can just write gets on the comma and that's the data and put the data in a file what in a bit ugly and so you know material and it turns out that the Bulls written this day the origin so that's also my on held or how should I be handling these is that your eyes uh more again X is the answer just regular expressions all the way down the the listener jam-paced so let's get more gems on so I mean this is basically the splitting on a common agenda for my purposes but why not while and then I got this data portion and still in a string what I couldn't believe what it is that you can just over the following binary mode right the string to it and then just give up to IPL image load and it works just will this seems like something to me that HE like an undergraduate would data and then we be like that he can't just write binary strings the files in Ruby because encoding and things but not because it really worth it 1st time so school we've got image loaded some I need to do a quick segue now to talk about matrixes so if you've probably but I think probably most people had a matrix but if you haven't got it's a table but I think it's impressive Google manages to pull a definition that contains the words rectangular and rows and columns and those many points a it's just the table special so that images are just matrixes and where each in each cell in the table is just the color of the pixel at that point the Open CV makes this clear in a nice satisfying object-oriented way by just having the image plus inherent subclass from the matrix class so as far as I can see these concerned an image is just a table of pixels now 1 and if you need more convincing than images just table and why not this spectacular website where you can upload an image and a download of the spreadsheet where they set the background colors of the cells to that it's fabulous glad if the so cool now I've got is making good progress we got in open sea and I feel that we have some intuition that an image is just the table pixels American so making headway in defining the calls so if we look at this image again what we probably wanna know is which of the call pixels and so on the colored pixels of probably the blue pixels in this case like a reasonable assumption so we need some way to say it open city can you just tell me which pixel would follow what programmers so I was just pick a web color definition of wood maybe displayed I and then opens the gives us this q method on an image on a matrix which is an image of the 1 of eventually on so we can just define blue and and all this CD scalar thing is it's another fancy word for just a value that has multiple values so we're just saying blue it's not really just the web hex code going and we can use the Q function and what we get back is what I've calling mask and it's another matrix but this time instead of the matrix cells containing colors it's just trues and falses so for every pixel is a pixel blue reasonably sensible and really nice to visualize mask so on In in more leaky abstractions abound now the matrix class suddenly has the same image so that the SMO badness for you so scared and of course like the load method it needs a final name so we're already in love with they do your eyes just try and do it the other way this didn't work was a spectacular easily is the 1st time but basically the same principle you just write a temporary file in binary mode read it back as a string and then you do have to base 64 encode the string you get back for the reasons that we understand that we are the good news is then you just put it back after the comma and I have a data URI again that's cool the as a side note this seemed like it would be terribly on formant by I think in reality the file system is doesn't even bother to write these falls to the disk so they really didn't affect the performance of such an atoll in fact uh so I'm gonna ask you I we know that we can just stick it in a source country and what you get is disappointment quite frankly I I don't think there's any chance you can see on the screen but somewhere in that sea of false blackness there are a few glimmers of true pixels which offers completely white on promise someone thus a style and you might be ahead probably figure like the probability of a pixel being exactly the color blue in the huge RGB color space is basically 0 I'm Molly probably
wanted something more blue which like a range of colors and good news open puzzle back so this is kind of very much identical to the EQ function except now we're going to give it to colors when say anything any cap pixels within this min max range of colors on can be true in the resultant matrix so it probably 1 is some way to build to visualize these masks coming back from the range function and choosing are minimax colors of what we want is to find the hour colored to call blue pixels but we don't wanna get true for just random bits of dust that happened to be blue whiting through the and so the 1st thing was it Robin copy and pasting of my mass furore Chapter we're gonna use action cable and this time limits and all data back from the cables to a browser and so on doing is using that are city in range function building another data your eye what we saw on and I'm just gonna broadcast back of actually color color channel 1 and then on the JavaScript side this 1st snippet result we saw her back at the beginning you create the subscription in Jess's component created covert all we're doing now if you haven't seen action table our jobs before when you create a subscription you can also provide this received function and actually cables gonna call that whenever gets a message so what we do when we get our message of data is we're going to take which can assume it's problematic URI in a number of sign that to this Dockmaster your eyes and this in this context is the view components self and this is where in template BHU novel that co souls blind to the data model thing I showed earlier becomes incredibly powerful because now whenever you receive a actually a message we take out the data your I mean update the model and an image just magically updates because JavaScript what's nowadays on so that was that was really impressive again eyes and when way symbols and so now we've we don't copy and paste mask data your requirements of promising we still only have anyway to update the range of colors the minimax and let's have a look at that thing used to it now more on me anything really new on this so of HTML is the Dutch model and that's you way of saying hey whatever's inside this inputs just put it in the few model in a range of 2 and that range object has a red object and that has the minimax value the same for the other colors and then there's an act change attrib u on the input and that's common just like we saw at the bottom so it's basically this is a non click on change handler and you can see in the snippet below in the component as methods where define always methods and I just say hey whenever US HSP is triggered send a message routing table so this patterns can establish now of things happening sending messages and in this case we discussed some not a whole range what's gonna be forwarding blue what problem and annexes and that message we can pick up back in Ruby promises of the last the exchange and and we can extract out the range and then we're gonna make LCD scalars and we can put it in the last and then make on you mask based on the values what we end up with is a nice tool component like this and I was really pleased with just how how I thought was is quite elegant so basically every time you change in input sign message of action table with the new range it's building the new mass on the cables of turning into data URI but they do your eyes down back down direction table and just becoming the source of the image so this is nice we now have unmasked eventually and you can shoot pretty accurately I found you get pretty bold plot good color so you just see the pixels where chorus and nothing else because whenever you still know where the car is we just have this mask what we really want available to say is that you know what's the x y and like exactly where in the image is the car and the Damascus on this which was seem like it's going to be the biggest part of the talk is 1 slide and a kind of justified although opens the having said this is a ridiculous thing I got out of it is called the how transform or how transform and it's just this amazing that of math where you just give it a matrix of trues and falses will grow all in ranges and it tells you where the circles are and let's goal posts like how high I guess there's a bunch of parameters to in my life 5 will 10 parameters the internet told me his some probably work and they did so and on yeah I can we thousand ways so you just give it to the mask with all your true the color pixels in a sea of false not call pixels and as long as the car as a circle it should be and then you
get like a circle object and has the x y position of the center of the circle in the image and if we assume that if we can't see it's missing and why not that's just broadcast of action cable that's what we do now so yeah making progress and again as surprisingly reliable it that took a lot of tweaking but the general premise is pretty robust 115 OK so the last piece is trying to figure out actually fell off so here's a nice picture and this is a simplified state of the game that is free of is the blue collars on the track the pink color got knocked off that so not great what you can't see is the orange color which is 1 over the other side of the room under someone's chair because people get really excited Pankaj announced on so looking at this kind of thing I meant on became a disaster like 3 states and we can be on the track in that image for you might be in the image and off the track or not just inflict out of the camera's view altogether and then I realized I to this the you can be slightly lazier and in reality you're just on the track or your anywhere else in the universe and you're not on the track this sounds kind of common sense but I went down a rabbit hole and when I realize this allowed me to do something which means quant optimization this starts with another mask and so this is going to be like a mask we saw before it's just a matrix of trues and falses with the same dimensions of the image but this time instead of asking open cv hey where's the trees impulses which is going to define where the truth are in image and we're going to in such a way that all the pixels tracked pixels are true and everything else is false and when we don't like that we can do matrix math and just the deletes out everything that is on the track so this is nice because now the orange and pink color just gone they're just not even in the image and and you so now all I need to care about is hey if the cars in the image is by definition on the track so that was that I feel good about I did mean the action after triangle this mask which not too bad for geometry that there with me here so 1 of the nice things is every track of some of the stuff that's the with guide the checkerboard and we know we know the dimensions of the track of the stock pieces so if the sentence so knowing that we really just need to know that it's here in the image on and that really comprises 3 things that's kind of the position x y rotation which is probably going to be the that lab and then the scale quite countless far away from the scale I can't is defined as how many pixels long the 2nd of the and so made a tool with huge and action cable and so this is almost copy-paste all of the mask tuning to eliminate so again we just got lethal inputs and those on change they are when they change than the call and just component just sends a message of action Table action cables going to make the mask is in the middle apply it to our friend philologist image and then just send that back down at 1 thing I relies on I thing this is it's like cults is like debugging with posts but in 2017 because all you do is use action cable published feel like it's really it's really interesting patterns and I wonder if the scope for some kind of like interactive debugger but anyway so I just my code is listed with just publishing images Estadio so the solar log from earlier was bad you should see it and half thing and flask every position to stop the 1 step down are at this point I'm going to introduce this highly sophisticated code for describing tracks the does much 1 on-screen good and so got the starting which is always a straight and then we go alright so number right there on the left and maybe I could've done some clever machine learning it's really not hard to just type in the specific code for the track so we know the next thing is going to be the next piece after the straight is a right turn so I was like 0 well we know that after straight it's always going to be 1 of strengths which cross I the and then the rotation will kind of by definition a straight doesn't turn so it's just the same direction and the scale is just always the same like nothing ever gets closer or further away so that's going on now we have to draw the on on the corner of truth onto the mask on I skipped the straight and just said draw a rectangle because you actually there's a method in opens the the there is no method in Open CV for draw the corner piece of a pitch title unfortunately that oversight in my opinion on so I did I did just in mall drawing so I do a big circle and the uterus small
finally a false and just take out core
follow-up to further so that all these primitives are an opens the neutral circle true false and then describe the image down because I know where the corner
goes from the previous slide I can just draw wrong the so making progress was reassuring the next next these well I we know it's going to be now i wanna trucks with across the right and because we turned the next straight so you don't do as this and that so we have to know that the next relative peace is rotated ground the right and as implemented is quite nicely it worked was reassuring so I just have a straight class and a left and a right plots and then when you draw a piece for the next phase I just ask the previous piece where the next piece goes and it's kind of defined recursively which is middle easier and you just keep doing that so pull off the next letter in the track description and ask the previous peace what to put in it's rotated and then if you must right which 1 wasn't so very long and you end up like a start and so now we've got this mask of truth we can delete or everything else and then this image on the and we can just take that and do where's the car detection and so we the cost in every on the track causes an image or it won't be on the track and a skip over this because it's boring quite frankly them our code but some this is just the logic then is you know if we see a car remember it's there and then if it's still there just show it's there but if a car ever goes off the track like we can't find any more than just leave leave a mark where it walls and then the person company back most basically we've done at all curious if it was not fungi the variance can and on all along this was just list of scroll on probably so here's what it looks like when it's running so the 1st thing we're gonna do is because the truck got bumped to because of these guys get excited so this is where we're diving in the position of the metro lines are the scale this 1 this the and and yeah this no image thing that and talk about it the talk that if you want to know the secrets you can find me basically when deleting out with glare by capturing what's going on staff yeah why there is wanna try guys welcome back to the pitch can obtain so on fear masks your opponent where may for most of the landslide mother and father and then nearly will blue almost of everything so is having difficulty on account of people's hands being the wrong color and immediately reflect maybe so is the running time the new is so 1 is this is gonna sit here and try and find them and show where they are and then if someone would be so that those 2 would the track what you them a so you see the orange now has no question mark so this is the logic of it just saying aware that the orange go in original and if not pose a back not where it was for example where no you managed to hit it right on and we're trying to my happens obsolescence million they of again so yeah across I want so reactivates unless it's convinced that maps trying to not trying to cheat so clearly there's someone about the only so they were young and so now when the orange come again the we can which can thank you FIL OK so the question was found how long how long would it take me to help solve the problems and then doing knowing what I've learned you think you'll help reimplement a similar thing I think probably the biggest takeaway was that made the power of this In our view JS with action cable talking to elements in the the and why skipped over is those using web packed the cannery bills the JSM of Y and I guess is all coming in some new but roses history before it was just using doctor to run them in isolation but I think in a year I wouldn't be surprised if everyone's just using a lot more jobs script and everything is a lot more asynchronous and to your 2nd point much faster now like it really is just once you've got gone through the pain of setting up web packing getting it built the development and honest you just as it's hot rewording so annoying we have to restart action cable but it boots a few seconds so really is like going component that's really reactive I just copy another component making action cable channel and going yeah so the question was on how I felt about our building the track mask automatically by just inferring the darkness absolutely yes those endless machine learning possibilities here 1 thing I was trying to do that and really make much program open issue on is a Jan for this really punny name is for genetic algorithms in called Darwinian I this is the birds in the temple I wanted 1 thing that's quite annoying for example is orienting the mask so I think of the 1st thing also type in the 10 character code and probably be easy to quite quickly is a generic algorithm to machine learn the orientation of the and then when and another thing that happens all the time someone will the name and they might not the track and if it goes off a little bit you be surprised over time and again how much the track can drift from other camera and for the yes much to do yes so the question was why it the so it is yet because goal I will say yeah when you're playing the game is is surprising how often disagreements will occur exactly where someone was you know I would have had another the slides just a and I have no and I should have made an affiliate link for the game you ask the question was what I used the chess for a consumer Web applications absolutely yes yeah no likely to to have been quite statement on JavaScript frameworks and I can jump from angular 1 point something old to you and I played a little bit but it really blew me away how far far along jets fragments of come so yeah when 100 % in on so the question was if you just better than reacts on of this point just gonna come over to here
to the best so but I moving user them is the best thing ever Emacs looks like yeah baby knows the part played with reactive it was a cat I felt like everything I did reacts was OK and nineties of refusal MVP projects and then I went you JS for this project and I was like 0 everything's way similar like everything rats that was a bit like a cat I'll get it eventually in digital like the US obvious so I think as much easier learning curve as of end user think of are I think very much thank the other if my
rence and
Soundverarbeitung
Demo <Programm>
Shape <Informatik>
Punkt
Schaltnetz
Störungstheorie
Computerunterstütztes Verfahren
Whiteboard
Computeranimation
Eins
Benutzerbeteiligung
Erweiterte Realität <Informatik>
Weg <Topologie>
Twitter <Softwareplattform>
Spieltheorie
Prozess <Informatik>
Rechter Winkel
Bildgebendes Verfahren
Touchscreen
Resultante
Prozess <Physik>
Browser
Datensichtgerät
Formale Sprache
Familie <Mathematik>
Versionsverwaltung
Computer
Element <Mathematik>
Zählen
Computeranimation
Videokonferenz
Homepage
Monster-Gruppe
Prozess <Informatik>
Mustersprache
Minimum
Skript <Programm>
Maschinelles Sehen
Metropolitan area network
ATM
Lineares Funktional
Multifunktion
Webcam
Sichtenkonzept
Prozess <Informatik>
Pay-TV
Güte der Anpassung
Klassische Physik
Systemaufruf
Nummerung
Quellcode
Entscheidungstheorie
Rechenschieber
Generator <Informatik>
Menge
Rechter Winkel
Server
Projektive Ebene
Message-Passing
Tabelle <Informatik>
Zeichenkette
Telekommunikation
Web Site
Mathematisierung
Klasse <Mathematik>
Gruppenoperation
Automatische Handlungsplanung
Zellularer Automat
Term
Mathematische Logik
Code
Data Mining
Demoszene <Programmierung>
Weg <Topologie>
Benutzerbeteiligung
Bildschirmmaske
Computerspiel
Digitale Photographie
Endogene Variable
Datentyp
Programmbibliothek
Zusammenhängender Graph
Softwareentwickler
Bildgebendes Verfahren
Matching <Graphentheorie>
Protokoll <Datenverarbeitungssystem>
Eingebettetes System
Einfache Genauigkeit
Automatische Differentiation
Elektronische Publikation
Echtzeitsystem
Offene Menge
Last
Dreiecksfreier Graph
Mereologie
Matrizenrechnung
Programmiergerät
Punkt
Element <Mathematik>
Binärcode
Skalarfeld
Dateiverwaltung
Figurierte Zahl
ATM
Lineares Funktional
Asynchronbetrieb
Shape <Informatik>
Abstraktionsebene
Wurm <Informatik>
Systemaufruf
Quellcode
Tabellenkalkulation
Rechter Winkel
Heegaard-Zerlegung
Server
Message-Passing
Tabelle <Informatik>
Zeichenkette
Web Site
Subtraktion
Klasse <Mathematik>
Gruppenoperation
Rechteck
Zellularer Automat
Code
Loop
Datensatz
Benutzerbeteiligung
Arithmetische Folge
Digitale Photographie
Mini-Disc
Vererbungshierarchie
Programmbibliothek
Softwareentwickler
Ganze Funktion
Bildgebendes Verfahren
Touchscreen
Pixel
Sechsecknetz
Bildanalyse
Elektronische Publikation
Verdeckungsrechnung
Regulärer Ausdruck
Offene Menge
Last
Farbenraum
Wort <Informatik>
Kantenfärbung
Resultante
Matrizenrechnung
Bit
Punkt
Extrempunkt
Minimierung
Browser
Drehung
Skalarfeld
Computeranimation
Internetworking
Richtung
Netzwerktopologie
Vorzeichen <Mathematik>
Prozess <Informatik>
Minimum
Mustersprache
Randomisierung
Elektronischer Programmführer
Gerade
Zentrische Streckung
Parametersystem
Lineares Funktional
Sichtenkonzept
Pay-TV
Template
Güte der Anpassung
Gebäude <Mathematik>
Systemaufruf
Ruhmasse
Plot <Graphische Darstellung>
Quellcode
Ein-Ausgabe
Kontextbezogenes System
Dreieck
Kugelkappe
Rechenschieber
Message-Passing
Aggregatzustand
Tabelle <Informatik>
Ortsoperator
Hausdorff-Dimension
Gruppenoperation
Mathematisierung
Rechteck
Interaktives Fernsehen
Zahlenbereich
Räumliche Anordnung
Broadcastingverfahren
Code
Virtuelle Maschine
Weg <Topologie>
Spannweite <Stochastik>
Informationsmodellierung
Arithmetische Folge
Spieltheorie
Datentyp
Inverser Limes
Zusammenhängender Graph
Bildgebendes Verfahren
Videospiel
Matrizenring
Pixel
Kreisfläche
Antwortfunktion
Datenmodell
Symboltabelle
Verdeckungsrechnung
Objekt <Kategorie>
Offene Menge
Debugging
Mereologie
Binäre Relation
Kantenfärbung
Kreisbewegung
Orientierung <Mathematik>
Bit
Punkt
Ortsoperator
Stab
Klasse <Mathematik>
Web-Applikation
Gruppenoperation
Element <Mathematik>
Mathematische Logik
Code
Framework <Informatik>
Computeranimation
Virtuelle Maschine
Deskriptive Statistik
Benutzerbeteiligung
Weg <Topologie>
Algorithmus
Arithmetische Folge
Prozess <Informatik>
Spieltheorie
Datentyp
Skript <Programm>
Zusammenhängender Graph
Primitive <Informatik>
Optimierung
Varianz
Phasenumwandlung
Gerade
Bildgebendes Verfahren
Leistung <Physik>
Zentrische Streckung
Befehl <Informatik>
Sichtenkonzept
Booten
Zwei
Mailing-Liste
Plot <Graphische Darstellung>
Binder <Informatik>
Verdeckungsrechnung
Rechenschieber
Mapping <Computergraphik>
Computerschach
Offene Menge
Speicherabzug
Kantenfärbung
Bit
Mereologie
Ähnlichkeitsgeometrie
Projektive Ebene
Kurvenanpassung
Computerunterstützte Übersetzung

Metadaten

Formale Metadaten

Titel Whose turn is it anyway? Augmented reality board games.
Serientitel RailsConf 2017
Teil 40
Anzahl der Teile 86
Autor Tapley, Dave
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/31302
Herausgeber Confreaks, LLC
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Board games are great, but who has time to keep track of what's going on when you just want to have fun? In the spirit of over-engineering we'll look at PitchCar -- probably one of the simplest games in the world -- and see how far we can go with web tech, image processing, and a bunch of math. Expect to see plenty of code, some surprising problems and solutions, and of course: A live demo.

Ähnliche Filme

Loading...