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

Editorial - January 2014

Issue 131 cover

2014 already has lots to look forward to. As a backer of AGK Version 2, I'm already playing with the alpha version that was delivered to us as an early Christmas present. It's full of exciting new features that will keep me busy until the next delivery of the alpha and beta versions. It is when you open up a package like this that you realise just how busy TGC have been over the past year.

Likewise, the FPSC Reloaded backers received their early Christmas present, namely Beta 1.004. As well as new features to experiment with, it has numerous performance-enhancing modifications to make it all the more pleasureable. As a testament to the new graphical capabilities of the engine, our seasonal Christmas scene on the newsletter cover has been taken from the gallery of images submitted by the beta testers, this time from community member Burrr.

Find out in this first edition of the year how you can further support FPS Creator reloaded by giving it the Green Light, check out the detail behind AGK 2 Alpha One, uncover a new AGK tutorial on simple science, and much more.

Until next time, a Happy and Prosperous New Year,

Steve Vink

contents

(1) FPSCR on Greenlight (2) FPSCR Forums (3) FPSC News (5) AGK2 Alpha 1 (6) AGK Tutorial (7) BOTB (8) TGC Channel (9) From the Forums (10) Social Feeds

FPS Creator Reloaded - Give it the Greenlight

FPSCR on Greenlight

One of our ambitions is to get Reloaded onto STEAM, which means getting a Green Light, helped along with public votes. We are off to a flier, but need to keep the momentum going. If you know anyone with Steam, invite them to check out the page and see if they would also like to see Reloaded reach millions of new FPS players and budding creators.

What is Greenlight

Steam Greenlight

Steam Greenlight is a system that enlists the community's help in picking some of the new games to be released on Steam. Developers post information, screenshots, and video for their game and seek a critical mass of community support in order to get selected for distribution. Steam Greenlight also helps developers get feedback from potential customers and start creating an active community around their game during the development process.

The FPS Creator Reloaded Website

FPSCR WebsiteKeep on watching the FPS Creator Reloaded website for the up to date reports on:

 

The Gallery

Image GalleryThe Gallery has become one of the most inspiring places to inhabit in the world of TGC. The beta testers of FPSCR have astounded us with their abilities and creations. In fact, as Lee Bamber has been heard to quote, we have had internal discussions about whether some of these screenshots are from FPSCR. We can confirm that they are, here are some of our breathtaking favourites from this month.

Icy Sniper Vantage Point
Icy Sniper Vantage Point by Burger 

Fantasy 

Fantasy by E30Legend 

 Scenic View

Scenic View by E30Legend 

 Hellbound

Hellbound by Rolfy 

 

The Forums

As Intel Black Belt developers The Game Creators are creating an awesome game creator for PC users.

Bob Duffy, Developer Community Manager, Intel

 

The forums on the FPS Creator Reloaded website are becoming more active by the day, and you will find great discussions and tips from the beta testers of the product.

You'll find many breaking stories here, such as latest beta versions, how the store is becoming an even better place for top artists, and exactly how developers are putting the new functionality and features to great use. 

Did you know, for example, that the new voting system is live and ready to take your votes for your most important features? You can read about it in the forum and then get voting!

 

FPS Creator Reloaded FAQ

Reloaded FAQVeterans of FPSC will be familiar with the Community Guide, created by Nickydude. In a similar vein, he is now creating an FAQ for Reloaded. It will no doubt become the definitive guide over time and evolve just as the Community Guide did. The FAQ is available here, and already includes answers to questions such as:

 

FPSC Reloaded Blog

FPS Creator Reloaded by The Game Creators

  

By Lee Bamber

Each month we will be bringing you updates on the progress of FPS Creator Reloaded. You will find a running commentary on the development through the FPSC-R Blog, but right here you will find some of the selected highlights that deserve your utmost attention. You can also follow the development on the official Facebook page. Within the R&D offices here at TGC, Reloaded is now our main focus and we aim to constantly develop it to make it into a world class game creation tool. With a refreshed passion we're excited to be bringing the technology up to date so it'll make amazing looking games.

Lee Bamber, FPS Creator Reloaded Developer summarises his December achievements.

I started to imagine all sorts of cool things such as shop keepers I could trade items with, civilians walking about minding their own business, ladders so I could get to the roof tops, closed and locked doors and windows I could bash or pick open, the sounds of the night and the daily buzz of a small village, some creepy zombies hiding in the shadows, dynamic lighting effects for camp fires, lanterns, shop interiors and glowing eyed vampires, dust and tumble weeds kicking about in small wind swirls, maybe some light rain causing the cobbles to slowly reflect the buildings above, cloth physics hangings draped from open doorways and windows.

Lee Bamber

 

As 2013 draws to a close and we head into 2014, here are a few words to summarise where we are today with FPSC-R and where we are destined for.

As I wandered through my test world at the end of the working year, I started to imagine all sorts of cool things such as shop keepers I could trade items with, civilians walking about minding their own business, ladders so I could get to the roof tops, closed and locked doors and windows I could bash or pick open, the sounds of the night and the daily buzz of a small village, some creepy zombies hiding in the shadows, dynamic lighting effects for camp fires, lanterns, shop interiors and glowing eyed vampires, dust and tumble weeds kicking about in small wind swirls, maybe some light rain causing the cobbles to slowly reflect the buildings above, cloth physics hangings draped from open doorways and windows. All this was swimming in my head as I wondered around my completely empty village, and it was exciting to know that most of the hard work is either behind me or in my immediate sights. I knew 2014 would be the year when all my imaginary features would slowly transform the reality of the engine, and found myself tempted to start all of them at once.

Of course the reality is that I am but one person, and I chose a very small team to help me get there. For this I apologize, and beg your patience as I build this edifice one brick at a time. I want this castle to stand the test of time. Other coders thought I was daft to build a castle here, but I built it anyway. It sank into the swamp. So I built another one, that sank into the swamp. I built a third one...that burned down, fell over then sank into the swamp. But the fourth one stayed up, and that's what you're going to get from me, the strongest castle in these isles.

 

 

FPSC Reloaded

The things that get done during Downtime

Anyone reading the blog will have noted that I made a personal pledge to down tools for Christmas, with a slight err of doubt thrown in. Here's the list of things that have been achieved in the last week of 2013 whilst taking it easy. Hopefully there's a few items on your own lists of nice-to-have features.

Fostering an Imposter or Two

Imposters are a very important part of any highly detailed game. When objects such as buildings and trees are far enough away to be unreachable by the player, they are not needed in all of their detail and complexity. However, the player still needs to see them as they are part of the world in which we play. In an infinitely large world, the overhead of millions of polygons for towns or even cities soon becomes overbearing.

The (very) old-fashioned methods of dealing with this problem were:

Most of us will remember bleached out foggy scenes, and games where buildings would appear from nowhere. Imposters are the cunning solution to the problem. We effectively take a photograph of the objects, and place a 2-dimensional billboard where the item usually stands. A 1,000 polygom building can be reduced to just 2 polygons!

ImpostersSo what are you looking at? Well the blue square is the background color of the camera and nothing to get excited about. The red square is our quad imposter which has been calculated automatically based on the position of the camera and the target object. The building in the center is the target object and it is being rendered via the imposter pixel for pixel exactly where the real model would have been rendered. Instead of hundreds of polygons, there are now just two.

The reason I show you a view from above is that this is the perspective the shadow light sees objects from. By using imposters when rendering the shadow objects, we will vastly accelerate the entire shadow drawing cycle too. Not forgetting the reflection views and light ray cameras!

Make your Pledge to the Project 

FPSC Reloaded is in constant development and the first Betas are with our diehard fans and newcomers . We continue to take pledges so we can continue to develop the product and add more features. If you want to be one of the key supporters of this amazing new game maker then click HERE to make your pledge.

 Thanks to everyone who has helped so far. 

AGK2 - Alpha One has Arrived

An early Christmas present for AGK 2 backers, the first alpha arrived in December. In this release, project backers have access to new functionality:

 

This is no small update to the AGK engine. Taking tweening as an example, the one-line description does not do justice to the almost 100 commands added to the command set. These cover the full range of entitities from Cameras and Objects, to Text and  Sprites.

What is Tweening? 

Tweening is managing the transition of an entity from one state to another. This could be it's position, rotation, size or even colour. A tween needs the follwoing components:

Start state. In the example of position,  youwould most probably use the current position of the object you are tweening.

SetTweenSpriteX( 1, 110, 500, TweenLinear() )

End State. This is the final state of the object, such as the new size of an object.

SetTweenSpriteAngle( 1, 0, 360, TweenLinear() )

Duration. The time it will take to transition from start to end. This could be a split second, or several minutes.

CreateTweenSprite( 1, 2.0

Interpolation. This is the method by which the object will get from start to end. Examples include:

  SetTweenSpriteAngle( 1, 0,360, TweenLinear() )

Check out the examples in your product download area to see these and all of the other commands in action.

 

  

 

Developers are actively publishing AGK games

More about App Game Kit 2

App Game Kit (AGK) 2 will be a new and enhanced version of our current App Game Kit product. AGK is already used by hundreds of developers around the world, helping them to quickly create games and utility apps that can be coded once and then deployed across popular mobile platforms.

We have an exciting vision of how we want to evolve the product and your help is already moving the development forward with confidence.

For those new to AGK, the BASIC scripting system is very easy to learn and start coding with. If you're a seasoned developer you can access the extensive AGK libraries and use these inside your C++ projects.

The BASIC language has lots of game based commands that make it a cinch to create sprites, play sounds, add physics, code multiplayer games and much, much more. Once your game is compiled  you can take the resulting project byte code and run that through special players that we have created for the support platforms (iOS, Android, Windows, Mac, Blackberry). 

So far we have outlined the new capabilities that have become a tangible path to AGK 2. Don't forget that prior to July, we already had our initial Kickstarter funded and Goal One reached. Here is a reminder of the features that are included with those levels:

AGK has a very strong 2D engine on to which we will add new commands and effects so your games can look even more awesome.

Additionally, the sound library will be expanded to allow finer control of individual sounds - the volume and pitch will be controllable. Where supported, we'll add seeking control of sounds and music files and the ability to read the current volume data. The new App Window Size feature will allow you to change the size of the app window at game run-time for Windows and Mac. 

AGK 2 KickstarterYou can still pledge! We have a PayPal option now that the Kickstarter Project has completed.

 

 

AGK Mini Tutorial - Simple Science

To Collide or not to Collide

In this short tutorial we will take a look at simple collision using the inbuilt Box2D physics engine. We will demonstrate how boxes can interact with one another as they do in the real world. Following on from this we can take a look at choosing which elements can collide, and which can't. Not only that, but we'll be selective about groups of objects colliding with one another whilst ignoring others.

Firstly, we need to create some boxes to play with.

setVirtualResolution(1024,768)
 
dim s[10]
dim t[10]
 
for n = 1 to 10
    s[n] = createSprite(0)
    setSpriteSize(s[n],50,50)
    setSpriteColor(s[n],255,0,0,212)
    setSpritePosition(s[n], n * 60, 50)
 
    t[n] = createSprite(0)
    setSpriteSize(t[n],50,50)
    setSpriteColor(t[n],0,255,0,212)
    setSpritePosition(t[n], (n * 60) + 25, 350)
 
next n
do
   sync()
loop

Here we have created 2 arrays of 10 boxes each. The createSprite() command has been used with a value of zero to make a simple media-free square which we then resize and colour. Set one have been coloured red, and set two are green. They have also been placed onto the screen area in a fashion that will make things easier to follow as we progress.

Around the main code we have added just enough to be able to run the demonstration. What you will see is the two rows of boxes, slightly offset from one another.

Now we can add life by switching on the physics for the boxes. This takes just one line of code per object, which we can place inside the loop alongside the previous object creation code. Amend your two codeblock for arrays s and t to include the SetSpritePhysicsOn() command:

    s[n] = createSprite(0)
    setSpriteSize(s[n],50,50)
    setSpriteColor(s[n],255,0,0,212)
    setSpritePosition(s[n], n * 60, 50)
    setSpritePhysicsOn(s[n],2)

After specifying the sprite number, we provide a value of 1, 2 or 3.

 

 

Run the code again and you will see the boxes fall to the bottom of the screen under gravity. The red boxes will come to rest on top of the green, as you would expect. They do not fall past the bottom because by default our physics world has invisible walls around the perimeter of the screen.

Let's make the demonstration interactive. We can create joints in the physics world to connect things together. What is ideal for our demonstration is to connect whatever object we click on to the mouse and drag it around. This is done with a mouse joint. The following code is placed in the game loop and checked every cycle. In summary, we create a joint when the mouse is depressed on an object, and we delete the joint when the mouse button is released. In between these actions, we position the joint wherever the mouse wanders, and our box will follow.

do
 
    if getPointerState() = 1
        if h = 0
            h = getSpriteHit(getPointerx(), getPointery())
            if h > 0 then j = CreateMouseJoint( h, getPointerx(), getPointery(), 10000000 )
        endif
        if j > 0 then SetJointMouseTarget(j, getPointerx(), getPointerY())
    else
        if h > 0
            h = 0
            deleteJoint(j)
            j = 0
        endif
    endif
 
 
    sync()
 
loop

It really is that simple! Run the program and have fun throwing the boxes around for a while, before we continue.

Next, we want to allow boxes to collide only with other boxes of the same colour. A typical example of this behaviour might be a pseudo-3D game where you don't want your main characters and items to collide with background items such as debris and buildings. We need to do a number of things:

 

 

By default, all sprites are in category one including the invisible boundary walls. Therefore we will move the red boxes to category 2, and the green boxes to category 3. Here is the code specific to one sprite:

setSpriteCategoryBit(s[n],2,1)

This moves the sprite to category 2. We also need to remove it from category 1

setSpriteCategoryBit(s[n],1,0)

As you can see, the last parameter is set to 0 to remove it. Finally we need to specify which categories the sprite cannot collide with (because by default they collide with all categories):

setSpriteCollideBit(s[n],3,0)

The full sprite creation code now looks like:

for n = 1 to 10
    s[n] = createSprite(0)
    setSpriteSize(s[n],50,50)
    setSpriteColor(s[n],255,0,0,212)
    setSpritePosition(s[n], n * 60, 50)
    setSpritePhysicsOn(s[n],2)
    setSpriteCategoryBit(s[n],1,0)
    setSpriteCategoryBit(s[n],2,1)
    setSpriteCollideBit(s[n],3,0)
 
    t[n] = createSprite(0)
    setSpriteSize(t[n],50,50)
    setSpriteColor(t[n],0,255,0,212)
    setSpritePosition(t[n], (n * 60) + 25, 350)
    setSpritePhysicsOn(t[n],2)
    setSpriteCategoryBit(t[n],1,0)
    setSpriteCategoryBit(t[n],3,1)
    setSpriteCollideBit(t[n],2,0)
 
next n

Run the code again and notice the segregation of red and green boxes. This is essentially all there is to getting started with physics and collision. There are all sorts of ways to get more complex, but when the basics are so simple there is no excuse to get started right away!

 

Finally, here is the full code for you to copy and paste straight into the AGK editor.

setVirtualResolution(1024,768)
dim s[10]
dim t[10]
for n = 1 to 10
    s[n] = createSprite(0)
    setSpriteSize(s[n],50,50)
    setSpriteColor(s[n],255,0,0,212)
    setSpritePosition(s[n], n * 60, 50)
    setSpritePhysicsOn(s[n],2)
    setSpriteCategoryBit(s[n],1,0)
    setSpriteCategoryBit(s[n],2,1)
    setSpriteCollideBit(s[n],3,0)
    t[n] = createSprite(0)
    setSpriteSize(t[n],50,50)
    setSpriteColor(t[n],0,255,0,212)
    setSpritePosition(t[n], (n * 60) + 25, 350)
    setSpritePhysicsOn(t[n],2)
    setSpriteCategoryBit(t[n],1,0)
    setSpriteCategoryBit(t[n],3,1)
    setSpriteCollideBit(t[n],2,0)
next n


do
    if getPointerState() = 1
        if h = 0
            h = getSpriteHit(getPointerx(), getPointery())
            if h > 0 then j = CreateMouseJoint( h, getPointerx(), getPointery(), 10000000 )
        endif
        if j > 0 then SetJointMouseTarget(j, getPointerx(), getPointerY())
    else
        if h > 0
            h = 0
            deleteJoint(j)
            j = 0
        endif
    endif

    sync()
loop

 

Best of the Best - Kshatriya Prologue

Developer: Bugsy

Best of the Best 

In the dense Undercity, There is little room to maneuver, and sunlight barely touches the landscape. Each and every space is letted as a living area to house people, to the point where rooftops are apartments, stores, and restaurants often. In the Undercity, you're always on the roof of something. When picking up the laundry turns into an alternate route home, which leads to the discovery of a key Kshatriya artifact, a good day can quickly turn bad. Play as a faceless civilian thrust into a world of trouble for being in the wrong place at the wrong time.

"I created this game to see how much quality could be put into an FPSC game", says developer Bugsy,  "and to test out FPSC's ability to handle animations and setpieces. It came out very well, and It is going to become an episodic series."

 

 

You can download this game here, and also feed back to the developer on the forum thread here.

The TGC YouTube Channel

Youtube ChannelHave you visited the TGC YouTube Channel yet? You may be surprised:

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.

From The Forums

TGC ForumsPurple Complex: An Arcade Style First Person Tactical Shooter

The aim of Purple Complex is to find the exit point of each level and escape.

Evade the guards, drones and gun emplacements using a combination of stealth, shooting and close combat in order to reach the exit point of each level.

Features:

 

 

The player can choose:

 

 

 
Publishing to Ouya

Tips on Publishing to Ouya

SMD_3D Interactive has published Ice Brawlers to Ouya, here are his tips for the process.

 

Firstly, in the manifest file you will need to change this entry from this ...

          <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter>

to this...

          <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="tv.ouya.intent.category.GAME" /> 
            </intent-filter>

 

Next you will need to copy the file to your ndk install folder found here:

AGK10819\IDE\platform\android\Source\android_native_app_glue.c

 

There are instructions in the readme in the same folder on where to put the file. The file fixes the crashes expierenced on Ouya With AGK Betas 18 and 19 from having an input overload.

Now you need to set your icon in your project in eclipse with the file name:

\res\drawable-xhdpi\ouya_icon.png

and set the icon in the manifest file. This icon should have the size 732x412 and be a png file

Finally, make sure your game or app is set to debuggable [ false ]

This should ensure a successful deployment to Ouya, good luck! 

 

Ice Brawlers 3D 

 

Keep up to date with TGC on Facebook & Google+

Find us on Facebook to discover more about The Game CreatorsJoin over 6,000 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?

FPSC Reloaded

FPS Creator Reloaded on FacebookThere are now over 1400 fans discussing Reloaded on our Facebook page right 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.

 

App Game Kit 

You can join in the Facebook discussions in our AGK group page with over 550 members and we have a new AGK Facebook page.

 

Google+

You can also follow our products on Google+ 

TGC on Google+

FPSC Reloaded on Google+

App Game Kit on Google+ 

 

 

 

Always bear in mind that your own resolution to succeed is more important than any other.

Abraham Lincoln