Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
20. November 2015

 

RoboVM, the makers of technology that enabled you to run Java applications (such as LibGDX) on iOS, just released version 1.11.  The major features of this release are Bitcode, iOS 9.1 and Kotlin support.

robovm

From the complete release notes:

Experimental Bitcode Support

We’ve been hard at work adding initial bitcode support to RoboVM. Bitcode allows Apple to recompile your app on their servers to exploit new CPU features. Currently, watchOS and tvOS both require apps to be submitted as bitcode. For iOS, bitcode submissions are currently optional. This experimental feature is currently targeted at iOS, and represents the first step towards future watchOS and tvOS support.

This experimental support allows you to submit your apps for iOS to the App Store with bitcode enabled. You can enable bitcode from the IPA creation dialogs in both IntelliJ IDEA/RoboVM Studio and Eclipse:

Screen Shot 2015-11-18 at 14.58.32

Screen Shot 2015-11-18 at 15.01.04

You can also enable bitcode-enabled IPA creation in Gradle

./gradlew createIPA -Probovm.enableBitcode=true

or Maven

mvn robovm:createIPA -Drobovm.enableBitcode=true

Note that bitcode support is highly experimental at this point, and we do not yet give support for it. As a next step, we will be focusing on tvOS support, making it a new build target and exposing its APIs.

Kotlin Support

Screen Shot 2015-11-18 at 15.04.28

One of the reasons we love the JVM ecosystem is the multitude of alternative JVM languages available. We’ve had an eye on JetBrains’ Kotlin for a long time now. As Kotlin is nearing its 1.0 release, we thought it’d be a good time to give our users Kotlin support as well!

Screen Shot 2015-11-18 at 15.12.54

Building on the latest Kotlin Beta, you can now create cross-platform Android and iOS app in Kotlin from within RoboVM Studio or IntelliJ IDEA! Simply update to the latest RoboVM IntellIJ IDEA plugin or RoboVM Studio version and use the project creation wizard to get started.

iOS 9.1 Support

RoboVM 1.11 brings you full bindings for iOS 9.1, including new additions to AudioToolbox, CloudKit, and UIKit and the new 3D-Touch APIs. Check out our API diffs to learn what’s changed!

Bug Fixes & Enhancements

As always, we squashed bugs, improved performance and added some bells and whistles. Here are the most important changes:

GameDev News


19. November 2015

 

I remember using Allegro wayyyyyy back in the day in the early 1990s.  It was one of few graphics libraries available for DOS based machines (even though it started life as an Atari library) and certainly one of the only free game libraries available.  Amazingly enough Allegro is still under active development.  Anyways enough reminiscing…  today Allegro.js was released, an HTML5 library inspired by Allegro.  For a brand new library there is already an impressive amount of documentation and reference material available.  One of the hallmarks of the Allegro library was it was brutally simple to use and Allegro.js seems to have carried on that tradition.  Here is an example Allegro app:

 

// bitmap oobjects
var logo,ball;

// sample object
var bounce;

// size and speed of the ball
var size=64,speed=5;

// positon of the ball
var cx=100,cy=100;

// velocity of the ball
var vx=speed,vy=speed;

// drawing function
function draw()
{
   // draw allegro logo background
   stretch_blit(logo,canvas,0,0,logo.w,logo.h,0,0,SCREEN_W,SCREEN_H);
   
   // draws the ball resized to size*size, centered
   // stretch it a bit vertically according to velocity
   stretch_sprite(canvas,ball,cx-size/2,cy-size/2,size,size+abs(vy));
}

// update game logic
function update()
{
   // did the ball bounce off the wall this turn?
   var bounced=false;

   
   // if the ball is going to collide with screen bounds
   // after applying velocity, if so, reverse velocity
   // and remember that it bonced
   if (cx+vx>SCREEN_W-size/2) {vx=-speed;bounced=true;}
   if (cy+vy>SCREEN_H-size/2) {vy=-speed*3;bounced=true;}
   if (cx+vx<size/2) {vx=speed;bounced=true;}
   if (cy+vy<size/2) {vy=speed;bounced=true;}
      
   // move the ball
   cx+=vx;
   cy+=vy;
   
   // if it bounced, play a sound
   if (bounced) play_sample(bounce);
   
   // add gravity
   vy+=.3;
}

// entry point of our example
function main()
{
   // enable debugging to console element
   enable_debug("debug");
   
   // init all subsystems, put allegro in canvas with id="canvas_id"
   // make the dimesnions 640x480
   allegro_init_all("canvas_id", 640, 480);
   
   // load ball image
   ball = load_bmp("data/planet.png");
   
   // load background image
   logo = load_bmp("data/allegro.png");
   
   // load the bounce sound
   bounce = load_sample("data/bounce.mp3");

   // make sure everything has loaded
   ready(function(){
      
      // repeat this game loop
      loop(function(){
         
         // clear screen
         clear_to_color(canvas, makecol(255, 255, 255));

         // update game logic
         update();

         // render everything
         draw();
   
      // all this happens 60 times per second
      }, BPS_TO_TIMER(60));
   });
   
   // the end
   return 0;
}
// make sure that main() gets called as soon as the wesbite has loaded
END_OF_MAIN();

 

If this looks interesting to you be sure to check out Allegro.js.  It looks like a cool library, based on another cool library, just waiting for a community to form around it.

GameDev News Programming


19. November 2015

 

The Leadwerks Game Engine game launcher now works with SteamOS with a few caveats.  From the Leadwerks blog:

Leadwerks Game Launcher now works with SteamOS, with some caveats.


First, you must set the application to use the "Official Bindings" controller configuration by Leadwerks Software.


When you start Leadwerks Game Launcher on SteamOS, a page of available games will be shown.  Click on the game you want to play.  The game will be shown on a new page, and a blue button will appear on the bottom left of the screen.  You can press the B button on your controller to go back to the main page, or mouse the cursor over the blue button and click (right trigger).
The application will pause while the game is downloaded.  At this time no progress indicator is shown while downloading, but most games only take a few seconds.  The game will then launch.  Most games can be exited by pressing the right arrow button just to the right of the Steam button on your controller. Some games will presently not work correctly.
To exit the game launcher, press the right arrow button just to the right of the Steam button.
Attached Image

GameDev News


18. November 2015

 

As part of Google’s ongoing developer conference Fun Propulsion Labs, a Google team dedicated to gaming, released the open source game Zooshi to showcase a number of just announced or updated game technologies.  Zooshy is a 3D game that runs on Android, Android TV, Windows, OSX and Linux and is currently available for free on the Google Play Store.  The source code is available on github under the Apache v2 open source license.

The technologies showcased by Zooshi include:

  • Motive – animation system
  • CORGI – an entity/component system
  • FlatUI – immediate mode lightweight GUI
  • Scene Lab – in game level editing
  • Breadboard – node based scripting
  • FPLBase – cross platform API for low level access

 

Now that’s a number of new technologies I currently know nothing about and will have to jump into in more detail shortly.

 

More details about the release are available here.

GameDev News


18. November 2015

 

The Goo game engine released the code under the MIT license, as announced here.  What is Goo?  It’s the underlying 3D engine that powers the Goo Create editor which enables you to create WebGL games without coding.

DarkBrightLogo_Simple_001

The Goo Engine is the core of Goo Create. Our editor Goo Create would not work without it, but the engine can function on its own if you’re ready to do a little coding. When scripting inside of Goo Create you are also using the Goo Engine.

Features
  • Beautiful Graphics: blazing fast rendering pipeline, built on top of open web standards.
  • Animation: support for animations and geometry from major 3D graphics tools (e.g. FBX, .OBJ, etc) via our own file format converter.
  • Audio: 2D and 3D sound system.
  • Physics: High performance physics in every browser.
  • Entity-Component system: A simple, composable and extensible pattern, often used for game engines.
  • State Machine: Create interactivity in a really simple way.
  • Advanced Timeline System: Animate entity properties over time.
  • …and much more!

The code is hosted on Github and available here.

GameDev News


GFS On YouTube

See More Tutorials on DevGa.me!

Month List