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

Editorial - February 2012

Issue 109 cover

Game Theory is not actually about games. It's about the way people (and animals, and even slime mould for that matter) live their lives. Playing what is known as the non-zero game is the driving force behind evolution in the current mindset of scientists, and is a fascinating topic.

Firstly, you need to understand what a zero sum game is. Put simply, it is a game where you have a winner (+1) and a loser (-1). When one person gains a point, somebody else loses one, and the net result is zero. Chess is a zero sum game; for one person to win the game, the other has to lose. The same applies to Football, Connect 4 and Pong.

The non-zero sum game makes for far more interesting dynamics. For stone age man living by a forest, one individual will catch one badger a day if he is lucky. If he doesn't catch a badger for a few days then he dies...unless he steals from somebody else, who in turn dies. However, if he teams up with 20 men, they will make a net, stretch it across the forest floor and catch 50 badgers every day. Every man benefits and there is a surplus to share. The game in play is how to divide the spoils, who controls the community of workers, and how to use the extra food to attract power and the ladies! Everybody wins, but some are bigger winners than others. In terms of evolution the zero game is static (always zero progress) whereas a well played non-zero game pushes mankind forwards at varying speeds.

In terms of creating a game, the scope of the non-zero game is almost limitless. This is the basis for many successful brands such as Civilization, FarmVille, Second Life and many more. By turning your mind from one winner / one loser, to one plus one equals three you might find yourself creating the next big thing and being part of game evolution.

This month we get an insight into the evolution of AGK, with a sneak preview of some of the new commands. There are tutorials to progress your skills to the next level in AGK and DarkGDK. Evochron Mercenary makes its way to the top of the Steam game listings. Old model packs get a new lease of life and we look at the newest seeds in the AGK Gallery. The rest, you can capture yourself...

Until next time,

Steve Vink

contents

(1) App Game Kit (2) Apps Business (3) Prototyping in DBP (4) Dark Occlusion (5) 3D Gamemaker (6) TGC AppUp Dev Group (7) FPSC Mega Deal (8) AGK Bitesize (9) TGC Store (11) Daniel's Tutorials (12) From the Forums (13) Winner

The Vision for AGK in 2012 unfurls

AGK has arrived

January has been a month to remember in the calendar of AGK's history, being the first month since AGK was launched where we have entertained the integration of new AGK commands. Prior to this point we wanted to ensure the commands we launched with worked consistently across all supported platforms. The feedback we have received from the AGK community so far is that we've done a great job there, and now you guys want a few more key commands to make your lives easier. To this end, we started work on the eagerly anticipated build 107, the first update which will introduce over 50 new commands covering a spectrum of requests.

...we started work on the eagerly anticipated build 107, the first update which will introduce over 50 new commands covering a spectrum of requests. Each command has been born out of necessity, so you'll be getting an update with some cool commands...

Lee Bamber

 

Each command has been born out of necessity, so you'll be getting an update with some very cool commands. Here is just a sample:

We have still to add the advertising commands which will allow you to monetize your free apps across all supported platforms, either through advertising agencies such as AdMob or via TGC's own internal in-house advertising network.

Blackberry Playbook AGK Player 

In addition to new fixes and commands, we also dropped in support for the Blackberry Playbook, and submitted the AGK Player to the Blackberry App World store. We think the Playbook is a pretty cool piece of hardware, and AGK is pleased to support it with perhaps the easiest language you can get for the platform. We continue to look at more Blackberry devices, and will let you know when we start playing with a new one.

In the press, we have had some notable mentions in respect of our AGK Player release on Playbook and we've also provided a few free copies of AGK to the winners of The Global Game Jam event at a local event in Birmingham, UK. Congratulations to all those who attended!

AGK for Browsers

Also in January we started development of the AGK Player for browsers, an ambitious project to take everything we have in AGK and make it run as fast as possible across as many browsers as we could support. To this end, we decided to support an established technology that has done wonders for the likes of Runescape and Minecraft. The first browser platform we will be supporting is based on Java and Lightweight OpenGL. We looked at pretty much every technology available for running AGK in a browser and it boiled down to three contenders; Flash, HTML5 and Java+LWJGL. We ran performance tests and compatibility tests for all three solutions and found that Java provided the fastest code which is key to a successful AGK implementation. We accepted HTML5 is also capable of great speeds with the new and improved JavaScript runtimes, but we did not want to wait for the advent of widespread WebGL adoption. Instead we decided to go for LWJGL to support more browsers, and look again at HTML5 in six months when we have the time to really squeeze the most out it. An early prototype of our AGK in a browser is very encouraging and we're currently getting a few thousand FPS out of it, though this might come down a tad once we add physics and the whole rendering pipeline. We hope to bring some sneak peek demos out in February.

AGK Player Service

As many of you are aware, to run your AGK app on an iOS device is not as straight forward as AGK Player Servicerunning it on an Android device. The main reason being that Android marketplace allows apps to be listed on their store which download and interpret code. Apple does not allow apps that download arbitrary code to be placed on their app store, and so we created the AGK Viewer as a solution. The AGK Viewer (which is available from the app store now) will accept a stream from your desktop, with the app running from there instead. This creates a good simulation of what your app might look like and play like on the device, without it actually running the actual code inside the device. The downside is that the streaming process degrades visual quality and raw performance, and often you have to tip the scales one way or the other to experience either.

In pursuit of bringing you the best experience across all devices, we have devised a solution that stays within Apple rules and allows you to run your Tier1 BASIC apps at near native speeds with your own fully fledged AGK Player running on all your iOS devices. We call it the AGK Player Service and you will find the product available from the TGC and AGK websites. The product provides a process whereby you can build your own AGK Player for your devices without owning a Mac and without any specific iOS experience. The process works like this:

The process, not including the time it takes you to register with Apple, is about 10-20 minutes during normal working hours, and we explain each step carefully so you don't get lost. We also have email support throughout the process so you'll have help going through it.

Ask anyone who already has built their own AGK Player for iPhone and iPod and they will tell you, it's a world apart from using the AGK Viewer. Playing the app you just created in Windows running at full speed on an iPad is a great feeling, and we're pleased to offer a service which enables this. For more information, you can contact our service guy directly at agkplayer@gmail.com

This service will enable you to install the AGK Player on your iOS devices (iPhone, iPad, iPod)AGK Player Service OS 3.2 or above. The product price does not include the $99 you will need to pay directly to Apple to purchase the iOS developer account. You can purchase the service now by visiting the the product page.

The AGK Gallery - New Entries

Freefallin'

by Sean Regan

Freefallin' is a fun, competitive game in which your objective is to stay alive. You play as a paratrooper, who is diving into enemy territory, but you have come under missile fire. Your objective is to avoid the incoming missiles and as time goes on you rack up points. Power-ups can be collected to help you boost your score. Good luck out there soldier.

Freefallin for Android, made in AGKControls - Accelerometer:

Virtual Joystick (options menu):

Collide with power-up crates to collect a power-up. 

 

Classic Lines for Samsung BadaClassic Lines

by Volodymyr Mykhailevsky

Available on the Samsung Bada platform, this is a classic game where you must form chains of 5 balls or more, all of the same colour. Your best record is saved as a challenge for you to beat.

The game features various configuration options Go to AGK Galleryincluding music and sound, animation and the preference to preview upcoming balls.

 

  

Mouse Orchestra

Mouse Orchestra for Apple iOS devices, developed in AGKby The Game Creators

This fun little app lets you play and record songs with the help of some perfectly tuned little mice. Just press record and press the bellies of each mouse, they will Go to AGK Galleryeach squeak out a perfect note across an octave. Can you play three blind mice, jingle bells or some other famous ditty? This fun app is great fun for kids of all ages!

Get into The Gallery 

If you have published a game written in AGK - Tier 1 or Tier 2 - then you can use the Gallery to show off your creation. Link your Game listing to all the major marketplaces and use it as your own personal Sales channel. AGK Gallery for your mobile gamesAdd your content now, and be one of the first to enter the Gallery. Here is what you can include in your entry, the Gallery will do the hard work of presenting it perfectly as a web page dedicated to your game.

  1. 1. Application Name
  2. 2. Short Description
  3. 3. Application Description
  4. 4. Developer Name
  5. 5. Preview Screenshot
  6. 6. Up to three more game images
  7. 7. Game Category
  8. 8. YouTube Link (where available)
  9. 9. Supported Platforms
  10. 10. Availability

AGK GalleryThe Gallery is here, log in to add your Game (or Application) Listing. We have also provided some hints and tips on how to write a good description of your game here, to make sure you attract as many new customers as you can.

AGK - Write Once, Deploy Everywhere

The App Game Kit solves many problems caused by mobile device fragmentation. With it you can code your game once and then deploy your game to multiple platforms. Different resolutions and input systems are all handled by AGK.

Easy to Use

With its own BASIC script language App Game Kit makes it a cinch to code your games. Game designers, artists and many more budding game makers can start creating their own apps.

AGK Magic

Look no wires! Compile your BASIC games in the IDE, then transmit them over your WiFi to multiple devices for instant testing. Creating games with this new cross-development model will result in your productivity increasing significantly as you instantly target multiple platforms.

More About AGK

The TGC team has a wealth of experience in creating game creation tools spanning well over a decade. Taking that knowledge and working with our loyal and enthusiastic community we set to work on creating AGK

 

AGK was developed out of our own need to create a one stop solution for making game apps for mobile devices. In the past TGC had developed games for one device and then wanted to port them to other platforms. The process of conversion was costly and repetitive. The team wanted to spend more time creating new games and not burdened with laborious conversion work.

The TGC team has a wealth of experience in creating game creation tools spanning well over a decade. Taking that knowledge and working with our loyal and enthusiastic community we set to work on creating AGK.

This phase one of AGK is just the beginning. We aim to spread AGK across as many different platforms as possible. Meaning games you code in our AGK BASIC will instantly work on other supported platforms as we bring them into the AGK portfolio.

Go to AGK WebsiteWe're very excited about AGK, we feel it's the foundation of a great game making platform and we're 100% behind its evolution and development. We will continue to work with our community to ensure the AGK meets their needs.

Main Features

How To Create your own Apps Business

A good idea is all it takes to change your world. If you can imagine the next hit game, or an indispensible utility program, there's nothing stopping you from building a business around it.

Apps BusinessWith the arrival of app centers on a wide range of platforms, you can now compete alongside major game studios and sell directly to the end user. It doesn't matter whether you are a student coding in your bedroom, a full time programmer who hacks databases at work and designs games for fun of an evening, or a small business taking your first steps in the software industry. You have an equal right to reach the customer, and an equal opportunity to knock established software houses from the top of the software charts.

Of course, there's no guarantee that you'll be able to retire early or emulate the phenomenal success of Angry Birds, which has become a micro-economy that extends beyond a computer game into board games, Hollywood movie treatments and plush toys . While the newspapers prefer to report such triumphs, there is another story: Plenty of developers are now able to work on their own terms, thanks to app development. They can dedicate themselves to the work they love, and reap all the rewards of their creativity. They have built an apps business that gives them the freedom to choose what they create, and how they create it.

Apps Business GuideThis guide, provided by the Intel AppUp developer program, outlines the steps you can take if you want to join them.

Evochron Mercenary on Steam

DarkBASIC Professional

Perhaps the term Steam is an understatement, Evochron Mercenary is on fire! The latest chapter in the Starwraith series - written in DarkBASIC Pro - made its way on to the Steam game download platform in January, home to the best games and millions of players. It is a fantastic accolade for StarWraith 3D Games to be accepted by Valve and included on Steam, and it is encouraging to all DarkBASIC Programmers who have similar visions. If this isn't enough, the game went immediatlely to number 2 in the top sellers list, beating even Skyrim!

Evochron on Steam

So what does the future hold for the series now? Here is an insight from Shawn of the upcoming year.

2012 will see the upcoming expansion for Evochron. The plan is for this next year to be when Evochron takes a major leap in terms of technology, gameplay, and features. In other words, it's time for a whole lot of new toys to play with in the sandbox of the Evochron universe.

PLANETARY ENGINE 

Terrain can be much more varied and range from vast plateaus to deep canyons and steep mountains. The new system is also nicely scalable, so as computers increase in performance and resources in the future, new levels of detail can be introduced in the years to come.

Shawn has spent the last year or so working on a new planetary system for the game as part of the expansion for the game planned for next year. Not just terrain, but also atmosphere, cloud, scaling, and the potential for rotation effects, so you could watch a sun rising and setting on your favorite planet. The original system worked well, but has had its obvious limits with detail. One of the main goals for the new system is to provide a much better visual presentation along with an engine that is also designed to accommodate the planned new gameplay opportunities. So the new planet system is being built to not just be something nice to look at, but also to be functional as an important component in the overall interactive feature set of the game.

In terms of visual detail, the result for the new system so far has been an increase of around 500% in raw mesh detail while using the same or less memory. This is a significant step toward bringing far more realistic terrain to the game. It has been achieved through a new LOD mechanism and shader system that is much more efficient. Evochron Planetary DetailThe new terrain system includes selective texture application and transitions based on slope and elevation along with normal mapping and haze effects. Even in its early form, the new system maintains a low memory profile while presenting far more detailed and realistic terrain. Terrain can be much more varied and range from vast plateaus to deep canyons and steep mountains. The new system is also nicely scalable, so as computers increase in performance and resources in the future, new levels of detail can be introduced in the years to come.

Shorelines appear much better and depth sorting allows for a smoother transition to a blue color in deeper water. Higher points can be ice/snow covered and transitions from one elevation level to another are far smoother and more realistic looking. The new system makes flying over planets much more visually engaging and it won't be long before the game features hidden items on planets for players to discover, offering rewards for those willing to be dedicated terrain explorers. Planets will also be much larger, but not so large as to make descents and city access take too much time.

Planetary HazeAnother important step has been the atmosphere effects. Clouds now move across the sky and fade in and out as they move around the player. A new haze system gives planets with thicker atmospheres a far more realistic appearance. As you descend into a planet, there is a greater sense of entering an atmosphere as the haze fades out into the horizon and changes visibility as you approach the surface. Not only does the terrain look much better, but so do the planets themselves at a distance and during the entire descent process.

There is much more to come with this now legendary game, and we at TGC look forward to the next installment.

Keep Up with TGC on Twitter

Lee Bamber is TweetingEverything you need to know about both DarkBASIC Professional and FPS Creator development can now be found via Lee Bamber's Tweets. You'll get to hear about every bug fix and feature as it's implemented.

Start following Lee now to get the latest news about your favourite development tools as it happens.

Free X 2 OBJ Converter Competition Winner

X to Obj ConverterFor those of you who frequent the various TGC forums, you will occasionally see a post from our lead developer, Lee, offering a challenge or task in exchange for prizes or cash. One such challenge was issued towards the end of last year to beef up the visuals and user experience of a small application which converts X files to OBJ files. This very niche task was taken up by a few users, and the winner of the competition was Sean Regan who won the coveted 'piece of junk lying around Lee's office' prize. Sean was instrumental in turning something that was merely functional into something that was usable, and we've since released the app for free for the benefit of anyone who wants OBJ files converted from X files. Keep an eye out for more challenges and competitions lurking in our forums, you never know, the next winner could be you!

X to Obj ConverterDownload the Free X to Obj Converter here.

Global Game Jam

The Global Game Jam (GGJ) is the world's largest game jam event. A project of the International Game Developers Association (IGDA), it occurs annually in late January, and brings together thousands of game enthusiasts, participating in hundreds of local jams around the world. Attendance at each site might be anywhere from 1-300, though is typically 5-25 people, usually students, though many professional game developers and other interested hobbyists attend as well.

Global Game Jam

The structure of a jam is usually that everyone gathers on Friday afternoon, watches a short video keynote with advice from leading game developers, and then a secret theme is announced. All sites worldwide are then challenged to make games based on that same theme, with games to be completed by Sunday afternoon. In January 2011, teams in 44 countries created over 1500 games in one weekend!

 

The panel at Birmingham City University awarded the TGC-sponsored AGK licenses to the team of programmers and artists who created Skitz .

Dark Game Studio Bonanza

Bonanza 

Special offer while stocks last: Dark Game Studio, Dark Physics, Dark Lights, Dark AI and Extends for an incredibly low price of $49.99. Save over $170!

Creating your own PC games is now easier than ever with this special compilation of game making tools:


Order Now

Order the BonanzaSave over $170 on this special deal. Be sure to check out the screen shots and the online videos. You can of course order safely and securely online, for delivery via postal mail.

Free Products from The Game Creators
FPS Creator   -   DarkBASIC   -   2000 Store Points
 

What You Don't See, Really Does Matter

Dark Occlusion

Dark Occlusion is a real-time occlusion culling library for DarkBASIC Professional. 
It will exclude objects that are not visible for the camera because they are obscured by other objects. This way less polygons have to be rendered and your game will run at a much faster speed.
There is no need to pre-calculate anything, everything is setup and calculated in real-time.

With Dark Occlusion it is possible to create larger and more detailed scenes for your games.
It is possible to retrieve the visible objects in the screen, allowing you to check if enemies are in the screen or to perform needed calculations on the visible objects.

Dark Occlusion


Features

Dark OcclusionYou can purchase Dark Occlusion now from the website, where you will find full details of the product.

The 3D Gamemaker Returns

Ever wanted to create your own first person shooter, running through a darkened crypt against hordes of zombies? Or how about making a fast paced racing game across an expansive icy tundra? The 3D Gamemaker gives you the power to do so with nothing more than your mouse and a healthy imagination. 

The original 3D Gamemaker from The Game Creators is back, and available via download, making it easier to purchase. It has also received a makeover, although the technology has stood the test of time it was in need of a little cosmetic update to bring into the current era!

Now anyone can build their ideal game in seconds. With just one click of a mouse, you can create a uniquely playable game without needing any programming knowledge or artistic skills at all. Offering over 12 billion gaming options, The 3D Gamemaker opens up a whole new concept in gaming, providing fun for all the family:

The 3D GamemakerThe 3D Gamemaker is available to buy and download now, visit the website for the full list of features, and to purchase. For a limited time only, you will receive 25% discount when you apply the offer at the checkout.

New Apps, New Resources, New Members

TGC App Developers Group  

by Steven Holding

Competitions

Over the last two months we have received some excellent examples of graphics and code from the members of the ADG. Finally we have the winners of both Anniversary competitions to announce. It was a very difficult task and the final results were very close but luckily nobody who entered the competitions goes away empty handed thanks to Chris Van Wijmeersch who has offered some extra goodies for the entrants that didn't win any of the main prizes!

The winners of the Coding Competition are:

1st: nonZero

ADG Competition Winner

There are lots of program notes which is great to see, even with reasons why certain things are done and keys to use! The code is extremely ordered and easy to follow. Style is great and the scenes are well defined.  It includes some nice functions to procedurally texture rust and landscapes, simple creation of rain, nice demonstration of setting a few parameters to create vastly varying scenes 

 

2nd: _Pauli_

A lot is achieved in this entry with very little code. The code is well managed and easy to maintain. Style is clever and camera work runs nicely. Simple primitives used for great visual output. There is simplicity in many ways, such as throwing a light into the clouds to produce the flash effect. It's incredible to see that the full scene with the impression of an infinite city is just 382 objects.

Runner Up 1: RavenKnight. An entry which is very well commented with neat code. Automated collision and particles take care of the complexities.

Runner Up 2: DVader. With a few more commands in the AGK set, this scene will be even better. What is also pleasing here, is the fact that there's actually an attack going on.

Runner Up 3: AdmiralMH. This is a great looking scene, but was unfortunately marked down because it uses third party tools and coding. As a collaborative demo, it shines.

Runner up 4: Chromatic3D. The element that got the attention of the judges in this entry was the "Epic" Particle introduction, which we found very clever.

The Wallpaper Competition winners are:

1st Prize : 3bit

ADG Wallpaper Competition Winner

 

2nd: Phaelax (Zimnox)

Runner up 1: David Gervais

Runner up 2: Sskethan (Shawn Saunders)

Runner up 3: Lucas_Tiridath (Laurie Hedge)

ADG Competition ResultsWell done to everyone who entered, you can download all of the entries from the ADG website HERE!

FreefallinFreefallin'

In other news we have a new Android App from Sean Regan (Hockeykid), Freefallin' is an accelerometer based game where the objective is to skydive down to earth whilst avoiding missiles being fired from the ground (missile spritesheets by Chris Van Wijmeersch). Well done Sean on publishing this simple but really fun game!

 

Fruit WarriorFruit Warrior

Finally I wanted to share a game that is being produced by a Chinese group of developers led by Fei Han (halley on the forums) using AGK. I have been following the progress of this game closely since I first saw some screenshots and have been lucky enough to be involved in helping with the English translation of the game. Recently I had the opportunity to Beta test the game and I was extremely impressed.

The concept behind the game is that a magic tree that protects the land has been keeping an ancient evil Emperor and his army of corpses trapped in a mausoleum. The evil has escaped and now the fruit from the tree can be used to stop the corpses. Each fruit has its own powers that can be used to hurt, slow down or even blow up the corpses before they can destroy the magic tree and take over the land.

A simple progression system unlocks different fruit, powers and enemies as you advance through the levels. This system feels natural and makes game-play an evolving and exciting challenge.   

What really brings this game to life is the media used in the game. Miracrea (halley's team) deserve real praise for the skill, style and sheer quality that can be found in this extremely original game.

AppUp SDK no longer required!

Here is an interesting development from Intel. The AppUp SDK is no longer required for validation of Windows based Apps and Games. What does this mean for AppUp? Well it means that if you aren't afraid of the risk of piracy or you are developing a free game or you want to use your own security measures for your game then developing for AppUp has never been easier. You are still required to create a ‘silent' installer and use a code signing certificate but the SDK restrictions have been lifted.

AppUp SDKIf you would like to find out more about this development then Bob Duffy of Intel has written this article to clear up some questions.

 

World War II Weapon Pack Upgraded

Model Pack 58 has been updated. Existing users of this pack can simply download again from their order history to take advantage of the updates. Anyone wishing to purchase this pack for the first time will get all of the new updates in the download, read on for full details. The changes include:

What is Model Pack 58? 

This pack is dedicated to the weapons of World War II, and includes no less than 20 items:

  • World War II WeaponsGewehr43
  • Kar98
  • Knife
  • M1 Carabine
  • Luger
  • Bar
  • Bren
  • Colt45
  • Grenade
  • M1 Garand
  • Mosin
  • MP40
  • Mp44
  • Panzerfaust
  • Thompson
  • Stielhandgrenate
  • Sten
  • Springfield
  • PPSH
  • Panzerschreck
  • WWII WeaponsThe pack can be ordered from the TGC Website here. Check out the video below to see the weapons in action.

     

    The Bond1 Mega Deal - 5 Packs, 1 Great Price

    TOrder Bond Packhe Bond1 Model Packs for FPS Creator have an elevated standing in our community, known for their outstanding quality and functionality. It is fair to say that these packs push the boundaries so far that we have enhanced FPS Creator to accommodate them. In this Mega Deal - which saves you 70% on the normal price - you get a collection of environments, characters and entities to boost your collect immensely, and it includes the now iconic Metro Theater Pack.

     

    MP2FPSC Model Pack 2

    This pack contains 71 new assets for your FPS Creator games including:

     

    MP4FPSC Model Pack 4

    This pack contains 21 new characters for your FPS Creator games icluding:

    MP17FPSC Model Pack 17

    This pack includes 30 characters featuring hand-to-hand combat. 30 animations in all, with custom intro, two separate attacks, walk / run, and stagger animations for added character personality! Characters can also hold "firing" weapons and are fully compatible with existing FPS Creator characters.

    MP18FPSC Model Pack 18

    23 fantasy themed characters for your FPS Creator games. Each character comes in two versions, a "melee" version and a "standard" version that can hold any standard firing weapon, even the new weapons included like crossbow, bow and arrow, and oil bombs! Also, each character has an intro animation, 2 different melee attacks, and new run and walk animations for plenty of personality!

    MP38FPSC Model Pack 38

    Metro Theater Pack for FPS Creator. This iconic pack is a fully realised environment for FPS Creator X9, an old style movie theater. Includes new shader effects never before seen in FPS Creator for a truly dynamic environment. It includes:

    Order Bond PackOrder this Mega Deal now and make sure you're stocked up with some fantastic new media to keep you busy over the Festive season.

    You can discuss this Offer on the Forums here.

    FPS Creator News

    AGK Bitesize - Let's get Physical

    AGK Bitsize by Steven Holding

    by Steven Holding

    Lesson Two - An introduction to AGK Physics

    In this tutorial we will take a look at the physics system incorporated into AGK. Using this system we can recreate a realistic set of physical reactions and quickly create an effective game engine with very little coding. Arguably the most widely known 2D physics based game is "Angry Birds" and we can easily code a similar basic game engine in AGK physics, even in a "Bitesize" tutorial.
    We'll start by positioning some ordinary sprites where we want them, for the time being we'll confine them to the limits of our screen but it's worth increasing the size of our screen first to give us a little more visible room.

    Start by creating a new project and then open the "setup.agc" file. Edit line 13 so that it says "width=1024". Also edit line 16 so that it says "height=600". Then open the "main.agc" file and change the display aspect (line 6) like this:

    SetDisplayAspect( 1024.0 / 600.0 )

    Now we have a larger, wider screen to play with let's add some dynamic sprites to knock down. Add the following code after the display aspect line:

    rem lower level
    for s=1 to 4
        spr = createSprite(0)
        setSpriteVisible(spr,0)
        setSpriteSize(spr,1,20)
        setSpritePosition(spr,70 + s*5,80)
       
        rem turn physics on!
        setSpritePhysicsOn(spr,2)
       
        if s<4
            spr = createSprite(0)
            setSpriteVisible(spr,0)
            setSpriteSize(spr,5,1.5)
            setSpritePosition(spr,70.5 + s*5,79.25)
           
            rem turn physics on!
            setSpritePhysicsOn(spr,2)
        endif
    next

    You will notice that we create a sprite, set its size and set its position. Then we "set sprite physics on". The "2" means we are creating a "dynamic" sprite which will react to hitting other physics sprites. We are also setting each sprite's visibility to zero; this is because we will be viewing this exercise in debug mode to avoid the need for any media. We turn debug mode on by adding this line before our game loop:

    SetPhysicsDebugOn()

    Here is what you should see when you compile and run the code so far:

    AGK - Angry Birds Physics

    There are three settings (1 to 3) which are "static", "dynamic" and "kinematic". Static sprites will not be affected by other sprites or forces (such as gravity), but will act as a physical barrier to other sprites. Dynamic sprites will react to collisions with static / dynamic / kinematic sprites as well as forces. Kinematic sprites are similar to static sprites but can have their linear and angular velocity set / edited. During a collision, a kinematic sprite will not divert from it's course.

    We will now create a static sprite which will represent an obstacle in our scene. Add this code after the last line we added:

    rem obstacle
    spr = createSprite(0)
    setSpriteVisible(spr,0)
    setSpriteSize(spr,2,15)
    setSpritePosition(spr,50,85)
    rem turn physics on!
    setSpritePhysicsOn(spr,1)

    You may notice when you run the code that static sprites are shown in green in debug mode:

    AGK - Angry Birds Physics

    Now we need something to throw at our dynamic sprites! Another dynamic object would be ideal so let's use a circular object and position it where we would like to throw it from.

    rem circular object
    spr = createSprite(0)
    setSpriteVisible(spr,0)
    setSpriteSize(spr,2,-1)
    setSpritePosition(spr,5,95)
    rem turn physics on!
    setSpritePhysicsOn(spr,2)
    setSpriteShapeCircle(spr,0,0,1)
    rock = spr

    I have assigned the name "rock" for this sprite as we will need to make sure we are looking at the correct sprite in a short while.

    We also have a new command "setSpriteShapeCircle". AGK - Angry Birds PhysicsPhysics-enabled sprites require a "shape" to define their bounds. The "0,0" parameters are the offset of the shape from the sprite's centre and the "1" is the radius of the circle (1 percent of the width of the screen). Sprites can be circular, rectangular (including square) or polygon shaped. Polygon (or irregular) shapes can be automatically created by AGK based on your sprite image or defined by you (for more complex shapes) but for now we will stick with simple shapes. Your circular sprite should look like the image here.

    All we need to do now is to make it possible to throw our sprite over the obstacle to try to hit our targets. This can be done in a number of ways but perhaps the simplest is to just drag the sprite. We can create "joints" in AGK which are similar to connections we make in real life. A "revolute" joint for example is similar to loosely bolting two lengths of wood together so that they can "hinge".
    For the purpose of this exercise a "mouse" joint is similar to a revolute joint fixed to a point in world space and can be used to "grab" objects with the mouse. We will use input from the mouse to pick up and throw our object as follows. Read through the following subroutine and add it after the loop.

    mouseGrab:
        rem get the pointer/mouse position
        px# = getPointerX()
        py# = getPointerY()
        
        rem find out if the pointer/mouse has JUST been pressed
        if getPointerPressed()=1
         
            rem check position of rock
            if getSpriteX(rock)<20 and getSpriteY(rock)>80
           
                rem check if the "rock" is under the mouse
                if getSpriteHitTest(rock,px#,py#)=1
                   
                    rem it is so let's pick it up
                    mouseJoint = createMouseJoint(rock,px#,py#,10000)
                   
                endif
               
            else
               
                rem reset the "rock" position
                setSpritePosition(rock,5,95)
               
                rem stop the "rock" from moving
                setSpritePhysicsVelocity(rock,0,0)
                setSpritePhysicsAngularVelocity(rock,0)
               
            endif
           
        else
           
            rem check if the mouse joint exists
            if mouseJoint>0
               
                rem check if the pointer/mouse is still being pressed
                if getPointerState()=1
                   
                    rem it is so let's update the position of the joint
                    rem so the "rock" will follow but only if the mouse
                    rem not too far from the start, in which case it is
                    rem thrown by deleting the joint!
                    if px#<20 and py#>80
       
                        rem update the mouse joint position
                        setJointMouseTarget(mouseJoint,px#,py#)
                       
                    else
                       
                        rem delete the mouse joint
                        deleteJoint(mouseJoint)
                        mouseJoint=0
                       
                    endif
                   
                else
                   
                    rem delete the mouse joint
                    deleteJoint(mouseJoint)
                    mouseJoint=0
                   
                endif
               
            endif
           
        endif
     
    return

    This subroutine will check for the rock being clicked on by the mouse and create a mouse joint if it is. If the mouse is released (or too far from the start position) then the rock is thrown by deleting the joint. If the rock is not in its start position when the mouse is pressed it will be "reset" back to the start position.

    For this code to run you will need to add "gosub mouseGrab:" in the loop as follows:

    rem A Wizard Did It!
    do
        gosub mouseGrab:
       
        Sync()
    loop

    Try running the code and see how it works. This is a very simple start to an "Angry Birds" style game, by adding media and checking the collision data stored by AGK we could quickly get something closer to what would be required for the full engine but hopefully this example gives you a better idea how to use just a few commands to make a simple game engine using AGK BitesizeAGK physics.
    The full code and a compiled version of this month's example can be downloaded here. As an extra challenge, why not try to build a more complex structure to demolish, using the simple techniques learned in this tutorial.

    The Game Creator Store - New Store Additions

    The Game Creator Store 

     

    Medusa 3D Game ModelMedusa

    This is the Medusa Monster from the Viral Outbreak Pack 52. As with most of the model packs, you can download the individual items from the store, or buy the packs in full, online. We have recently added the elements from the Metro Theater pack to the Store.

     

    Masked Man Game ModelMasked Man

    This is a male character wearing a mask, made from a single diffuse 1024 x 1024 texture. Great for almost any modern shooter!

    This variant of the character sports a metal mask, Heavy Metal T-shirt and denim trousers...your stereotypical metal head in other words. This character was animated to suit the Modern Day default weapon set but should do well with most weapons.
    It includes customized animations.

    Body WeaponBody Weapon

    When you can't find any other weapons in the game, enable this and it turns the player's body into a natural weapon. The player will slap, strike and kick the enemy. Click the left mouse button once to kick, slap and strike. But if you keep your finger on left mouse button it will strike continously.  

     

    The Hive FPSC Model PackThe Hive

    The Ultimate scifi segment pack: Hive, The Underworld! This huge, creepy segment pack includes 60 separate segments: corridors, rooms, stair, gantries, and rooves. Mix and match to create all of your game levels. Use it for scifi, action, secret laboratory games, anything you want.

    All of the above models are available to purchase and download through the inbuilt Game Creator Store in FPS Creator and DBPro, and also using the standalone store for other game-making tools.

    Pick up free Store Points

    The Game Creators have teamed up with the leading providers of virtual currency; perform a few simple tasks and top up your Store points. As well as being able to take up exciting offers and receiving potentially thousands of points, there are a host of other tasks to earn rewards. Watch a movie trailer, rate search results, answer questions, tag photos or choose from a host of activities that will ultimately earn you any of the high quality models and resources to make your game shine.

    Open the Store, through FPS Creator, DBPro or the standalone version. Log in to your account and select the Buy Points option. Below the regular payment options you'll find links to gWallet, Offerpal, DoubleDing and TrialPay. You'll immediately find yourself in amongst the tasks and offers available, and can start earning immediately by watching a movie trailer or two!

    Upload Your Assets to The Game Creator Store

    Did you know you can sell your models, segments, music and sky boxes in the Game Creator Store? We already have dozens of artists selling their media, and we welcome anyone with the talent to provide our community with quality assets to do the same. If you are interested in becoming a store seller, please contact Janet, our Store Administrator directly.

    Daniel Foreman's Video Tutorials

    Daniel Foreman is busy producing yet more invaluable tutorials for beginners, including tutorials for AGK, DarkBASIC Professional and DarkGDK. Here we have a showcase selection of some of these videos.

    AGK Tutorial - Number Guessing Game

     In this video, you can learn how to make a simple random number guessing game. This will take you through the whole process in Tier 1, giving you a good basis for more complex games.

    DarkGDK with Microsoft Visual C++ 2010

    This tutorial takes you through the process of installing DarkGDK with Microsoft Visual C++ 2010. It includes all of the required links to the software, installation and configuration.

     

    There are many more video tutorials to be found on Daniel's YouTube channel, with too much new material to mention here. Suffice to say, it covers DarkBASIC Professional, DarkGDK, and AGK. There is also help available for generic C++ techniques, and using Code::blocks, the IDE employed in AGK. The DarkPrinciples DVD set is also available to purchase, bringing many of the videos together in one pack, in full DVD quality.

    From The Forums

    One Game World, Multiple Interfaces 

    "I predict that future Games will provide game worlds in which several genres co-exist with multiple client interfacesRole-Players will play Game X as a 3rd Person RPG. Strategist will play Game X as a Top Down RTS. People who enjoy blowing things up will play Game X as a FPS." Join the discussion today.

    Useful Community Functions Project

    The UCF Project stands for Useful Community Functions, its goal is to take community submitted functions, test, and document them. Once complete a template project is released with the documentation in four formats (CHM, HTML, DOC and PDF). This project aims to create a valuable resource that is free and easy to use.

     

    Monthly Newsletter Winner - $100 voucher up for grabs every month!

    Find us on Facebook to discover more about The Game CreatorsJoin over 4,200 TGC fans on Facebook for the chance to win a $100 gift voucher each month. Simply add yourself as a TGC Fan using the "Like" button and then actively participate in the discussions at least once a month. We'll pick a random winner from all who input into the TGC Facebook discussions. The voucher can be spent on any of the products on our site. Sign up now, and good luck!

    "A tool is usually more simple than a machine; it is generally used with the hand, whilst a machine is frequently moved by animal or steam power."
    Charles Babbage