Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
23. July 2015

 

I recently ran into a bit of a challenge and the work around wasn’t entirely obvious so I’ve decided to share the process here.  The XNA Game Studio install includes a couple of tools, the XACT audio tool being specifically what I was after.  Unfortunately to install XNA you need to first have Visual Studio 2010 or Visual Studio 2010 Express installed.  As that version of VS is getting increasingly dated, this is going to be an issue for many.  Fortunately there is a work around.

 

First download the XNA installer here.  The file is called XNAGS40_setup.exe

 

Now open a command prompt ( possibly with admin privledges ) and CD to directory containing the file you downloaded.

Run the command:

XNAGS40_setup.exe /x

You will now be prompted where to extract:

image

Click OK

This will create a couple files, the most important being redists.msi, run this file ( just type redists.msi and [enter] at the command line, or double click in Explorer ).

 

This will in turn create a directory structure in Program Files ( or Program Files x86 on 64bit Windows ) called Microsoft XNA.

Close the command prompt and navigate to that folder in Windows Explorer then open XNA Game Studio\v4.0\setup:

image

Run xnags_shared.msi then xnags_platform_tools.msi, both are simple installers,  take default options if asked.

Now if you check the folder XNA Game Studio/v4.0 you should see that all of the tools you need have been installed in the Tools directory:

image

Programming General


13. June 2015

 

This is a topic that seems to cause some degree of confusion, especially among new game developers.  We often here the terms “game library”, “game framework” and “game engine” but what is the difference, where does one end and the next begin?  This post attempts to explain the difference as clearly as possible.  It’s important to note, there isn’t a hard and fast definition for each term, basically the meaning prescribed to each is formed by the most popular usage.  I suppose that’s true with most modern words.

 

Library

A library is simply put a collection of code and data intended for reuse.  Libraries are often compiled binaries, such as DLLs, but don’t have to be.  Plenty of JavaScript libraries exist for example, while entire template libraries in C++ are pure code.  In game development terms, a library generally is a collection of code for performing tasks from a specific domain.  For example, playing audio, performing physics, handling input.

Gamedev examples of libraries include FMOD, RakNet, Box2D or Assimp.

There can be some ambiguity here, as FMOD for example contains some tools and calls itself “middleware”, while Box2D refers to itself as an “engine”, both are still essentially libraries.

 

Framework

What happens when you gather a bunch of libraries together, throw in a couple of tools, assembling all the ingredients you need to start creating a game?  Well, you’ve got yourself a framework.  Essentially a framework is a collection of libraries and tools that go together to solve a given task, in this case, making a game.

Gamedev examples include SFML, OGRE, LibGDX and MonoGame.

SFML is a good example of the relationship between libraries and frameworks.  SFML is composed of several libraries… graphics, input, window, audio, etc…  Collected together as a whole they become the framework SFML.  LibGDX is a slightly more interesting example as the inclusion of Scene2D straddles the line between framework and game engine a bit closer than most. 

 

Game Engine

So, a library is a collection of code to accomplish a task, a framework is a collection of libraries to create a game, we does something become an engine?  This classification is probably the least defined but in my opinion two key things separate a framework from a game engine.  In addition to providing all the various libraries needed to create a game, a game engine must include:

  • a scene graph
  • a world/level editor

The scene graph is essentially the data structure that  holds a game’s world.   Generally there are a number of supporting functions for managing, searching and saving the scene graph as well, although often these are left to the game itself to implement.  The level/world editor requirement is probably the biggest distinguishing factor, although there exist some game engines (often 2D) that have no editor ( although I would then argue they are in fact frameworks ).

Game Engine examples include Unity , Unreal, Construct2, GameMaker, HeroEngine and Copperlight.

 

Quite often however, frameworks and engines will be used interchangeably.  Even here on GameFromScratch, the game engine resource refers to both game engines and frameworks using the same moniker.  This is because frankly, at the end of the day, it’s a matter mostly of semantics.

 

What about APIs and SDKs

This is another point of confusion for developers…  what’s the difference between an API, an SDK or simply a library?

Well an API is generally one or more library, as is an SDK.  An API ( Application Programmer Interface ) is generally a programmatic interface to another product.  That product could be an entire operating system, or an embedded programmable interface within a game.  That interface is generally provided in the form of libraries.

An SDK (Software Development Kit) is generally the same thing as a framework.  While a framework is a collection of libraries and tools used to create a game, an SDK can be a collection of tools and libraries to create device drivers for your OS, to use or integrate a technology or hardware such as the Oculus Rift or Android phones.  Of course and SDK can also be aimed at creating games, like DirectX or GameKit.  Then of course just to make life even more confusing, you can have a SDK/API/Library combo, like OpenGL.

Generally where APIs and SDKs vary from everything else discussed today is who provides them.  Quite often these are provided by the OS or hardware manufacturers.

General


19. May 2015

 

The following is a list of every single tutorial/tip/review/guide ever published on GameFromScratch.com. It is an embedded Google Docs spreadsheet, available here in non-embedded form.

General


17. April 2015

 

If you are visiting GameFromScratch.com from a mobile device, you may notice some massive changes.  Now when you visit the site, instead of the ugly GFS you know and love, you instead are getting an even uglier GFS!  Here is the site rendered on my HTC One for example:

 

Gfs

 

I personally hate Hate HATE mobile sites, especially for sites like this one.  Code samples simply don’t look good on phones, and the full site looked just fine on my iPad.

 

However, Google disagrees and there is an algorithm change coming next week and if you like Google traffic, you can’t simply ignore it.  Your ranking is going to be tied to your mobile friendly-ness, and frankly, I wasn’t mobile friendly, not even close.  Today however I did mange to get the score up:

Mobileranking

 

So the good news is, my Google index won’t get worse… in fact, it should improve.

 

The bad news is:

a) the mobile site is a quick smash-up.  Only about 5% of traffic is mobile as it is and if you are like me you just request the desktop site anyways.  I do need to spend some more time making this more functional and less ugly.

b) GFS is written with a fixed 900px working area assumed.  This was a requirement for formatting screen shots and code samples.  On mobile, neither of these are going to look ideal

c) bugs… there are certain to be bugs.

 

So, if you run into problems with the change, please let me know.  If you like me hate mobile sites, I’m sorry…  Google tied my hands on this one.

 

In time however I really need to sit down for a week or two and redo GFS from top to bottom.  Make things a bit less ugly and more importantly, better organize all of the content that is buried in this site.  When I do this I can hopefully merge the mobile and desktop experience into a more cohesive single theme.

General


14. April 2015

 

If you look over at the side bar you may notice a “Become my patron on Patreon” banner.  In case you’ve never heard of it, Patreon is a service that enables people to fund the efforts of content producers, such as GameFromScratch.com.

 

Over the years I have had a number of requests from readers looking for ways to donate to help support GameFromScratch.com (which was awesome by the way!), however I never really had a mechanism to do so.  It was with the birth of my daughter that I started to try turning GameFromScratch into a full time job.  The response has been amazing, GFS currently receives over a 1/4 million views per month and after only a couple months creating videos for YouTube, we passed the 1k subscriber mark and are approaching the 100,000 minutes watched per month milestone and are growing rapidly.  The community response has been nothing short of amazing and for that I thank you all.  The sheer volume of positive comments and emails I receive from many of you are simply inspiring and incredibly appreciated.

 

From a financial point of view however, I would probably be better off flipping burgers at McDonalds.  I don’t really bemoan this fact.  I am doing something I love and have the flexibility to focus on being a father while doing it, the definition of win/win.  Earning money has never really been a major focus for me, perhaps to my wife’s chagrin! ;)  Obviously there are ads running on Gamefromscratch, something I hope the majority of you don’t find too offensive.  These certainly help and defer server and operating costs but are nowhere near enough to approach what I would receive as a salary “with a real job”.

 

I had intended to supplement my income writing books.  After completing and publishing my first book, the well received but poorly selling PlayStation Mobile Development Cookbook, this idea quickly went away.  I’ve talked to a number of technical book authors since and let me just say, nobody is making their living this way!  I have flirted with the idea of self publishing a book, and may still, but truth of the matter is any other project I work on like this takes directly away from time I spend developing content for GFS.  Of course, finally creating and publishing a game of my own is certainly another option, but truth of the matter is, I vastly prefer teaching others… I appear to have found my calling in life.

 

In the end I am essentially developing multiple books worth of content on GameFromScratch every year as it is.  For example, I once converted the Blender tutorial series to iBook format and it weighed in at over 300 pages and I only made it 80% of the way!  The LibGDX tutorial series already exceeds the contents of any book on the market, by a large margin.  On the other hand, a book cannot contain animations, properly formatted and colour highlighted code samples, downloadable files or video format versions.  There is no comment section to answer questions or for the community to discuss topics.  Taking time away from GameFromScratch to work on a book that is in an inferior format, not available to everyone, has less functionality and cannot be updated… this doesn’t seem like a very logical use of time, does it?

 

Enter Patreon and it might be the perfect fit.  Patreon enables you to pledge a monthly dollar amount (starting at 1$ USD I believe) to help support the work of artists and writers you want to support.  This pledge amount would greatly exceed average royalties I would earn from writing another book and of course far more people would benefit from the results.  I personally like to believe that as a whole GameFromScratch provides more value than most book purchases.

 

It is customary to offer sponsor rewards on Patreon and this is an area I am struggling with.  The single biggest reward I can offer is first off my thanks.  The most tangible reward is more of my time dedicated to create more and better content for GameFromScratch.  These rewards of course benefit everyone, not just backers.  There are other options, like removing ads or walling off exclusive content or source code access.  Removing ads isn’t generally that effective as the majority of people that dislike ads already run adblock software.  I hate disruptive ads, like landing pages, interstitial or audio ads, the really annoying stuff, so I try to keep them non intrusive to start with.  I don’t really like the idea of exclusive content either, I obviously want my work to help as many people as possible as much as possible.

 

There are a few reward ideas I have considered, such as making PDF versions of long tutorial series available to backers.  Another option would be to open up the future direction of GameFromScratch.com’s content to voting.  As it stands right now, I decide what to work on next based on community requests coupled with what I find new, shiny and exciting at the time (part of why I love this job so much!).  I could possibly make this process democratic, to let backers vote on what contet GFS should focus on.  As of right now there are no rewards, other than my gratitude and of course more time focused on GameFromScratch!

 

So that’s my spiel.  I just want to say in closing, that each and every one of you supports GameFromScratch.com simply by visiting.  Your time, support, tweets, links and comments are all deeply appreciated by me.  If however you want to help GameFromScratch thrive and grow going forward, please consider becoming a Patron.

 

My Thanks,

Mike

GameFromScratch.com

General News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List