Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
jQuery Game Development Essentials
jQuery Game Development Essentials

jQuery Game Development Essentials: Learn how to make fun and addictive multi-platform games using jQuery with this book and ebook.

eBook
€25.99 €28.99
Paperback
€37.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

jQuery Game Development Essentials

Chapter 1. jQuery for Games

Over the course of the last few years, jQuery has almost become the default framework for any JavaScript development. More than 55 percent of the top 10,000 most visited websites as well as an estimated total of 24 million websites on the Internet are using it (more at http://trends.builtwith.com/javascript/JQuery). And this trend doesn't show any sign of stopping.

This book expects you to have some prior experience of jQuery. If you feel that you don't meet this requirement, then you could first learn more about it in Learning jQuery, Jonathan Chaffer, Karl Swedberg, Packt Publishing.

This chapter will quickly go through the peculiarities of jQuery and will then dive deeper into its most game-oriented functions. Even if you probably have already used most of them, you may not be familiar with the full extent of their capabilities. The following is a detailed list of the topics addressed in this chapter:

  • The peculiarities of jQuery

  • The function that will help you for moving elements around

  • Event handling

  • DOM manipulation

The way of jQuery


jQuery's philosophy differs from most other JavaScript frameworks that predated it. Understanding the design patterns it uses is key to writing readable and efficient code. We'll cover these patterns in the next sections.

Chaining

Most jQuery statements are of the following form: a selection followed by one or more actions. The way those actions are combined is called chaining and is one of the most elegant aspects of jQuery. A beginner using jQuery who wants to set the width of an element to 300 pixels and its height to 100 pixels would typically write something like:

$("#myElementId").width(300);
$("#myElementId").height(100);

With chaining, this would be written as:

$("#myElementId").width(300).height(100);

This has many advantages: the element is selected only once, and the resulting code is more compact and conveys the semantic meaning that what you want to achieve is really only one thing, which is to change the element size.

Functions that allow chaining don't only make it possible to group many calls on the same object, but also there are many ways to actually change on what object (or objects) the next function on the chain will operate. In these situations, it is typical to use indentation to convey the idea that you're not working on the same elements as the previous indentation level.

For example, the following chain first selects an element, then sets its background's color as red. It then changes the elements in the chain to the children of the previous element and changes their background-color attribute to yellow.

$("#myElementId").css("background-color", "red")
   .children().css("background-color", "yellow");

It's important that you always ask yourself how the current interactions with the previous and next element in the chain can be avoided for undesired behavior.

Polymorphism

jQuery has its own way to use polymorphism, and a given function can be called in a lot of different ways depending on how much information you want to give to it. Let's have a look at the .css() function. If called with a String data type as the only argument, this function will behave as a getter by returning the value of the CSS property you asked for.

For example, the following line retrieves the left-hand side position of a given element (assuming it's positioned absolutely):

var elementLeft = $("#myElementId").css("left");

However, if you pass a second argument, it will start to behave like a setter and set the value of the CSS property. The interesting thing is that the second argument can also be a function. In this situation, the function is expected to return the value that will be set to the CSS property.

The following code does just that and uses a function that will increase the left-hand side position of the element by one:

$("#myElementId").css("left", function(index, value){
   return parseInt(value)+1;
});

However; wait, there's more! If you pass just one element to the same function, but that element is an object literal, then it will be considered as holding a map of properties/values. This will allow you to change many CSS properties in one single call, like setting the left and top position to 100 pixels in the following example:

$("#myElementId").css({
   left: 100,
   top: 100
});

You can also use strings as the key and value of your object literal as it's done in JSON.

A very complete resource for finding about all the ways to call a function is the jQuery API website (http://api.jquery.com).

We will now focus on a few functions that are of interest for developing games.

Moving things around


Chaining has a slightly different signification for animation. Though you may never actually need to use jQuery animation functions in most of your games, it may still be interesting to see the peculiarities of their functioning as it may be the cause of many strange behaviors.

Chaining animations

The .animate() function from jQuery allows you to make a property vary through time from the current value to a new one. A typical effect, for example, would be to move it left from 10 pixels, or change its height. From what you've seen earlier and experienced for other type of functions, you may expect the following code to make a div (DOM division element) move diagonally to the position left = 200px and top = 200px.

$("#myElementId").animate({top: 200}).animate({left: 200});

However, it doesn't! What you will see instead is the div first moves to reach top = 200px and only then moves to left = 200px. This is called queuing; each call to animate will be queued to the previous ones and will only execute once they're all finished. If you want to have two movements executed at the same time, thereby generating a diagonal movement, you'll have to use only one call to .animate().

$("#myElementId").animate({top: 200,left: 200});

Another possibility is to explicitly tell the .animate() function not to queue the animations:

$("#myElementId").animate({top: 200}).animate({left: 200},{queue: false});

Keep in mind that this also applies to other functions that are in fact wrappers around the .animate() function, such as the following:

  • fadeIn(), fadeOut(), and fadeTo()

  • hide() and show()

  • slideUp() and slideDown()

Managing the queue

Here is a list of functions that you can use to manipulate this queue of animations.

.stop()

The .stop() function stops the current animation of the queue. If you provide some more arguments to the call, you can also clear the queue and define if the elements should stop being animated and stay where they are, or jump to their destination.

.clearQueue()

The .clearQueue() function removes all animations from the queue; not only the current one, but also all the next ones.

.dequeue()

The .dequeue() function starts the next animation in the queue. This means that if an animation is being executed when this function is called, then the new one will start as the current one finishes executing. For example, if we take the example at the beginning of this section and add a dequeue() function at the end, the elements will actually start moving diagonally.

$("#myElementId")
.animate({top: 200})
.animate({left: 200})
.dequeue();

.delay()

The .delay() function allows you to insert a pause between two animations in the queue. For example, if you want to make an element visible with .fadeIn(), then wait for 2 seconds and make it disappear again with .fadeOut(). This would be written like this:

$("#myElementId").fadeIn().delay(2000).fadeOut();

Other usages of queues

Queues are not used only for animations. When you don't specify otherwise, the queue manipulated by those functions is the fx queue. This is the default queue used by animations. However, if you want to, you could create another queue and add any number of custom functions and delays to script some time-dependent behavior in your game.

Handling of events


If you have used jQuery before, you probably used .click() at some point. It is used to define an event handler that will respond to a mouse click in jQuery. There are many more of those, going from keyboard input, form submission, and window resizing, but we will not go through all these. Instead we will focus on the more "low-level" functions to handle events in jQuery and explain exactly the subtle differences between them.

You would typically use some of those functions to implement the control of your games either with mouse or keyboard inputs.

.bind()

The .bind() function is the basic way to handle events. .click() is, for example, just a wrapper around it. The two lines of the following example have exactly the same effect:

$("#myElementId").click(function(){alert("Clicked!")});
$("#myElementId").bind('click', function(){alert("Clicked!")});

However, there is a limitation with the usage of bind. Like all other jQuery functions, it only applies to the selected elements. Now, imagine a situation where you want to execute some task each time a user clicks a link with a given class. You would write something like this:

$(".myClass").click(function(){/** do something **/});

This will work as intended, but only for the link present in the webpage at the moment of its execution. What if you change the content of the page with an Ajax call, and the new content also contains links with this class? You will have to call this line of code again to enhance the new links!

This is far from ideal, because you have to manually track all event handlers you defined that may require to be called again later and all the places where you change the content of the page. This process is very likely to go wrong and you'll end up with some inconsistencies.

The solution to this problem is .delegate(), which is explained in detail in the following section.

.delegate()

With .delegate(), you give the responsibility of handling events to a parent node. This way all elements added later on as a child to this node (directly under it or not) will still see the corresponding handler execute.

The following code fixes the preceding example to make it work with a link added later on. It's implied that all those links are children of a div with the ID attribute as page.

$("#page").delegate(
".myClass", 
"click", 
function(){/** do something **/});

This is a very elegant way to solve the problem and it will come in very handy while creating games, for example, where you click on sprites.

Removing event handlers

If you need to remove an event handler you can simply use the .unbind() and .undelegate() functions.

jQuery 1.7

In jQuery 1.7, .delegate() and .bind() have been replaced by .on() (and .off() to remove the handlers). Think of it as a .delegate() function with the capacity to behave like .bind(). If you understand how .delegate() works, you will have no problem to use .on().

Associating data with DOM elements


Let's say you create a div element for each enemy in your game. You will probably want to associate them to some numerical value, like their life. You may even want to associate an object if you're writing object-oriented code.

jQuery provides a simple method to do this, that is, .data(). This method takes a key and a value. If you later call it with only the key, it will return the value. For example, the following code associates the numerical value 3 with the key "numberOfLife" for the element with ID enemy3.

 $("#enemy3").data("numberOfLife", 3);

You may be thinking, "Why shouldn't I simply store my values directly on the DOM element?". There is a very good answer for that. By using .data(), you completely decouple your value and the DOM, which will make it way easier to avoid a situation where the garbage collector doesn't free the memory associated with the DOM of a removed element because you're still holding some cyclic reference to it somewhere.

If you defined some values using the HTML5 data attribute (http://ejohn.org/blog/html-5-data-attributes/), the .data() function retrieves them too.

However, you have to keep in mind that making calls to this function has some performance cost, and if you have many values to store for an element, you may want to store all of them in an object literal associated with a single key instead of many values, each associated with their own key.

Manipulating the DOM


While creating a game with jQuery, you will spend quite some time adding and removing nodes to the DOM. For example, you could create new enemies or remove dead ones. In the next section we'll cover the functions you will be using and we will also see how they work.

.append()

This function allows you to add a child to the currently selected element (or elements). It takes as argument some already existing DOM element, a string containing HTML code that describes an element (or a whole hierarchy of elements), or a jQuery element selecting some nodes. For example, if you wanted to add a child to a node with the ID "content", you would write:

$("#content").append("<div>This is a new div!</div>");

Keep in mind that if you give a string to this function, the content will have to be parsed and that this could have some performance issues if you do it too often or for very large strings.

.prepend()

This function works exactly like .append(), but adds the new content before the first child of the selected element instead of after its last one.

.html()

This function allows you to completely replace the content of the selected node(s) with the string passed as an argument. If called without an argument, it will return the current HTML content of the first of the selected elements.

If you call it with an empty string, you will erase all the content of the nodes. This could also be achieved by calling .empty().

.remove()

This function will simply delete all the selected elements and unregister all the associated event handlers and data.

.detach()

In some situations, you may only want to remove some content for a short period of time and add it again later. This is typically a case where .remove() does too much of a good job. What you really want is to keep all those other things you associated with your nodes so that when they get added later on, they will work exactly like before. .detach() has been created exactly for this situation. It will behave like .remove(), but will allow you to reinsert your elements easily.

Stay curious my friend!


So that's it. I would really encourage you to read the API for each of these functions because there are still some sets of arguments that have not been shown here. If anything is still unclear about any of those functions, don't hesitate to look around the Web for more examples on how to use them. As jQuery is such a popular library, and the Web's culture is one of openness, you will easily find lots of help online.

Here are some places where you can start looking for more information about jQuery:

Summary


In this chapter, we've seen some of the most useful jQuery functions for game development and how to use them. By now you should be familiar with the jQuery philosophy and syntax. In the next chapter, we will put what we've learned into practice and create our first game.

Left arrow icon Right arrow icon

Key benefits

  • Discover how you can create a fantastic RPG, arcade game, or platformer using jQuery!
  • Learn how you can integrate your game with various social networks, creating multiplayer experiences and also ensuring compatibility with mobile devices.
  • Create your very own framework, harnessing the very best design patterns and proven techniques along the way.
  • The updated code files can be found here

Description

jQuery is a leading multi-browser JavaScript library that developers across the world utilize on a daily basis to help simplify client-side scripting. Using the friendly and powerful jQuery to create games based on DOM manipulations and CSS transforms allows you to target a vast array of browsers and devices without having to worry about individual peculiarities."jQuery Game Development Essentials" will teach you how to use the environment, language, and framework that you're familiar with in an entirely new way so that you can create beautiful and addictive games. With concrete examples and detailed technical explanations you will learn how to apply game development techniques in a highly practical context.This essential reference explains classic game development techniques like sprite animations, tile-maps, collision detection, and parallax scrolling in a context specific to jQuery. In addition, there is coverage of advanced topics specific to creating games with the popular JavaScript library, such as integration with social networks alongside multiplayer and mobile support. jQuery Game Development Essentials will take you on a journey that will utilize your existing skills as a web developer so that you can create fantastic, addictive games that run right in the browser.

Who is this book for?

Knowledge of JavaScript and jQuery as well as basic experience with frontend development is all you need to start making games in a matter of hours with this essential guide. Whilst also suitable for those who simply want to start making games with jQuery, it's specifically targeted at web developers that want to experiment with and utilize their existing skills.

What you will learn

  • Create sprite-based, multi-platform games using the latest web standards and jQuery
  • Use powerful techniques directly from the games industry to make your own games harness stunning visual effects without compromising on performance
  • Learn how you can develop real-time multiplayer games and integrate them with social networks
  • Overcome the limitations of mobile browsers allowing you to take full advantage of their various features with minimum hassle
  • Develop a platformer, an arcade game, or even your very own RPG with jQuery at the core
  • Discover how you can easily implement features like parallax scrolling
  • Utilize your existing skills in jQuery in a fun and exciting new context

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 25, 2013
Length: 244 pages
Edition : 1st
Language : English
ISBN-13 : 9781849695077
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Apr 25, 2013
Length: 244 pages
Edition : 1st
Language : English
ISBN-13 : 9781849695077
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 70.98
Learning jQuery - Fourth Edition
€32.99
jQuery Game Development Essentials
€37.99
Total 70.98 Stars icon

Table of Contents

10 Chapters
jQuery for Games Chevron down icon Chevron up icon
Creating Our First Game Chevron down icon Chevron up icon
Better, Faster, but not Harder Chevron down icon Chevron up icon
Looking Sideways Chevron down icon Chevron up icon
Putting Things into Perspective Chevron down icon Chevron up icon
Adding Levels to Your Games Chevron down icon Chevron up icon
Making a Multiplayer Game Chevron down icon Chevron up icon
Let's Get Social Chevron down icon Chevron up icon
Making Your Game Mobile Chevron down icon Chevron up icon
Making Some Noise Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.3
(11 Ratings)
5 star 45.5%
4 star 36.4%
3 star 18.2%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Marin Nikolovski May 21, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I think that "jQuery Game Development Essentials" is an excellent book, because it gives its readers a lot of information how to create games with jQuery and JavaScript. The topics in this book are well chosen and cover a lot of game development techniques that are needed for creating a single-player and multiplayer games and integrating them with social networks like Twitter and Facebook.The book is divided into several chapters and by reading them the readers will learn:* about the general principles and design patterns that are used for video game development;* how to create a single-player platformer;* how to extend the single-player code in order to create a multiplayer game;* how to optimize the code, so that the games that are developed can utilize the resources that are available to them to the maximum;* how to protect the developed game from hacking;* how to integrate the developed games with Twitter and Facebook.Each chapter is written in a clear way and begins with an introduction of the goal that should be achieved, followed by a detailed tutorial of how it can be achieved, ending with a conclusion that describes what was done in the chapter. Each tutorial contains step-by-step explanations, followed by a sample code. They are also accompanied by links to useful articles or references to other books that the readers can use in order to broaden their knowledge.Although I'm mostly pleased with this book, I have some remarks about it:* The book only gives a short introduction into jQuery and JavaScript - the book is filled with a lot of sample codes and, in order to analyze them successfully, you need to have a solid knowledge of jQuery and JavaScript. However, this is not a very big problem, because the author pinpoints some external articles and books that can help the readers to learn everything they need to know about them.* The step-by-step explanations that are given in the book are general and are not enough to develop a game (the author is missing some of the steps). But, this is not a very big problem, because the book comes with sample projects that the readers can analyze and debug, so that they can observe in real-time what is actually happening.I recommend this book to anyone who is planning to, or is already doing game development. It is full of content and you can learn a lot from it. The author gives his best to cover as much topics as possible and make the readers more familiar with the crucial design patterns that are used in game development. The best part of reading this book is the fact that the explanations that are given in it are general, so they can be reused in the other programming languages as well. I have been developing games for several years and I found this book very useful. Definitely worth buying it!
Amazon Verified review Amazon
mmoDust May 28, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book starts off with the following: "Writing games is not only fun but also a very good way to learn a technology through and through" and I could not agree more.I have been programming for 30+ years and at this point I want to try and future proof my knowledge by learning what looks to be very important to our future HTML and JS and jQuery is designed to make this much easier and efficient. I ran into this book while searching for HTML Game programming info and it seemed like it would be a great way to leverage jQuery for Game Creation and learn a bit on how HTML Games work in general and this book did not disappoint.From the beginning this book covers it all from the basics of what jQuery can do for you in Game Development down to how Audio works and extra ways to make things just work for your audience. The author also includes handy links to other references for more information on how to continue your learning which I thought was very helpful.The writing style is very friendly and it feels as if the author is there with you helping you learn rather than a dry instructional book. The code style is snippets of functional code and not complete start to end of each function which helps to keep the book focused on what you are learning for that chapter. The entire code is included as a download with the book so I never ran into an issue if I needed more information.This is a review of the eBook version and if you have the choice I would go with the ePub format as it is formatted very well with great use of color to keep things formatted for easy reading.
Amazon Verified review Amazon
MzEdd Apr 10, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very readable. Straight to the meat of js games in bite size chunks. All code emailed to you on request as promised in the book.
Amazon Verified review Amazon
A.R.S. Sep 14, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I'm a basic-intermediate programmer of jquery, and what I liked of this book is that, in addition to teaching the topics it states, it teaches you how a professional programs. Other jquery books usually give the general theory of the language, but this book explains efficient ways to program and explains many particular aspects of javascript and jquery. It is an expert programmer explaining you how you should program and why.The book has some editing issues, but they are not important for you to take advantage of all that it offers.
Amazon Verified review Amazon
Thriving Panda May 22, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I did a review on my blog at grimpanda.com, but I thought I would share it here as well, so I copied/pasted the most relevant bits. I loved this book!In the preface, the author asserts that the book is recommended for beginners of web development who have at least some knowledge in Javascript/jQuery. While this is certainly true, let me be the first to say that it's usefulness extends far beyond the new developer. If you can sit down at your keyboard and write a fully featured jQuery multiplayer mobile/browser game without needing any assistance, this book isn't for you. If, on the other hand, you are weak in any area ranging from jQuery utilization, building your own game engine frameworks, server code for efficient multiplayer game features, utilizing social networking effectively in your game or launching all of this onto a mobile device, then this book *is* for you.StructureToo often I pick up a book and get a couple chapters in only to realize that they pulled out all of the stops right at the beginning and then ran out of air. Even more common are books that present information in fragments that are difficult to implement in any meaningful way. In the end, the reader is left with another space on the bookshelf filled with a nothing more than a very poor, overly-worded reference.Not so with jQuery Game Development Essentials. Selim Arsever, the books author, leads the reader carefully down a path of understanding and knowledge gathering. Arsever begins by familiarizing the reader with critical concepts, before moving easily into an approachable but powerful game example. The simple, single screen game, teaches the programmer important cornerstones such as collision detection, game states, and input calculation; A foundation the reader can build upon solidly while continuing the journey forwards to more developing more robust skills.LanguageThroughout the publication, Arsever keeps the reader engaged by using easy to read, simple language. While your skillset and understanding will continue to ramp up as you progress through the chapters, the difficulty does not. Again, this is due in large part to the books meticulous ability of explaining the foundation before moving on to the more advanced sections.That is probably my favorite feature of this book. Pretty often I am able to follow books in this category in the beginning. Inevitably however, I end up getting mired down in the language as the text progresses. Usually, I end up just pasting code and giving up on reading the chapters explaining it. This leaves me feeling unsatisfied and well... a little sad! Not so in this book! I was able to read through each and every chapter as if it were the first. I really can't stress my happiness with this major detail.Building BlocksAs I've already mentioned, the book carefully leads the reader from concept to concept in text, and mirrors that growth in the actual coding. There is no useless information in this book. No fluff code, or stupid games that teach nothing. Each page is designed to progress you that much further in your journey down this awesome road.While not strictly so, the layout sort of follows a "learn it, build it, improve it" workflow. Arsever will introduce key concepts, discuss them in an intuitive manner, then have you working with relevant code. Only after introducing the simplest possible answer to a problem will the reader then move on to make it more robust. In this manner, it is very easy to take in the information in a modular method.After you have a decent working prototype, he will usually spend quite a bit making sure that we can take the basics to something modern and exciting. Anything from integrating social networking into your game to allowing your new game to respond to user touch!TLCHere's another aspect of the book that really drew me in. There are many times throughout the publication that Arsever takes time to `care'. I say `care' because he obviously spent a great deal of time thinking about YOU the reader. He doesn't just shove directions down your throat, but takes the time to inform you what tools are available for the upcoming tasks. He understands that not everyone can afford the most expensive tools, so wherever possible he links us to open source and freely available alternatives.On top of that, he points points out whenever possible, areas that might need additional attention. For example, he knows that social website API's change often, and instead of simply leaving you with some code that may not work over time, he explains how you can stay up to date in the future. These little things really impress me. I don't feel like I was taken for a quick buck or two and left hanging. I feel more like I'm being taught and privileged enough to learn from the best.Wrapping UpIn jQuery Game Development Essentials you will move from a single screen web game to a multiplayer RPG to distributing your creations across mobile networks. It not only promises this, but does so in spades. Selim Arsever gets you from 0 to 60, no, 0 to 100 in red carpet fashion. He shrugs off the pitfalls of other books in the genre without issue. It's easy enough to follow from cover to cover, that if you are a complete beginner you will have no trouble. It's feature packed enough that even a seasoned programmer will find more than enough helpful information to take their experience and knowledge to the next level.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.