Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
23. February 2014

 

First fire up Xcode.  If you haven’t got Xcode, I suppose first get Xcode then fire it up! :)  You also need to have an active iOS developer subscription. You can read more about that process here.

With Xcode loaded, plug in your iOS device to USB on your Mac.  On the iPad select Trust this computer if you haven’t already.

The Organizer window should be up.  If not done already click “Use for Development” button.  Now you hook up your Apple developer account, click Add to Member Center.

NewImage

 

You will be prompted for your Apple Developer ID.

NewImage

 

Next you will be prompted to request a developer certificate.

NewImage

 

In theory this will automatically download a developer profile for you.  In reality it failed for me, and according to google, this isn’t uncommon.  If this happens to you, log in to developer.apple.com Member Center and manually download the provisioning profile.

NewImage

 

Now back in Organizer, select Provisioning Profile and click Add

NewImage

 

Navigate to the file you just downloaded and select it.  Your device should now be ready for development.

 

Go to your project in Eclipse, right click the RoboVM project and select Debug->iOS Device App.

NewImage

 

Finally, you may be prompted to approve keychain access.  Do so.

NewImage

 

And you should be done.

I actually got a few errors when trying the first time.  LOCKDOWN_E_PASSWORD_PROTECTED and LOCKDOWN_E_UNKNOWN_ERROR.  I simply unplugged and replugged the iPad and tried again and third times a charm.


20. February 2014

This is one of those things I’ve put off forever but I am finally getting to the point I have to do it.  It’s time to sign up for an iOS developer license.  Without one ( and paying 99$ a year ) you cannot deploy your code to Apple devices.  The Simulator gets you most of the way there but eventually you need to run on an actual device.

 

I am going to document the process in case it’s helpful for anyone in the future.  If this ends up being obscenely straight forward, I apologize for the dull as toast post. :)

 

Head to developer.apple.com

Click Member Center

A1

 

 

Either log in or register.  Registration is free at this point.

A2

 

Click on Programs & Add-ons

A3

 

 

Locate iOS Developer Program and select Join Today

A4

 

In an exercise in redundant redundancy, now click Enroll Now.

A5

 

Just in case you haven’t gotten sick of superfluous button clicking, now click Continue.

A6

 

… ok, this is nowhere near as streamlined as it should be.  Anyways pick if you want to use an existing developer id, or create a new one, even though I imagine 99.99% of people will use existing.

A7

 

 

Are you a business or individual?  Individual makes things a heck of a lot easier… you simply need a credit card.  Fill in the credit card details and click continue.

A10

 

Are you feeling deja-vu?  I certainly am.  Anyway, select iOS Developer Program, then Continue.

A11

 

Review the details you’ve given and select Continue.

A10

 

Select Buy Now:

A12

 

 

 

… and, log in again.  Yeah really.  Isn’t Apple the one thats supposed to be all about usability???  Granted, you are logging in to the App Store, so perhaps its a different account for you.

A13

 

… and now, you need to enter your billing information… AGAIN.  This time with credit card details.  This is getting kind of stupid, as there was a completely redundant few steps earlier it appears.  Once you’ve confirmed or entered your payment details, it’s time to pay the piper.

A14

 

The department of redundancy comes knocking again.  Apple seriously, don’t see a few opportunities for optimization in this process here?  None at all.

A15

 

… and assuming your credit is ok...

A16

 

 

… now what?

Now you wait apparently.  Unbelievably, this isn’t a completely automated process.  You simply get an email saying your order is being processed.  That’s rather anti-climactic, especially for the “I WANT IT NOW” crowd.

 

So, about 45 minutes, the following email arrives:

A17

 

… that said, don’t expect things to be all good just yet.  Log in to Member Center go to Programs and Add-ons and...

 

A18

 

Sigh, not quite there yet.  Lame.  A few hours later, still nothing.  I’ll edit in once it is actually ready to go.

 

EDIT: 4 hours after application the account is now active.  Now if you log in to developer.apple.com, you will see an option for certificates.

A19

 

You need a certificate to run on device.  The easiest way to request a certificate is directly in Xcode, but you can manually request a certificate here as well.


28. June 2013

I have been following the Loom Engine since it was first publicly released.  I even did a five part guided tour of Loom Engine functionality, so this is one that I've been keeping an eye on.  One of the major aspects of Loom was it was layered over top of Cocos2D-x, for better or worse.

Loom
(Sadly, not that Loom)

 

In this release, that has has changed.

 

Loom Engine

The Loom Engine saw a huge amount of work this sprint. You will notice substantial gains in performance and stability.

We shifted to the new bgfx-based renderer this sprint, improving Loom2D performance substantially and setting the stage to support DirectX and other graphics APIs. Cocos2DX is now unsupported.

We have extended Loom2D with some new features and filled in some missing features: 
* You can specify z-sorting mode to have C++ sort large numbers of sprites for you. This is demonstrated in IsoVille.
center() method on DisplayObject to set the pivot point to the center of the DO.
* Keyboard input now works.
* Touch handling is much better.
* TMX loading/rendering works (now implemented in LS).
loom2d.animation package is ported.
* Text rendering/text input works!
* Hierarchical alpha works.

All package names are lower case now. If you run a sprint27 project under sprint28 you will see a lot of errors due to this; we recommend doing a replace-in-files to replace all your import Loom2D.Display. with import loom2d.display. and so on - this will get you up and running within minutes. Don't do it by hand unless you like menial labor! :)

Loom projects now inherit from loom.Application and do not require a main.ls any longer. Cocos2DApplication and Cocos2DGame and Application are all combined now.

Feathers is now a standard Loom library and available to use in your projects!

The profiler works, and also reports a lot of object allocation statistics. Use profilerEnable and profilerDump in the Loom console to start it and have it report results.

Porting Feathers (50,000 lines of AS3 code) drove major improvements to LoomScript. Wins include:
is/as/instanceof now are compliant with AS3/JS standards.
* Allow {foo: "bar"} style Dictionary literals.
* Added NaN and isNaN, and some useful constants on System.Number.
* Convenience for porting: try/catch/finally parse, but the catch/finally blocks are never run. throw triggers a Debug.assert. Vararg type specification is now allowed (but does nothing). new <String>[] syntax is now supported for initializing Vectors.
Array is now an alias for Vector.<Object>.
* Fixed crashes related to printing too-long strings with trace().
Vector.push() is now much more efficient for pushing a single item.
* You may reference properties via super, ie, super.x.
trim/split work properly now, and are much faster.
* Added Number.fromString.
* Added a Base64 utility class.
* ByteArray gains uncompress and the position property.
Stage gains a method to dump the DisplayObject hierarchy; it also has a bunch of nice new methods for dealing with scaling/native size.

Loom CLI

Loom CLI's loom new template was updated to use the new Loom2D APIs as well as package naming convention. Also the default Curse Font color was changed to Blue, as the white font tended to disappear on the default background.

We added new commands:
loom gdb Launches the current Loom project under gdb to help debug runtime crashes.
loom gdb compile Compiles the current Loom project under gdb to help debug compiler crashes.
loom android release Prepares a release-ready APK! It has options to set the keystore and signing settings.
loom init Set up the current directory to be a Loom project. Mostly useful for tool developers.
loom build android --unsigned was removed

You can add --verbose to any CLI command to get more log output.

CLI now explains why it asking for your system password to update on OSX.

So, Cocos2D is out and a custom C++ renderer is in.  Additionally they added support for the feathers UI library as well as TMX loading/rendering.  There are other changes as well as numerous bug fixes, mentioned in the release post.  Loom is no longer completely free, although they offer a free option and quite reasonable pricing.  Of course, if you signed up when I first linked it, it's still free for you.

News Programming


25. June 2013

 

A few months ago during GDC, Havok announced Project Anarchy, which was a collection of their game development tools made available FOR FREE for mobile developers.  Then we had the long wait for it to go live.  Fortunately today I received the following email:

Havok

Hey Everyone,

Our team has been hard at work and is happy to announce that the beta version of Project Anarchy is now available to download!www.projectanarchy.com/download

We've also transformed www.projectanarchy.com into a community site which is loaded with resources to arm and inspire developers including:
  • The Project Anarchy Software
  • Online Discussion Forums for Community Support
  • Lessons & Tutorials
  • Videos & Documentation
To join our online community and download Project Anarchy, go to:http://www.projectanarchy.com/user/register

NOW THAT WE'VE LAUNCHED, WHAT’S NEXT?
There's lots of stuff in store for Project Anarchy and the Project Anarchy online community! Here are a few highlights…

Tech Updates
Project Anarchy will have regular updates that will include ongoing new features and enhancements and we already have our next release in the works with Android-x86 support due in the coming weeks.

Arming the Project Anarchy Community with Resources
We'll continue to build and refine Project Anarchy related resources including lesson plans, tutorials and videos that help make game development faster and easier. New resources will be available on the Project Anarchy online community.

Education for Future Game Developers
We'll be reaching out to schools around the globe and continuing to develop courseware to help future game developers learn the ropes and exercise techniques such as math, programming, computational geometry, simulation, and character animation. Lesson plans are available via the online community at: http://www.projectanarchy.com/training

Engaging with our Developer Community
We'll be attending a range of events worldwide to maximize our face to face time with developers, share beers and talk games. You can check out a list of all of the events Project Anarchy will attend, here:http://www.projectanarchy.com/events

If you are around for any of these events and would like to get together, let us know!
 
Project Anarchy Developer Contest
We'll be hosting a developer contest in the near future and are looking forward to seeing some great innovations resulting from the combination of your talent plus the comprehensive toolset that is Project Anarchy. More to come on this soon, so stay tuned!

BIG thanks to all of our followers for your support, excitement and patience. We hope you all have fun with the tech! Be sure to sign up for our developer community!

For more information on Project Anarchy, visit:http://www.projectanarchy.com/about

-The Project Anarchy Team

 

So head on over to the download page before their servers get swamped!


10. June 2013

 

The Apple World Wide Developer conference is currently going on and generally there isn’t all that much of interest to game developers.  This year is a bit of an exception as they added SpriteKit to OSX Maverick (10.9) as well as an upcoming release of iOS.  SpriteKit seems to be a combination of sprite library and physics engine.  In their own words:

Sprite Kit provides a graphics rendering and animation infrastructure that you can use to animate arbitrary textured images—sprites. Sprite Kit uses a traditional rendering loop that allows processing on the contents of each frame before it is rendered. Your game determines the contents of the scene and how those contents change in each frame. Sprite Kit does the work to render frames of animation efficiently using the graphics hardware. Sprite Kit is optimized to allow essentially arbitrary changes to each frame of animation.

Sprite Kit also provides other functionality that is useful for games, including basic sound playback support and physics simulation. In addition, Xcode provides built-in support for Sprite Kit, allowing complex special effects and texture atlases to be easily created and then used in your app. This combination of framework and tools makes Sprite Kit a good choice for games and other apps that require similar kinds of animations. For other kinds of user-interface animation, use Core Animation instead.

Followed by:

Sprite Kit is available on iOS and OS X. It uses the graphics hardware available on the hosting device to efficiently composite 2D images together at high frame rates. Sprite Kit supports many different kinds of content, including:

  • Untextured or untextured rectangles (sprites)

  • Text

  • Arbitrary CGPath-based shapes

  • Video

Sprite Kit also provides support for cropping and other special effects, allowing these effects to be applied to all or a portion of the content. All of these elements can be animated or changed in each frame. You can also attach physics bodies to these elements so that they properly support forces and collisions.

By supporting a rich rendering infrastructure and handling all of the low-level work to submit drawing commands to OpenGL, Sprite Kit allows you to focus your efforts on solving higher-level design problems and creating great gameplay.

So basically it’s a 2D game engine competing with the likes of Cocos2D.  Of course, if you use SpriteKit you will be tied to iOS/OS/X and the newest release at that.  If you are an Apple only shop, this isn’t a big deal, but if you work cross platform or are targeting older hardware, this new library is pretty much useless for now.

 

If you have an Apple ID, you can log in and read the documentation here.

News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List