If you cannot view this newsletter correctly, click here to view it online

Editorial - March 2015

Issue 145 cover

 Hello and welcome to The Game Creators Newsletter.

My first after officially taking over from Steve last month,

I'm sure my style will differ from Steve, but I hope that I can match the quality and fun that he managed to inject into each issue and continue to bring you all of the exciting news as well as helpful articles and tutorials.

We've seen a lot of changes this month and a lot of exciting developments. Not the least of these is the release of GameGuru onto Steam, making this our second Steam based product, following in the footsteps of AppGameKit which has already seen great success for TheGameCreators and has launched a whole new swath of bedroom developers.

The GameGuru launch has gone very smoothly and a good time was had my all. We've even managed to release four updates following the release.

In other GameGuru news, we're pleased to announce our 4th level design competition. We are looking for 5 more winners and can read all about it below.

In other news, you can read about all AppGameKit progress, catch up on Lee's blog and learn of some great tutorials for AppGameKit and GameGuru.

So, without further ado, I present you with my first newsletter, and I hope you enjoy it.


Dave Hawkins




(2) GameGuru Launches (3) Competition (4) GameGuru Store (5) Lee's Blog (6) AppGameKit Development (7) AGK Tutorial (8) AppGameKit - Platform games (9) Push Down (10) YouTube (11) Keep up to date

GameGuru hits Steam.


GameGuru launched on Steam as an Early Access game on Friday 27th February.
For the next few days it's on lanch offer.
As a special opening deal, we are offering a 25% to early purchasers. This offer won't last long so buy now to take advantage of the great price of $14.99. 

What's in GameGuru? 

What can you expect from the Early Access release of GameGuru on to Steam!

If you’re a previous pledger you will have received your Steam keys already via email and you can access them from your TheGameCreators account in your My Products area if you've not already done so.

  • GameGuru
  • Modern Day Models
  • Horror Models
  • Jungle Foliage Models
  • Forest Foliage Models
  • Medieval Pack
  • Cartoon Models
  • A Zombie Character Pack
  • 10 premade maps for single and mutli-player use.


Not only do you get all that great content but included is the rights to sell your finished game, royalty free and the ability to play online games over the Steam servers with other GameGuru users.

And some final notes

  • Once you own GameGuru you receive lifetime updates as we evolve and improve the product!
  • Make sure you link your Steam account with the GameGuru Website via this link.

Multi-Player Mayhem

As part of the launch weekend the development team were not only on hand to give advice to users but also took time to enjoy a few hours of multi-player fun with GameGuru fans. We all had a great time, and plan to continue these games throughout development giving you all a chance to go head to head with members of the team.
You can of course join any of the lobbies and many users have been running them over the weekend. Why not join in the amazing fun, by either joining one of the lobbies run by others, or creating your own map and hosting it for others to play. Creating a map or joining a lobby is very simple, so why not get started now. We've also added a message to the GameGuru status bar to indicate when lobbies are being created by users on Steam. If you see the message you can quickly click the Mulitplayer icon and join any such lobbies.

GameGuru Guides

 To get you started with GameGuru, we're very pleased to annouce the first of many Steam guides, ranging from basic editor controls through to a guide to LUA scripting. As with all our guides, we'll be keeping these up to date and creating additional tutorials to help you get the best from GameGuru.

What's next for GameGuru?

We've also learned a lot about community needs and the areas you feel you'd like us to focus on the most. As we pride ourselves on our community lead development we take great effort to listen to all feedback and take it on board. As a result of this, we've produced new builds since our first release, bringing more stability to the engine and some exciting multiplayer updates.

V1.00.011 Released on 28th February, included;

  • Changed the location of DLLs to "GameGuru\Files\dllbank" to help overcome some virus checkers incorrectly deleting dlls
  • When loading non DDS images, GameGuru tried to save DDS each time. This was redundant and so was removed.
  • An Enhancement Module DLL was grabbing a PTR to Sound DLL. Again a redundant process and was removed.
  • After loading in every test level the editor could crash when clicking on TEST GAME on WAREHOUSE level. This issue was fixed.

V1.00.012 on Released on 2nd March.

V1.00.013 - Released on 3rd March.

  • Added Lobby Chat
  • Fixed an issue with the store downloader.
  • Changed the status bar to show multiplayer lobbies open for joining.
  • Fixed a crash issue.

V1.00.014 - Released on 4th March

  • Fixed an issue with entity selection after resizing the editor window.
  • Fixed an issue that caused GameGuru to fail to start up after update.


We're aiming to release builds on a regular basis so that GameGuru evolves quickly in-front on your eyes. 

GameGuru Level design competition.

That's right, we're launching  a new level design competition, offering all of our talented users, new and old a chance to win $200 and 5,000 store points and a chance for your level to be included in a future release of GameGuru!


The Rules

1) You may use any default media that comes with GameGuru.

2) You MAY NOT use any other media, custom scripts, music or audio effects. Just the content that ships with GameGuru.

3) You may only use the default Skyboxes that ship with GameGuru

4) You may only use the default terrains that ship with GameGuru

5) You can create your level for between 2 and 8 players. We'd advise you to avoid making levels too big and also too small.

6) You can only use the default weapons that ship with GameGuru. Note that weapons and ammo re-spawn during multi-player games so don't go crazy placing down lots of weapons and ammo.

7) Please email just the (mapfiles (FPM's) located in the mapbank folder) to Dave Hawkins at scenecommanderTGC@gmail.com

Ensure you use the format USER - FORUM -COMPETITION4.

e.g thescenecommander-steam-competition4 in the subject line.

Entries that do not meet this criteria will be disqualified.

8) You must include the following information in your email.

9) The competition will be judged by at least two members of TheGamesCreators staff and their decision will be final.

Good luck and we look forward to judging your entries.

GameGuru Store

Build your game worlds faster with the help of game ready assets from the GameGuru online store. Discover, buy and sell game-ready assets. Did you know the new GameGuru Store is already loaded with over 3,300 items and growing rapidly? In terms of quality, these items have been significantly overhauled and upgraded and is a testament to the amazing talent of our store artists.

Here's some new items to showcase to you:

Animated Warehouse by Dagored

Part of a selection of objects from a very active artist who has recently returned to the GameGuru store with some exciting new models.








Art of War by Rolfy

This amazing pack can add a little extra magic to many games. Ideal for genres from WW2 to post apocalypse.


 Water Tower 2 by Spotaru

 Spotaru has a great range of models on the store, if you're looking to add a little flare to your urban scenes his work is a great place to start.


Billiards Pack by Errant AI.

 Errant AI has added to his excellent range of models with this great Billiard pack which contains 20 models, including table, balls and cues.



 Guru Buildings by Valuable Assets

Valuable Assets has created a great value pack featuring a total of 35 buildings. Ideal for single and multiplayer games they would be a great addition to anyones media collection.

valuable assets.jpg


Lee's GameGuru Development Blog

After 246 blogs spanning nearly 2 years, Lee has finally drawn to a close his GameGuru development blog. It will remain live at the original site for old time sake, so the nostalgic amougst you can bask in the glory of the ups and downs of the early development.

What no blog?

Fear not... Lee's blog will live on it it's new location on the GameGuru website. You can access all of his latest thoughts and ponderings and also keep up with development just as before from the forums news tab.


As I'm sure you can imagine, his recent blogs have focused very much on the countdown to GameGuru and it's Steam Launch, Lee has talked about many areas of the development but most importantly he has explained more about our vision for the future of GameGuru and the unique bluring of Game and Game Maker.

Lee Bamber says:

As an industry, we accept fundamental sweeping changes as a matter of course and accept it as the nature of our unique environment. No other sector can boast so many transformative innovations in such a short amount of time, and these advances are only getting faster.  As exciting as hardware innovations are, such as the rise of Virtual Reality as a viable consumer product, an even more exciting transformation is happening much closer to home with the evolution of the sandbox game.

We’ve had games with built-in level editors, game mods with pipelines for custom content and even games with a creative angle but in recent years we’ve seen the birth of a new kind of game, blending player and creator into one single entity and empowering the end user with the ability to create their own game rules.

GameGuru was born to explore this new game archetype, and take a development journey with the help of its game making community to see where such a quest can lead. Could it overtake traditional game development as the casual gaming world prefer ‘on the spot’ creation? Would it produce a form of entertainment much more enriching and rewarding than just playing the same levels over and over?  Who knows.

What is known is that the GameGuru team are taking a first step into answering these questions, and we start today with the release of an Early Access version that will remain in development throughout 2015.  We invite you to join us in this exciting adventure and help us explore the possibilities with us, challenge the directions we take and help shape the product over time.

AppGameKit Development news.


Development for the past month and a half has focused on the AppGameKit debugger. Today we're now able to show some visuals of this work.

In the first screen shot below the Debug Log at the bottom lists all the errors, warnings, or custom log messages that are output during the running of the program. The Debug window on the left will list a call stack showing what functions were entered to reach the current point, and a list of variables that a user can edit to watch specific values, which will activate when a breakpoint is reached (still to do).


The second screenshot shows the setting of breakpoints with red dots in the IDE (although these currently don't get passed on to the debugger so I can't show it stopping), and the stepping tools that will be available to move forward a line and over or out of functions, whilst watching the values on the left.  


Next month we'll show you a video of the debugger in operation. 

AGK Mastery - A new Series of Tutorials


by Steve Vink 

In a new series of tutorials, Steve Vink takes us step by step into mastering AGK Tier 1

The code created for this tutorial can be simply dropped into your project with the addition of the #include statement, and used immediately in your project. The driving force behind the series is simple: Beginners can drop the code into a project and use it immediately. Intermediate users can analyse the code, learn new methods and concepts, and ultimately modify and enhance the modules. Advanced users can jump on the forums and discuss the many different ways to achieve the same outcome, enhancing all of our knowledge and expertise within the AGK community!

Download the Code

You should download the code prior to reading the tutorials, as you will need to refer to the functions involved.

As the first of a series of tutorials to be presented over the coming months, this edition will focus on a simple concept in order to set the rules and framework which will be used for all tutorials. Some concepts may at this stage seem overkill, but consistency is key and future modules will be more complex.

Parameter-Driven Apps

I recently heard the story of a very awkward employee. When he was asked to post a letter he replied “But what if the post box is on fire when I get there?” I’m not convinced there is a valid answer to this scenario.

We can’t predict every outcome of a situation, as the potentially conflagrant post box demonstrates. But when developing apps it is advantageous to be able to quickly fine-tune and optimise the gameplay without continually recoding and recompiling.

All programs use parameters to control the logic and flow of the code. What we will do in this tutorial is extract the parameters from the code, hold them as an external resource, and show how the finer mechanics of your game can be quickly optimised. Not only that, but the methods we use will permit the addition of any number of externally editable parameters with only one line change in your code to enable it.

Putting it together

The fully encapsulated code we are about to create needs 5 functions:


The first component we need is a type to hold the information about one parameter:

type tParm
    parm as string
    value as string
    id as string


The structure stores the name of our parameter, and the value. Additionally we are going to store an id, which indicates the file from which it was loaded. This will allow us to load multiple parameter files. From this type we will create an array:

global arrParm as tParm[]


The last component is a global variable to count the number of parameters we have in our subsystem:


global gParameterCount

We're ready to go! The first thing to call from your main program is initParms(). Provide a value for the number of parameters you anticipate having. This is an arbitrary value, and the system is designed to expand the storage if you run out. It enables the code to be used for just a few parameters, or hundreds without redesigning the code structure. Inthis example, we're anticipating 10 parameters:



In the code you will see that we simply initialise the array. As simple as this process is, everything in an encapsulated system should be performed through functions. You should never manipulate variables directly. It is a good habit to form, and prevents errors when code gets more complicated.

The next step is to load our variables from a file. This function needs a file name, and an identifier. The identifier will be stamped on every parameter in the array, allowing us to load multiple parameter files whilst still being able to identify the source:

LoadParms("setup.ini", "setup")

At this point it is necessary to describe the parameter file structure. It uses a format known as a key/value pair. These are separated by an "=" symbol, here are some examples:

title=My Killer App


The function - as you can review in the code - performs all of the sanity checks (Does the file exist? Does the parameter exist in the program?) and loads each parameter into the array. If the array is too small, it extends it. All of the keys are converted to lower case so that any differences in parameter file and coding can be overcome.

To retrieve the parameters during the life of the program, simply call the provided function:

setTextString(myTitle, getParm("title", "setup"))


In this example, the value of the text object myString is being retrieved from the title parameter of the setup file. The function will search through the parameter set and return the requested value. Review the code to see how this is achieved.

For numeric values, there is just one extra step involved, to convert from the text value to the required numeric value. This is done using standard AGK functionality:

myLives = val(getParm("lives", "setup"))

If we need to change a parameter based on the actions taken in the program, we have a function for this:

setParm("enemies", str(myEnemyCount), "setup")

In this example, the parameter is numeric so it must be converted to a string as part of the process. The function will locate the parameter and set the new value. If the paramater doesn't exist, it will be created.

Finally, if the parameters need to be saved between games, then the last function facilitates this:

saveParms("setup.ini", "setup")
Download the Code

If you haven't already done so, download the code now. The video below shows the code in action. It will solidify everything learnt and give you a jump start with any project you choose to use the parameters module to enhance. In the next edition, we'll be securing the data in the file and using it to embed some common (but often overlooked) requirements in apps.

Until next time,

Happy Coding!


AppGameKit - Platform game tutorial

By popular demand, thescenecommander (A.K.A me) has created a text guide with code examples on creating a basic platform game. I'll be expanding on this tutorial over the next month or so, but this should give anyone interested in platforms games a good 'platform' to get you started.


In the first set of articles on this development I cover creating basic platforms, making your character walk and jump around. Adding collectibles and in the latest article, making platforms with special attributes, starting with a code example to add conveyor belts.

I'll be looking at further examples soon by adding moving enemies, and some basic character/sprite collisions. Everything you'll need to create your own platform masterpieces.

All of my guides are aimed at the beginner and I'll focus on ease of understanding, ensuring that all code is well documented and clear to follow.

If anyone has a request for tutorials, I aim to add 3-4 a month, and I'm keen to give you the kind of tutorials you want. You feedback is valuable for every guide, then others and myself can focus on the area you find important.

PushDown releasing soon.

This great looking game by AppGameKit user Wilf launches soon on the Apple app store.

Created by a father and son team, this fun looking game looks like something you could lose yourself in very easily and is a great testiment to the power of AppGameKit. We've reported on this development back in issue #133 and it's great to see how it's progressed.

We wish the team the best of luck with this project and I shall be checking it out when it goes live.

The TGC YouTube Channel

Youtube ChannelThe TGC YouTube Channel is still going strong with over four years of content to browse and view:

Youtube ChannelTake a look at our channel now, and make sure you hit the subscribe button to stay up to date with new video uploads. Very often you'll get advanced previews of upcoming news.

We've also create a new GameGuru channel to focus on GameGuru tutorials and gameplay. You can access it here

TheGameCreators on Facebook & Google+

Find us on Facebook to discover more about The Game CreatorsJoin over 6,600 fans on TGC's Facebook page to keep bang up to date on news, user projects from the forums and discussions.

We're keen to hear from all our avid users and we always love to hear what you've been up to with the tools we sell. So if you have something you want to share with the wider TGC audience why not post it into the TGC Facebook page?


gamegurufacebook.jpgGameGuru has it's own Facebook page now. Whether you simply want to see the update and progress news as it is released, or get involved in technical discussions about LOD, Light and lots of other topics, sign up to this page today to be part of it.



You can join in the Facebook discussions in our AppGameKit group page with over 650 members and we also have an AppGameKit Facebook page.



You can also follow our products on Google+ 

TheGameCreators on Google+

GameGuru on Google+

AppGameKit on Google+ 




Shigeru Miyamoto - Game Designer