HAWK  | So I reckon we may as well kick off. @mb4 and @SitePoint_Paul, would you guys kick off by telling us about the kinds of things that you do re game developing?
|
YamilG  | and, since you mentioned it before in the article, HTML5 are JS games, is that right?
|
mb4  | @YamilG that’s right.
|
mb4  | I’ve only made a handful of HTML5 games, using Canvas 2D and SVG specifically.
|
programm…  | I’m trying to write some simple online games, but I’m not sure what I should use. Should I develop in HTML5/Javascript? What are its limitations?
|
markbrow…  | @programmer The only alternative to using HTML/Javascript is plugins like flash.
|
Paul_Wil…  | Is java another alternative?
|
programm…  | Is it easier or harder than Flash?
|
SitePoin…  | … and Flash wont get you far on mobile devices, neither will Java.
|
markbrow…  | It’s still quite new and there aren’t great frameworks like Flash to make HTML5 development easy yet.
|
programm…  | Flash is expensive.
|
markbrow…  | So yes, it’s harder because you still need to do a lot of the heavy lifting yourself.
|
markbrow…  | @programmer yes, HTML5 is quite cheap to develop for at $0.00
|
HAWK  | @markbrown4 Haha
|
markbrow…  | Though, some of the early game frameworks like impact.js are quite expensive at $99
|
programm…  | I have an open source alternative that will create Flash, but the learning curve is steep.
|
YamilG  | I was very impressed with the BrowserQuest project (http://browserquest.mozilla.org/) how hard is it to make a game like that? I mean, compare with traditional gamedev
|
Cuebit  | So what about the limitations? Are HTML5/JS games limited to Pacman and Tetris, or will we be seeing more large-scale games?
|
markbrow…  | @yamilG, looks awesome :) hadn’t seen that before.
|
markbrow…  | @Cuebit you’ll definitely see more impressive looking games than that.
|
Paul_Wil…  | With things such as Unity3D some quite fancy games can be made
|
SitePoin…  | Cuebit: there will certainly be larger scale games than Pacman/Tetris. WebGL will help on the front for graphics.
|
diogo  | how about canvas vs svg … should one starting now pay attention to svg, or just focus on canvas?
|
SitePoin…  | Paul_Wilkins: as far as I know, Unity3D games can only run on the web using a plugin?
|
markbrow…  | @YamilG It’s not super easy to create a game like browserQuest.
|
programm…  | How well does it do sound?
|
markbrow…  | You can get the basics of rendering setup fairly easy with a fast loop and canvas rendering objects at different positions, with different state
|
SitePoin…  | diogo: Personally I find Canvas much better fitter to building games, but SVG can be useful as well for vector graphics. Ideally you should know what each one it good at, so you can pick the right tool.
|
YamilG  | how about the Google port of Quake II, was is rewritten with web technologies or just some kind of “emulator” translating the original game to HTML5? what would you recommend?
|
programm…  | I mean, if you want to play sound clips and also record the user’s voice, for example.
|
SitePoin…  | YamilG: according to the page, “In the port, we use WebGL, the Canvas API, HTML 5 <audio> elements, the local storage API, and WebSockets to demonstrate the possibilities of pure web applications in modern browsers such as Safari and Chrome.” — http://code.google.com/p/quake2-gwt-port/
|
YamilG  | now that we’re getting more devices with high ppi graphics (new MBP, or iPhone 4), will it be necessary to think in terms more of vector graphics (svg) instead of fixed dimensions pngs? are there other techniques to deal with this? btw sorry for my bad english…
|
markbrow…  | @programmer I haven’t done enough with the Audio API yet, it can definitely be done though. @YamilG I’ve been doing a bit with retina lately Not necessarily. Canvas actually has a dpi-density property that you can double to render 4 times the pixels
|
SitePoin…  | YamilG: high DPI certainly doesn’t make it _necessary_ to think in terms of vector / SVG graphics… but that will be one way to get things looking crisp.
|
markbrow…  | Images you just need to create at 2x versions of as defaults and then scale to half the size when rendering.
|
SitePoin…  | YamilG: but having graphics scaled up will be fine for many games, and Canvas can also be used to render high-DPI images, and programmatically generated shapes in canvas can also be at native resolution.
|
YamilG  | |
markbrow…  | |
HAWK  | Hi to those of you that have just joined us. I’m Community Manager for SitePoint and am moderating this session. Feel free to jump in at any time with questions.
|
markbrow…  | |
YamilG  | nice! I didn’t know about create.js, looks good thanks mark
|
SitePoin…  | |
SitePoin…  | I haven’t used KineticJS yet, but I’ve borrowed some ideas from it, particularly the multi-layer canvas for more efficient rendering.
|
YamilG  | w3c is working in a api for connecting joypads I think
|
programm…  | these frameworks look promising!
|
markbrow…  | yeah, there’s demos available for the GamepadAPI out already.
|
SitePoin…  | In Chrome you can enable support for Gamepad API at chrome://flags/
|
YamilG  | I would like to see a book explaining how to create a game engine with HTML5, that would be nice to have (sitepoint..:)
|
markbrow…  | @YamilG I’d buy it too :) There’s quite a few of the engines that are out there on github though
|
molona  | well, @markbrown4… what are you waiting for? start writing now :D
|
diogo  | does it make sense to use more than one frameworks on the same development?
|
markbrow…  | You just need to do some digging, trial and error, reading the docs diogo, depends on the framework / library i suppose
|
YamilG  | didn’t know chrome was already shipping gamepadapi support! :O
|
SitePoin…  | |
YamilG  | a random question, are you guys living out of gamedev, if so, any advise on how to become a full time game developer?
|
markbrow…  | @YamilG no, my job is a web developer, so sites / applications / games on the side.
|
SitePoin…  | @YamilG: Likewise, I build web applications for a living, not games. I believe it’s a difficult industry to get into at this stage. Early days yet, though.
|
markbrow…  | @YamilG I think there’s definitely the possibility of doing HTML5 game dev full time, but there’s nothing quite like an app store that will help you monetize
|
SitePoin…  | |
markbrow…  | So you’ll need to monetize some other way like requiring sign up / login.
|
HAWK  | I have a question @Markbrown4. I know that we had some real issues during GeekGames with people cheating. Is this a huge issue for game developers? Are there ways around it or is it just par for the course?
|
lnxwalt  | So you recommend paid gamplay instead of in-game ads?
|
markbrow…  | @HAWK, you can never secure anything that is client-side 100%.
|
YamilG  | how about html5 games incorporation with the facebook platform?
|
programm…  | How about interacting with a database?
|
markbrow…  | Security 101 is never trust the client. So to make a game secure you need to take specific input from the client and control the gameplay on the server.
|
SitePoin…  | (and even then, people can use bots to do their clicking/aiming/keyboard input)
|
Balachan…  | No restrictions on server side
|
markbrow…  | It’s certainly possible to secure, but you need to be very specific on the server-side what you accept as valid input.
|
YamilG  | key question: where to begin? and I mean, baby stepping
|
chrisser…  | Any chance that a book about developing games will come out, from novice to ninja or something like that?
|
markbrow…  | @YamilG facebook apps are basically an iframe that embeds your site inside facebook.
|
programm…  | Let me try again. Say I have a database of info and I want to use that to drive a game. How can I do it?
|
markbrow…  | There’s no real limitations that make adding games to a facebook app difficult.
|
SitePoin…  | YamilG: “where to begin” depends entirely on what you hope to achieve. For me, I just started playing with the <canvas> API, and reading up on some really basic Linear algebra etc.
|
Paul_Wil…  | Where to begin? You could start with drawing things to the screen, and then form a game loop which receives input (if any) and then updates the screen.
|
markbrow…  | @programmer like any other web application would interact with the database.
|
SitePoin…  | YamilG: If you’re more interested in creating actual game content and getting a final product out the door, then loko into the various frameworks and skip the hard stuff of building the game engine :)
|
markbrow…  | But, because you don’t want to be using full page refreshes you need to use Ajax / socket.io to do the communication Dealing with the database is still just handling input from requests server-side and making updates as needed.
|
chrisser…  | Any thoughts on where to start on creating an HTML5 game like Risk?
|
programm…  | @markbrown4 Okay, so learn Ajax then?
|
SitePoin…  | (There’s currently no point to the game, but you can click around, and see how various aspects of pathfinding etc work) If you’re interested, I can push the source code to GitHub…?
|
markbrow…  | Well, 90% of the game will be client-side, if you need to save state during gameplay then you’ll need something like Ajax.
|
diogo  | @chrissergent a friend of mine told me about HTML5-Canvas-Cookbook
|
chrisser…  | @diogo thanks. I found it and I am saving the link.
|
markbrow…  | @chrissergent I haven’t actually played risk, but from the screenshots it looks like it would be fairly easy to make. depending on what you’re wanting you may not need HTML5 either. A lot of the screen elements could be built with HTML / CSS
|
chrisser…  | @markbrown4 I would actually like to make a game more like Axis & Allies, but I thought more people are familiar with Risk.
|
HAWK  | |
markbrow…  | Sorry, don’t know that one either :)
|
programm…  | My browser crashed! Must be all the HTML5 ha ha!
|
SitePoin…  | |
chrisser…  | @hAWK I like that page. Thanks.
|
HAWK  | @chrissergent np
|
molona  | @sitePoint_Paul I assume that you used that basic linear algebra that you mentioned to create your game… does that include the physics (let’s say not trespassing the wall?
|
markbrow…  | @chrissergent board game style games are one of the easier types of games to build so something like Axis & Allies.
|
SitePoin…  | molona: yep, what you’re referring to is Collision Detection, which is surprisingly difficult.
|
markbrow…  | |
molona  | @sitePoint_Paul. Yes, I think that’s the term :)
|
markbrow…  | Similar inputs to what those games use I believe.
|
chrisser…  | @markbrown4 I just haven’t done one and thought it would be fun; but where to start; I wish there was a walkthrough for something simple.
|
markbrow…  | Start with what you know. If you feel comfortable with HTML & CSS build the screens using those technologies. Most of that super_fun game is just HTML/CSS with javascript changing the state and pages.
|
fhuel  | Ehi guys, what is in your opinion the most complete html5 framework for game design… I’m looking at lime.js, what do you think about it ?
|
SitePoin…  | |
chrisser…  | @markbrown4 I wouldn’t mind a walkthrough of the Super game. That could get me started for the logic of a turn based war game.
|
markbrow…  | From what I’ve seen Impact.js is the most complete but it comes at a price.
|
SitePoin…  | |
markbrow…  | @fhuel lime.js does look good, but I haven’t used it yet.
|
markbrow…  | @fhuel most of the game engines you can tell are good by the games outputted.
|
yuukan  | what do you think of appmobi?
|
fhuel  | right, thank you @markbrown4
|
markbrow…  | The lime.js example games feel smooth and fast and it seems to be gaining popularity. Looks like a good option.
|
diogo  | @sitePoint_Paul your ‘game’ hosted at amazonaws.com, is there a particular reason for choosing amazonaws?
|
molona  | @sitePoint_Paul thanks!!!
|
SitePoin…  | @diogo: because hosting on AWS is cheap and easy, and I use it for other home and work projects. @diogo: most or all of SitePoint is hosted on Amazon AWS one way or another. what I’m using there is just a simple Amazon S3 bucket.
|
fhuel  | AWS is just for static website, isn’t it ?
|
markbrow…  | @chrissergent I can send you a walkthrough to that game. shoot me your email at markbrown4@gmail.com
|
SitePoin…  | @fhuel S3 is just for static content, but AWS is made up of lots of services, including EC2 which is their virtual computing platform.
|
fhuel  | ok, probably it just seems a lot more complex that a “regular” hosting… at least to me :)
|
diogo  | does it make sense to obfuscate your js code?
|
SitePoin…  | |
markbrow…  | @diogo that won’t prevent someone really intent on taking the code.
|
chrisser…  | @markbrown4 I sent it.
|
SitePoin…  | @fhuel It’s probably more complex until you work with it for a while :)
|
fhuel  | eheheh right
|
HAWK  | Ok, we have just over 5 minutes left in the session, so if you have any questions that you’ve been sitting on, now would be the time to ask them.
|
badjem79  | hi, any suggestion for a framework for creating a collecting card game, i plan to write my own using jquery as client and node.js/redis as back-end
|
SitePoin…  | |
markbrow…  | @diogo I’d still use uglify.js to compress and minify the scripts but only for speef, not to secure them.
|
diogo  | @markbrown4 great answer :)
|
markbrow…  | @badjem79 it depends on the UX involved I suppose.
|
markbrow…  | @badjem79 no immediate recommendations, only to keep it simple as possible. if HTML/CSS can achieve what you want there’s no reason to put everything in a <canvas>.
|
diogo  | @sitePoint_Paul could you share any references/links on unit testing?
|
SitePoin…  | |
SitePoin…  | |
markbrow…  | Node.js helps if you have a lot of traffic or want to support socket.io like communication.
|
diogo  | thanx, I was going to had unit testing for javascript :)
|
markbrow…  | A card collecting game could use socket.io to share with others who are online at the time for example.
|
SitePoin…  | |
SitePoin…  | worth reading if you want a collection of tools to get started.
|
HAWK  | And that’s the end of the official session everyone. Feel free to stick around and chat as long as you like, but I’m going to cut our experts free. Thanks very much to Paul and Mark for taking the time this morning and to the rest of you for coming along and taking part. I’ll be posting a transcript and list of resources up on SitePoint later today.
|
molona  | @sitePoint_Paul and @markbrown4
|
molona  | thanks
|
chrisser…  | thanks
|
programm…  | thank you
|
HAWK  | The next session is Sept 12 and the subject is UX with SitePoint author Jodie Moule.
|
theoWire…  | doh missed it lol
|
diogo  | thank you!
|
fhuel  | thank you
|
HAWK  | @theoWirebox Check out the transcript later today :)
|
markbrow…  | no problemo.
|
theoWire…  | ok cool thanks
|
SitePoin…  | No worries – glad you all made it.
|
markbrow…  | Feel free to tweet at me at @markbrown4 if you have questions. Would like to see what you guys are making :)
|
SitePoin…  | |