Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

27. May 2017


Tiled, an open source 2D map editor, finally hit the 1.0 milestone release.  As expected from a major point release, this one is loaded with new features.  External tilesets, text objects, grouping of layers are perhaps the largest new features, there are however dozens more.  If you areTiled interested in learning more about Tiled, we have done a comprehensive set of tutorials to get you started.


Details from the release notes:

Changelog

Many more improvements were made, here is the full list:

  • Added support for editing external tilesets (#242)
  • Added a text object with configurable font and wrapping (#1429)
  • Added layer grouping (#1038)
  • Added Tile.type and inherit tile object properties from the tile (#436, #1248)
  • Added a start page
  • Added selection of underlying objects with Alt modifier (by Yuriy, #1491)
  • Added an option to disable safe writing of files (#1402, #1404)
  • Added invert selection action (by Leon Moctezuma, #1423)
  • Added support for isometric terrain overlays and tile collision objects (#419, #757)
  • Added 180-degree symmetry mode to terrain brush with Alt modifier
  • Added short and consistent map format names to use with --export-map (by Marce Coll, #1382)
  • Added Swap Tiles action (by Alexander Münch, #866)
  • Added tileset background color property (#227)
  • Added 60 degree tile rotation support for hexagonal maps (by Victor Nicolaichuk, #1447)
  • Added a check for duplicates when adding tiles (by Simião, #1227)
  • Added option to run commands from menu as well as edit them (by Ketan Gupta, #943)
  • Added custom shortcuts for commands (by Ketan Gupta, #1456)
  • Added optional ID and Position columns to objects view (by i-ka, #1462)
  • Added an executable picker for custom commands (by Ketan Gupta, #942)
  • Added marching ants effect on selected objects (by Mohamed Thabet, #1489)
  • Added all open tilesets to the Tilesets view
  • Added auto-show/hide all views (Clear View) action (by erem2k, #563)
  • Added minimap in the resizing dialog (by Yuriy, #1516)
  • Added drag-n-drop support in Layers view (#178)
  • Added support for storing object type definitions in JSON format (#1313)
  • Added cut/copy/paste actions for custom properties (#515)
  • Allow changing the tile of tile objects (by Mohamed Thabet, #409)
  • Allow selecting a folder to fix multiple broken links at once
  • Added support for dragging external tilesets into the Tilesets dock
  • Added support for dragging images into image collection tilesets
  • Write out Tiled version in TMX/JSON “version” attribute (#1416)
  • Remember last view on map also for closed files (#905)
  • Remember tileset zoom level in the tileset editor (by Artem Sharganov, #408)
  • Change current layer depending on selected objects (by Glavak, #1424)
  • Improved support for using Tiled on HiDpi screens
  • Improved the behavior of the tile selection tool
  • Made Ctrl+D duplicate objects instead of deleting them
  • Use an eye icon instead of a checkbox for layer visibility (by Ketan Gupta, #1127)
  • JSON tileset: Save width/height of individual tile images
  • Linux: Added MIME type for tileset files
  • Fixed hexagonal rotation of tile stamps (by Bdtrotte, #1476)
  • Fixed handling of broken tile references, which now render as a red marker
  • Fixed manual reloading of images for image collection tilesets
  • Fixed Offset Layers tool to wait until mouse is moved
  • Fixed current stamp to always update when a tile is clicked
  • Fixed handling of pinch gestures (#1305)
  • Fixed flipping a group of objects to work like expected (by Vitek1425, #1475)
  • Fixed stamp brush to work better on staggered maps (by Bdtrotte)
  • Fixed objects offsetting while resizing (by Acuion, #1518)
  • Fixed fill tool for hexagonal maps (#883)
  • Fixed potential crash in Terrain Brush
  • Windows: Fixed menus when using OpenGL in full screen mode (#1576)
  • Windows: Added Sticker Knight and Python example scripts to installer (#819)
  • Windows: Fixed bringing existing Tiled window to foreground (#1256)
  • AutoMapping: Fixed object groups always getting added
  • AutoMapping: Improved map boundary handling (by Stefan Beller, #1224)
  • AutoMapping: Apply custom properties set on output layers
  • terraingenerator: Made the amount of columns configurable
  • terraingenerator: Copy tile properties from the source tilesets
  • Added Ukrainian translation (by Olexandr Nesterenko)
  • Added Hungarian translation (by Balázs Úr)
  • Added Finnish translation (by ekeimaja)
  • Updated Bulgarian, Dutch, French, German, Russian, Spanish and Turkish translations


You can learn more about and download tiled here.

GameDev News

25. May 2017


I featured the PlayCanvas engine a couple years ago in this Closer Look review.  PlayCanvas is a 3D HTML5 powered game engine with a full suite of editing tools.  In the time since that initial review, PlayCanvas has advanced a great deal, so I have decided to revisit the engine.  Much of the engine has remained the same as it was, just generally improved all around.  Therefore I have decided instead of another review, I will do a hands on tutorial showing how to create a simple game using PlayCanvas.  In this case, a bowling game.  For Patreon backers all the assets used to make this tutorial are now available including Blender files, FBX, textures and more.

There is a video version of this tutorial available here or embedded below. [Coming Soon]


Spoiler alert... here is the “game” we are about to create in this tutorial.

Click the window to focus.

Press spacebar or W to throw bowling ball.

Press left | A and right | D to move the bowling ball.

Press R to reset the table.

Press B to reset just the ball.


Creating your Project

Alright, lets jump in and build this game.  First head on over to http://playcanvas.com.  Now you either need to create an account or log in to your existing account.

image


A free account is sufficient for what we are doing here.  Once your account is created and you’ve logged in, click the New button

image


Select  Blank Project:

image


Now name your game and hit Create.  Unless you have a premium account, you can’t make private projects.

image


This will open your project after it’s created.  Now head into the settings.

image

You can set the resolution, change the name, description, etc...  but what we want to do in this case is enable physics for our project.

image

Next scroll to the bottom right corner and click the save button.

image


Now we are ready to fire up the editor.  Scroll back up and locate the Editor button.

image


Creating your Game

Welcome to the default editor!

image

Now that we are in the editor, it’s time to start creating our game.  You will notice on the left there is the Hierarchy, this is your games scene graph.

image

We have no need of the Box or Plane, simply right click each and delete them.

Now let’s get our assets into the game.  In Blender I created the bowling lane and pin textured meshes, then exported them as FBX ready for importing.  Let’s import them for use into our game, along with the required textures.  Locate the Assets window, click the + Icon, select Upload then select your FBX file(s).  Repeat the process with any texture maps you require.

image

This process will create a .json for each of your 3D models.  It also creates an empty material for both.

image


Now let’s set the texture for each material.  Simply select the Material, then in the Material tab to your right, scroll down and select Diffuse.  Click ... then select your texture map from the asset pane, like so:

image


I also have a normal map for the bowling lane, I repeat the above process, but instead of Diffuse I select Normal:

image


Creating the Bowling Lane

Ok, now that we have our raw assets and our textures linked, lets start creating some game objects.  Simply drag the lane into the scene like so:

CreateEnt


You will notice this creates a new entity in our scene graph:

image


PlayCanvas takes the traditional Entity Component model that is rapidly becoming the norm in the world of game development. 

image

You will notice that we have a Transform component, which enables us to position our entity in the world.  It also automatically created a Model component for us.  Now we want to add some physics to the game.  Since this is the lane, it wont be moving, so we create it as a static physics object.  To accomplish this we need to add two components, one for collisions that define the shape of our object to the physics engine, the second a RigidBody that defines our physical properties.  Let’s create the Collision shape first.

First click the Add Component button:

image

Then select Collision

image


Select Box then set the dimensions to surround your mesh as tightly as possible (note that PlayCanvas is a Y-up game engine):

image

image


Now Add Component again, this time selecting Rigid Body.  The default value should be Static, which is what we want.

image

Static means the object will be part of the physics simulation, but wont be moved by it.  Friction determines how well other objects slide over this surface, while Restitution determines how objects “bounce” off of it.


That’s it!  Our lane is completed.  Now it’s on to creating the bowling pin object.


Creating the Bowling Pins

Now it’s time to create the bowling pin.  Follow the exact same process you did earlier, drag the .json file onto the scene.  Position and scale it appropriately for your scene.

image

Just like last time, we want to create a collision component for this object.  This time instead of a cube, a cylinder is a better fit.

image

image

We also need to create a rigid body to control physics for this entity.  This time we create our entity as Dynamic ( static means stationary, dynamic is fully simulated, while kinematic takes part in the simulation but expects the movement to come directly from code, not the simulation).

image

Finally we are going to set a tag under the Entity section so we can identify all pins via code.  In the Tags section, enter “Pin” then hit enter to add a tag.  You can add multiple tags to an entity, a quick easy way to create ad-hoc groups of objects as we will see in a moment.

image


We are simulating 5 pin bowling here, so we need 4 more of them.  In the Hierarchy review, right click the pin and select Duplicate (not copy!).  This creates a copy of the entity and all of it’s components.

image

Repeat this process 3 more times, then go ahead and position the pins in a V like so.

image

Obviously if you are a 10 pin fan, other than being a heathen, you simply have to duplicate and position 5 more pins.


This post is getting pretty long so I’ve decided to split it into two parts.  Click here to continue on to part two. [Coming Soon]

Programming , ,

24. May 2017

 

Unreal Engine 4.16 was released today.  As is typical with Unreal Engine releases, this one is packed with new functionality and improved performance on mobile and console platforms.  This release adds new Volumetric Fog effects, a new lighter rigid body and cloth simulation tool.  This release also adds support for the Nintendo switch, as well as launching not just one, but two new audio engines.  Details of the new release:

 

What's New

Unreal Engine 4.16 includes exciting new rendering and animation features, significant performance improvements for mobile and console platforms, and tons of quality of life enhancements that will make it even easier to make stunning environments and engaging experiences that run smoothly on a wider variety of platforms.UE4


Enhance the mood of your environments using the amazing new Volumetric Fog feature, which can be enabled to automatically render realistic fog and smoke effects with consistent lighting anywhere in a scene, even at a large scale.


Breathe life into your characters using new dynamic lightweight rigid body and low level cloth simulation tools! Take greater control of the flow of movement using Animation Modifiers, spline IK solver, updated Pose Driver, and many other improvements to the Animation system.


Garbage Collection is now twice as fast! UI rendering performance and UMG widget creation speed are vastly improved to enable you to create even more compelling interfaces. Interfaces and workflows for VR Mode, Animation, Sequencer, and other tools have been updated to make your development process more streamlined than ever before.


Support for Nintendo Switch is fully-featured and ready for production in 4.16! Epic Games has teamed up with Nintendo to release the full UE4 source code for Nintendo Switch to approved developers for free. To learn more about how to get started, read more here.


DirectX 12 is now the default renderer for Xbox One, bringing both performance and feature enhancements to platform support in the engine. In addition, you can now develop HTML5 games using WebAssembly and WebGL 2, and this new path will continue to improve in UE4.


For mobile, the Android virtual keyboard is now supported, and runtime permissions have been exposed to both Blueprint and code. Plus, we have made even more strides to reduce executable sizes for mobile apps!

 

Check the full release notes for a great deal more information.  As always you can download the new release using the Epic Game Launcher.

GameDev News

23. May 2017

 

Banshee is an in development C++ powered 3D game engine with an editor.  Written in modern C++14 with a comprehensive editor and supporting Vulkan rendering, Banshee3D is a project with a lot of potential. Two things impress me about Banshee3D, how fast it’s progressing and the fact it’s the work of a single guy.  He just updated on /r/gamedev the recent developments the editor has undergone.

  • Physically based renderer - About 70% complete. See link below for an early screenshot.
  • C++ framework - I plan to release the entire engine core under the MIT license. It will be usable as a pure C++ gamedev framework similar to SFML/SDL but with a larger scope.
  • Documentation enhancements - Over a HUNDRED new manuals have been added. image
  • Unified shading language - New unified shading language allows you to develop shaders that work on DirectX, OpenGL and Vulkan, while also supporting high level concepts not available in HLSL/GLSL.
  • Automatic script binding generation - Automatic code generation support for script bindings ensures C# API can now nearly transparently match the C++ API, as well as opening the door for easy addition of new scripting languages.
  • First stable release - Planned for late 2017/early 2018.

You can get a great deal more information from this blog post.  When Banshee 0.3 was released we did a hands-on walkthrough of the Banshee game engine available here and embedded in the video below.

GameDev News

18. May 2017

 

Construct 3 release 29 was just, um... released.  This release brings 22 changes and fixes, including the App Build Service now being live.  The App Build Service enables you to create Android APK files, as well as the option to generate an XCode project for iOS deployment.  Construct 3 is a cross platform HTML5 powered 2D game engine that recently moved to run directly in the browser.  If you are new to Construct 3, we recently released this hands-on video which is also embedded below.  Right now is a great time to check out Construct 3 as it is currently available for free for a brief period of time for the C3Jam on Newgrounds.

 

Details of the r29 release

 

22 Changes

Feature

  • App Build Service is now live!

Add

  • Settings option to hide 'Add action' rows in event sheets

Change

  • Drag-dropping multiple image files now creates a single sprite with an animation like C2 does, rather than separate sprites
  • Event Sheet View: comments now preserve spaces/tabs
  • Image editor eraser tool erases single pixel at size 1 and 4 pixels at size 2 for precise editing

Bug fix

  • Added handling of storage errors, which ought to prevent crashes due to QuotaExceededError. Instead an error is shown suggesting to free up storage space.
  • Inserting new objects in a popup layout view window didn't work correctly
  • Dialogs in popup windows should now work correctly
  • Possible crash closing a popup window with a dialog open in that window
  • Double-clicking Text or SpriteFont objects in a popup window now opens the text dialog in the correct window
  • 'On function' events referring to global constant strings now trigger correctly
  • Rename family crash
  • Eraser hardness when using a size of 1 or 2
  • Image editor cut tool crashes
  • Setting of the cursor when dragging a selection in the image editor
  • Crash in the Tilemap Editor when trying to edit a tilemap in a locked layer
  • Bug causing instances to change size when adding or deleting animations or frames in the animations editor
  • Crash when opening the project bar from the main view menu while there is more than 1 active project
  • Crash when closing the image editor
  • Crash opening project that includes a layout with a partially valid name
  • Autosave not reading setting object correctly

SDK

  • Support for third-party behavior addons in the SDK

Month List

Popular Comments

Picked up Diablo 3… Fixing login problems, sorta
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


15. May 2012

 

I promise not to let it occupy all of my life… I say as I write this at 4AM in the morning!

 

 

Actually, so far the launch has been a gigantic epic failure, not that I am shocked.  As for right now the American forums are down completely.

 

I signed up for a Battle.NET account ( was one of 8 people alive that didn’t play WoW ), purchased my copy from Blizzard.com, went to activate it and:

 

This Battle.net account does not have a Diablo 3 License attached to it.

Hmmmm… go check my email, no keys sent.  What the heck is going on?  Battle.Net says my account is active.  Turns out this is a pretty easy fix, for some reason Diablo 3 set my region to Europe, and your account appears to be region locked.  Simply go to Options->Account and change your region.

 

image

 

For such a massive launch, that’s a pretty stupid error message.  Well, once I set the region I at least stopped getting the “This Battle.net account does not have a Diablo 3 License attached to it.” message.

 

Instead I get:

 

image

 

The servers are busy at this time.  Please try again later (Error 37).

 

 

Lovely.

 

 

Always on DRM for a single player game… what could possibly go wrong?

 

/Sigh

 

 

On the bright side, it looks like Diablo 3 isn’t going to be too distracting for now!

 

EDIT: A fair number of people seem to be having login problems.  Unfortunately beyond the fix mentioned above, there is very little that can be done.

 

Error 37 and 3005 apparently just mean the servers are overloaded.  All you can do in this case is keep trying.

 

As per the Diablo 3 support blog:

 

Error 37, 3005

Our servers will send an Error 37 or Error 3005 message when they are under heavy load. If you are not able to log into Diablo III and receive an Error 37 message, try logging in again. It may take several login attempts before you successfully connect.

 

In addition, Blizzard’s Twitter stream is directing people to this post, but it’s pretty typical connection stuff.

 

Sadly, most of the problems seem to be the simple fact their servers got crushed and Blizzard dropped the ball.  Hopefully they pick it up and fix things quickly.

Totally Off Topic

blog comments powered by Disqus

Month List

Popular Comments