Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


27. 一月 2016

 

RoboVM just release version 1.13.0 adding Twitter Fabric support.  RoboVM is a virtual machine that enables you to run Java JVM applications on iOS devices and is commonly used to power LibGDX games on iPhones and iPads as well as recently added support of Apple TV.  This release adds:

Bug Fixes & Enhancements

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

  • Fixed an issue with RxJava in high-concurrent scenarios as well as alignment issues
  • Fixed memory leak in IntelliJ IDEA plugin and RoboVM Studio that would eat up CPU and memory
  • Fixed crash in Android SDK setup on Linux
  • Added automatic installation of HAXM to the Android SDK setup
  • Updated RoboVM Studio to IntelliJ IDEA 15.0.3
  • Updated Android SDK to the latest version for Windows, Linux and Mac OS X
  • Added setting to IntelliJ IDEA plugin/RoboVM Studio to disable automatic setting of language level to 1.8
  • Added various improvements to the device selection dialogs in Eclipse and IntelliJ IDEA/RoboVM Studio
  • Minimized the amount of Gradle demons that are being spawned by IntelliJ IDEA when creating or importing Gradle-based projects
  • Added methods to NSData to retrieve contents without producing garbage
  • Fixed classpath/bootclasspath setup in dynamic frameworks
  • Fixed linking on Linux x86_64
  • Fixed crash in debugger due to wrong JDWP event ordering
  • Updated all 3rd party SDKs used in RoboPods to their latest versions
  • Bindings for all new iOS 9.2 APIs
  • Fixed 30 second watchdog limit on iOS for unit tests. iOS would kill a process that takes longer than 30 seconds to establish a UI run loop. Unit tests do now set up an artificial run loop, while tests are being run on a separate thread.

GameDev News ,

blog comments powered by Disqus

Month List

Popular Comments

Paradox Game Engine Tutorial Part 4: Extending Game and Controlling Resolution
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


14. August 2015

 

In this part of the ongoing Paradox3D Game Engine tutorial series we are going to accomplish two tasks.  First we are going to show how to set the resolution of our game in Paradox Studio.  We will then look at an example of extending Game and implementing the same thing using code.  This will be a fairly short tutorial, but needed, as the process isn’t entirely intuitive.

 

As always, there is an HD video version of this tutorial available here.

 

Setting the Screen Resolution using Paradox Studio

 

The process of setting the resolution is incredibly easy, but certainly not intuitive.  To set the resolution, in Solution Explorer within Paradox Studio, right click the game package ( FullScreen in my case ), then select Package properties.

image

 

Then in the Property grid, set the width and height desired:

image 

And done.

 

Extending Game

 

Create a new class in your .Game project, I’m calling mine MyGame.cs.  Now enter the following code:

using SiliconStudio.Paradox.Engine;

namespace FullScreen
{
    public class MyGame : Game
    {
        protected override void Initialize()
        {
            // Set the window size to 720x480
            GraphicsDeviceManager.PreferredBackBufferWidth = 720;
            GraphicsDeviceManager.PreferredBackBufferHeight = 480;

            base.Initialize();
        }
    }
}

This code simply sets the resolution by using GraphicsDeviceManager to set the PreferredBackBufferWidth and Height to our desired dimensions.  Initialize is called after your applications constructor, but before a window is displayed, making it an ideal location to set the resolution.  Why preferred?  Well because frankly outside of desktop platforms (mobile), you often don’t have control over the window size.  Like the previous tutorial, it’s very important to remember to make your class public.

 

Please note, Initialize() is just one point in the application lifecycle, there are several other protected methods you can override to gain much more precise control over the lifecycle of your game:

image

 

Now that we have created our own custom game class, we now need to update the entry point for each target platform to create an instance of our new class instead of using Game.

image

 

Edit the ___App.cs file accordingly:

 

using SiliconStudio.Paradox.Engine;

namespace FullScreen
{
    class FullScreenApp
    {
        static void Main(string[] args)
        {
            using (var game = new FullScreen.MyGame())
            {
                game.Run();
            }
        }
    }
}

 

 

The Video

Programming , ,

blog comments powered by Disqus

Month List

Popular Comments