Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

27. January 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 ,

5. January 2016

 

LibGDX, the cross platform open source Java based gaming library, just released version 1.8 today and unlike many recent releases, there is a ton in this release.  The biggest aspect of this release is probably the change to LWJGL 3 on the backend.  LWJGL is a Light Weight (that’s the LW part) Java (the J) based Game Library (GL, tada!) that LibGDX desktop targets were built on top off.  Some of the limits of LWJGL 2 were holding back what LibGDX could do, such as multiple monitor support.

From the announcement blog post, the big wall of text of new features:

[1.8.0]
- API Change: Rewrote FreeType shadow rendering (much better).
- Added spaceX/Y to FreeType fonts.
- Higher quality FreeType font rendering.
- Hiero updated to v5, now with FreeType support and other new features!
- GlyphLayout now allocates much, much less memory when processing long text that wraps.
- Added LWJGL 3 backend, see https://github.com/libgdx/libgdx/issues/3673 for more info.
- Added Graphics#getFramebufferWidth and Graphics#getFramebufferHeight for HDPI handling
- API Change: Added HdpiUtils. Instead of calling GL20#glViewport and GL20#glScissor yourself
  please use HdpiUtils instead. It will ensure that you handle HDPI monitors correctly when
  using those OpenGL functions. On HDPI monitors, the size reported by Gdx.graphics 
  getWidth/getHeight is in logical coordinates as dictated by the operating system, usually half
  the HDPI resolution. The OpenGL drawing surface works in backbuffer coordinates at the full
  HDPI resolution. If you pass logical coordinates to glViewport and glScissor, you only 
  affect a quarter of the real backbuffer size. Use HdpiUtils instead, it will do the right thing, while letting you continue to work in logical (aka returned by Gdx.graphics.getWidth/getHeight) coordinates.
- API Change: Graphis#getDesktopDisplayMode() has been renamed to Graphics#getDisplayMode() and
  returns the current display mode of the monitor the window is shown on (primary monitor on
  all backends except LWJGL3, which supports real multi-monitor setups).
- API Change: Graphics#getDisplayModes() return the display modes of the monitor the monitor
  the window is shown on (primary monitor on all backends except LWJGL3 which supports real
  multi-monitor setups).
- API Change: Graphics#setDisplayMode(DisplayMode) has been renamed to 
  Graphics#setFullscreenMode(). If the window is in windowed mode, it will be switched 
  to fullscreen mode on the monitor from which the DisplayMode stems from.
- API Change: Graphics#setDisplayMode(int, int, boolean) has been renamed to 
  Graphics#setWindowedMode(int, int). This will NOT allow you to switch to fullscreen anymore, 
  use Graphics#setFullscreenMode() instead. If the window is in fullscreen mode, it will be
  switched to windowed mode on the monitor the window was in fullscreen mode on.
 - API Addition: Graphics#Monitor, represents a monitor connected to the machine the app is
  running on. A monitor is defined by a name and it's position relative to other connected
  monitors. All backends except the LWJGL3 backend will report only the primary monitor
 - API Addition: Graphics#getPrimaryMonitor() returns the primary monitor you usually want
  to work with.
 - API Addition: Graphics#getMonitor() returns the monitor your app's window is shown on,
  which may not be the primary monitor in >= 2 monitor systems. All backends except the 
  LWJGL3 backend will report only the primary monitor.
 - API Addition: Graphics#getMonitors() returns all monitors connected to the system. All
  backends except the LWJGL3 backend will only report the primary monitor.
 - API Addition: Graphics#getDisplayMode(Monitor) returns the display mode of the monitor
  the app's window is shown on. All backends except the LWJGL3 backend will report the
  primary monitor display mode instead of the actual monitor's display mode. Not a problem
  as all other backends run on systems with only a single monitor so far (primary monitor).
- Added option to include credentials on cross-origin http requests (used only for GWT backend).
- Added option to specify crossorigin attribute when loading images with AssetDownloader (GWT), see #3216.
- API Change: removed Sound#setPriority, this was only implemented for the Android backend. However, Android itself never honoured priority settings.
- API Change: cursor API has been cleaned up. To create a custom cursor, call Graphics#newCursor(), to set the custom cursor call Graphics#setCursor(), to set a system cursor call Graphics#setSystemCursor(). The Cursor#setSystemCursor method has been removed as that was not the
right place. Note that cursors only work on the LWJGL, LWJGL3 and GWT backends. Note that system cursors only fully work on LWJGL3 as the other two backends lack a means to set a specific system cursor. These backends fall back to displaying an arrow cursor when setting any system cursor.
- API Addition: Added Lwjgl3WindowListener, allows you to hook into per-window iconficiation, focus and close events. Also allows you to prevent closing the window when a close event arrives.
 


There are a lot more details available on the announcement post if you want more details on the specifics of the update. 

GameDev News ,

17. December 2015

 

The first ever LibGDX Jam starts tomorrow, or today, or yesterday or sometime ago, I suppose it’s all relative to when you read this, isn’t it?  Well temporal factors aside, the first ever LibGDX Game Jam begins/began on Friday Dec 18th.  It is called creatively enough #LibGDXJam.  The rules and prizes from this jam are:

The 10 Rules of Jamming

The jam will be held from December 18th to January 18th. Here are the rules:

  1. You must use libGDX to create a game that fits the theme.
  2. You may work alone or in a team. Only one submission per person/team is allowed.
  3. You may use pre-existing code, e.g. libraries like Ashley, or your own code libraries.
  4. You may use pre-existing art, e.g. assets from OpenGameArt, or your own art.
  5. You may use external tools like Tiled or Overlap2D.
  6. You must not re-skin an already existing game or prototype!
  7. You must submit your game before the end of the 18th of January via the jam’s site on itch.io (to be made public).
  8. You must publish the source of your game, e.g. to GitHub.
  9. You must submit your game to the itch.io libGDX Jam page before the end of day January 18th, UTC-12!
  10. If you want to win one of the sponsored prizes, you must tweet about your game and document its development, using the hashtag #libGDXJam and the handles @robovm and@robotality.

First of all, you can participate in the jam without following these rules! In that case, you will not qualify for the prizes though.

Documenting your progress is a great way of sharing your experience, and an invaluable tool for others to learn. Making a bit of noise on Twitter is also a great way to give back to our sponsors. Chaining those 2 things together via rule 9 is my evil overlord plan to make everyone happy.

Here are a few examples of tweets:

Progress screenshot of my #libGDXJam entry @robovm @robotality

New dev log entry for my #libGDXJam game @robovm @robotality

For the dev logs, we want quality first and foremost! Progress screenshots, descriptions of problems you ran into and their solutions, streaming and so on is what we want to see! Just mindless spamming will not get you anywhere.

Prizes & Judging

We are happy to have RoboVM and Robotality as sponsors for the following prizes:

  • Grand Prize: Mac Mini, sponsored by RoboVM.
  • Silver: iPad, sponsored by RoboVM.
  • Bronze: iPod Touch, sponsored by RoboVM.
  • For 20 random submissions: Steam keys for Halfway, sponsored by Robotality.
  • For another 5 random submissions: libGDX Jam t-shirt.

To qualify for any of the prizes, you'll need to follow rule 10 as outlined above. Judging works as follows:

  • The community can vote on itch.io from the 19th of January to the 2nd of February.
  • The Grand Prize will be awarded to the entry with the highest community votes on itch.io. This way the highest quality entry will win!
  • The Silver and Bronze prizes will be awarded to the entries with the best mixture of dev logs and tweets and community votes. * Our sponsors and the libGDX core team will pick these entries. This should motivate people to make some noise on the web and document their progress for the greater good of the community!
  • The random awards guarantee that everyone has a chance to win a prize!
  • The winners will be announced on the 3rd of February!

Timetable

  • Theme Voting round 1: Nov. 22nd – Dec. 11th
  • Final Theme Voting: Dec. 11th – Dec. 18th
  • Jam: Dec. 18th – Jan. 18th
  • Judging: Jan 19th – Feb. 2nd

You can read the full details here on github.

GameDev News ,

17. December 2015

 

Just in time for the first ever LibGDX Game Jam, LibGDX 1.7.2 was released. 

image

 

This released included the following updates:

[1.7.2]
- Added AndroidAudio#newMusic(FileDescriptor) to allow loading music from a file descriptor, see #2970
- Added GLOnlyTextureData, which is now the default for FrameBuffer and FrameBufferCubemap, see #3539
- Added rotationChanged() for Actor class, called when rotation changes, see https://github.com/libgdx/libgdx/pull/3563
- Fixed crash on MacOS when enumerating connected gamepads.
- ParticleEmitter no longer says it's complete when it's set to continuous, see #3516
- Improved JSON parsing and object mapping error messages.
- Updated FreeType from version 2.5.5 to 2.6.2.
- Fixed corrupt FreeType rendering for some font sizes.
- API Change: FreeTypeFontParameter has new fields for rendering borders and shadows.
- FreeTypeFontParameter can render much better fonts at small sizes using gamma settings.
- BitmapFont can now render missing (tofu) glyph for glyphs not in the font.
- FreeTypeFontGenerator depreacted methods removed.
- Fixed BitmapFont color tags changing glyph spacing versus not using color tags. BitmapFont#getGlyphs has a new paramter. See #3455.
- Skin's TintedDrawable now works with TiledDrawable. #3627
- Updated jnigen to Java Parser 2.3.0 (http://javaparser.github.io/javaparser/).
- FreeType fonts no longer look terrible at small size. This is a big deal!
- Updated to RoboVM 1.12.0, includes tvOS support!
 

Full details are available here.

GameDev News ,

13. December 2015

 

GDX AI, a Java based AI library that works with (but doesn’t require) LibGDX just released version 1.7.

 

From the change log:

[1.7.0]

- Updated to libgdx 1.7.1

- API Addition: added GdxAI service locator that reduces coupling with libgdx and allows you to use gdx-ai

out of a libgdx application without having to initialize libgdx environment, so avoiding the waste of resources

and the need of native libraries; see https://github.com/libgdx/gdx-ai/wiki/Initializing-and-Using-gdxAI

- API Change and Addition: Messaging API

* Removed delta time argument from the update method of the MessageDispatcher; the new GdxAI.getTimepiece().getTime() is internally used instead.

* Added return receipt support, see https://github.com/libgdx/gdx-ai/wiki/Message-Handling#return-receipt

* The report method of PendingMessageCallback now takes an additional argument for the return receipt.

- API Change and Addition: State Machine API

* Now the StateMachine interface has a generic type parameter for the state.

* Added owner's getter and setter to the DefaultStateMachine; also, the owner is now optional in constructor.

- API Change and Addition: Behavior tree API revised and improved, see https://github.com/libgdx/gdx-ai/wiki/Behavior-Trees

* Now tasks have a status that is updated each time they run.

* Added enum support in behavior tree files.

* Now parallel task can specify sequence or selector policy.

* Added cancel method for task termination, mainly used by the parallel task.

* Now you can add listeners to the tree in order to be notified when a task has run and a child is added.

* Now task methods setControl, success and fail are final.

* Now method addChild is final and Task's subclasses have to implement addChildToTask.

* Added decorator tasks Repeat and Random.

* Added leaf tasks Failure, Success and Wait.

* Added branch tasks RandomSelector and RandomSequence; removed deterministic attribute from Selector and Sequence.

* Now the UntilFail decorator succeeds when its child fails.

* Added ability to clone tasks through third-party libraries like Kryo.

* Added support for custom distributions in behavior tree files.

* Now LeafTask usage is less error prone thanks to the execute method.

GdxAI is available on Github or as part of the LibGDX setup.

GameDev News, Programming ,

Month List

Popular Comments