Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

11. December 2017


A year ago Microsoft acquired Simplygon, a polygon optimization tool.  Back in May they announced that Simplygon connect was now free.  Simplygon Connect is a web service you can use to upload your assets to their servers for processing.  Today however Microsoft has releasedSimplygon Simplygon Cloud on the Azure Marketplace.


If you were looking for a more dedicated service, Simplygon could be a good fit for you.  Description from the getting started guide:

Simplygon Cloud is an optimization service that runs on Microsoft Azure.

Simplygon is not a public service hosted on the Internet; it is a service acquired in the Azure Marketplace. This means that when you acquire a Simplygon instance in the Azure Portal, that Simplygon instance will only be used by you and whoever you provide access to.

If you need an on-premise solution, Simplygon is also available on Azure Stack, the on-prem version of Azure.


Simplygon Cloud is capable of processing the following formats:

Asset

Of course, to utilize Simplygon Cloud you need a 3D asset. In this version of Simplygon Cloud (1.0), the following asset formats are supported:

  • GLTF
  • FBX
  • OBJ
  • SSF (Simplygon Scene Format)

If you asset uses non-embedded textures or consists of multiple files (like for example GLTF), you will need to provide all files to Simplygon Cloud to be able to correctly process a file.

GameDev News

6. December 2017


GameMaker is a seminal game engine, with roots dating back to the late 1990s.  It is a cross platform 2D game engine with tools that run on Windows and Mac machines while capable of targeting both desktop operating systems as well as Ubuntu Linux, Android, iOS, UWP, HTML5, XBox One and PlayStation 4 consoles.  GameMaker is commercial software with a free trial available, we will discuss pricing shortly. 

The closer look series is a combination of overview, review and getting started tutorial aimed at helping you decide if a given engine is the right choice for you.  As always, there is an HD video version available here[coming soon] and embedded below.

Let’s jump right in with GameMaker Studio 2!


The Tools

GameMaker Studio is an all in one integrated environment for creating games.  It includes everything you need in a single application with a tabbed working environment and a unique virtual desktop style approach supporting multiple editing windows at once.  The all in one all tools at hand nature of GameMaker is probably one of it’s greatest selling points.


The Main Interface

image


Side and bottom panels can be collapsed down to give more room:

image


The primary work area is tabbed, supporting multiple open views at once:

image


As mentioned earlier, GMS has a workspace setup that enables you to work with and pan between multiple editors at once, like a giant virtual desktop.

GMSDesktop


The resource panel is commonly used across the various editors and contains the various assets that make up your game.  You can also drag and drop assets onto this window to import them for use in your game.  For example, dropping in an image file will create a new Sprite entity for you.

image


You can also create new entities via the dynamic right click menu.  For example, right clicking the Tile Sets area will bring up this menu:

image


The Room Editor

image

This is your traditional level editor, where you can create various layers of entities that compose your game level.  A top left you have the layers controls, enabling you to create/delete/hide the various layers that make up your game.  Layers can be composed of instances (objects), backgrounds, tile maps and paths.  The editors below the layer controls change dynamically based on what kind of layer is selected.


Selecting a tile layer brings up the tile map editing tools, including a palette of tiles you can paint with.

image

GMS even has support for auto tiling, if your tileset is compatible.


The Sprite Editor

image

This editor enables you to define how a sprite is imported, the various frames of animation if any as well as a preview of the sprite or animation.  Additionally, clicking Edit Image brings up a full blown image editor within GameMaker.

image

This is a full blown sprite editing package with a variety of brushes available, full layer support, the ability to paint across frames, several tools such as text tools, polygon tools, a magic wand selection tool, mirroring tools and more.  Pretty much all the functionality you would expect for creating or editing sprites is available directly in GMS.


Sound Editor

image

You also have control over sound effect details via the sound editor/mixer.  Supported audio files include wav, mp3, wma and ogg.


Tileset Editor

image


As mentioned earlier, the room editor has full support for tileset layers.  There is an editor for defining tilesets as well as defining auto tiling support.  There are also editors for defining tile animations and creating predefined tile brushes.


Path Editor

image

This editor is used to define paths, either straight line or curves.  Often used for AI paths, the generated paths can be used and editing directly in the room editor.


Script Editor

image


This is the built in editor for developing games using GameMaker Script.  It has syntax highlight, code suggestions and a selection of other features.

image

The code editor is also used for shaders.


Drag and Drop Editor

In addition to GMS scripting, GameMaker also provides a drag and drop programming option.

image

You can use drag and drop from the toolbox to script your programs behaviour.  We will cover both programming options in more detail shortly.


Font Editor

image


Enables you to import and preview fonts for use in your game.  Fonts can be in either true type or open font formats.


Object Editor

image

The Object Editor is where you will start to tie your various resources together.  For example, your main character will be an object that connects to a sprite, while handling various different events.  Objects are created in the Object Layers in the room editor and generally represent the entities that make up your world.  We will look at objects in a bit more detail later.


Programming In GameMaker

You may be wondering at this point how exactly you implement gameplay logic in your GameMaker game?  Essentially you attach logic to objects in the game world.  When you edit an object you will notice there is an Events option.

image


Click the Add Event button and you will see the various events you can respond to in your game:

image


These are called at various points by the game engine and are analogous to the game loop in other engines.  Step is called once per pass through the game loop and is most commonly where you will handle update logic.  There are also events for when the object is created, destroyed, etc… as well as various options for responding directly to events such as collisions, touches, etc.


You can also wire up code to be called when a Room is created, via the Creation Code button:

image


Next it’s a matter of deciding HOW you want to program in GameMaker, via Drag and Drop as well as directly using GameMaker scripting.


Scripting

Scripting is done using Game Maker Language, or GML, which is a C like scripting language.  The syntax is fairly simple and if you’ve had any prior C, Python, C++ or similar language experience, picking the language up should be fairly simple.  There are built in methods for most functions you would want to perform such as graphics drawing, audio code, networking, platform specific tasks like in app purchases etc.  There are also built in data types such as Stacks, Lists, Maps and Queues.  Actually teaching GML is beyond the scope of this document but you can access the language reference here.

If functionality is lacking it may be available on the GameMaker Market Place or you can add it yourself by creating a native extension.  You can add new functions to GML in this manner.


Drag And Drop

Programming via drag and drop in GameMaker is your other option and is a great choice for people that just want to jump in and figure things out on their own.  Don't worry too much about performance as the DnD code is ultimately generating GML script so performance should be roughly the same.  In fact, you can switch freely between the two programming methods at will within the same project or call GML directly in your DnD script.

Creating scripts in DnD is as simple as dragging in predefined functions to create a flow chart of sorts that occurs top down, like so:

GMLDnD

Once again, you can freely switch between the two methods.  Additionally, in any script your can right click and select Convert To Drag and Drop.  A reference of all the drag and drop tiles is available here.


The Price

GameMaker is commercial software, so that means there is a price tag attached.  There are multiple versions available for GameMaker as well as addition platforms coming with an additional price tag.  Pricing (as of today, 12/6/17) breaks down as follows:

image

image


In addition to these various different platforms, there is also now a new $39 per year ( most of the above non-console licenses are permanent buy once ) Creator Edition aimed at hobbyist developers.  It is fully featured but requires you to choose Windows or Mac and also requires your game display a splash screen.  There is also a heavily limited free trail available.  For more information on pricing or to download the trial visit here.


Community and Documentation

As you might expect for such a long lived game engine, there is also a very well established community.  The forums are available here.  With almost 20K registered users and 230K posts, the forums are quite active and contain a wealth of knowledge, although much of it is for earlier 1.x versions.  Questions seem to be answered fairly quickly.  In addition to the forums there is also the YoYoGames help desk containing several guides and how-tos.

There is also a fairly comprehensive GameMaker Studio manual available online which can be opened directly within Studio.

Additionally, there are several books available for GameMaker Studio such as:


In addition there are several tutorials and start kits available on the online marketplace, which we will talk about…


Online Marketplace

Quickly becoming the must have feature of modern game engines, GameMaker has an online store available, containing free and commercial assets including demos, scripts, sprites, shaders, extensions and more.

image

You do not need to have GameMaker Studio installed to access the marketplace, you can browse it in your browser here.


Conclusion


At the end of the day, GameMaker Studio faces a challenging new world as it is facing increasing competition from free and free to start game engines.  Is it worth it?  That is impossible for me to answer, as value is very subjective.  Game Maker is certainly a very complete 2D engine with a vibrant community and tons of resources.  Compared to the previous versions, the 2.x editor contains a great deal more polish and most every tool you would need is included out of the box.   Game Maker has certainly proven itself a production capable engine, having powered such titles as Hotline Miami, Undertale and Spelunky, all titles that have seen commercial success.

A proven catalog of game is always a strong selling point.

Personally, if you are working on a 2D title using Windows or Mac, Game Maker is certainly worth considering.  Do keep in mind however that as you add more platforms, you also add more cost.  In many cases though, this means you are ready to commercialize your title, so hopefully cost isn't as much of a concern.  I do think however they are making a mistake in charging for the Creator Edition.  Personally I would do away with the trial completely, make Creator free and charge people to deploy to additional platforms.  If this was the case it would be a great deal easier for me to recommend you check out GameMaker yourself.  Without a free option, its hard to recommend in the face of so many free/free to start options out there.  The engine is great, productive, proven and easy to learn… just saddled with a bit of a dinosaur business model.


The Video

[Coming Soon]

Programming, General, Design , , ,

5. December 2017


Visual Studio 2017 15.5 has just been released with several new features and improvements.  Performance optimizations were a big part of this release including a halving of the time required to open C# or VB.net project.  The biggest feature of interest for many mobile developers is the Xamarin Live Player, enabling you to develop using just Visual Studio plus an iOS or Android application.


Details of the release from the MSDN blog:


Performance. In this update we continued to improve performance. Solution load times for large C# and Visual Basic projects is nearly cut by half. The time to switch between debug and release is significantly reduced. It is faster to add, remove, and rename files and foldersTask Center Notification so you know if Live Unit Testing is discovering building or executing your test in .NET Core projects. Project templates should now unfold much faster than before. In the most exceptional cases, you can see up to a 40x improvement in unfold time. There are multiple performance improvements in F# tooling. We’ve added an “Only analyze projects which contain files opened in the editor” checkbox under the JavaScript/TypeScript Text Editor Project Options page. This option will improve performance and reliability in large solutions. Note that when this box is checked, you will need to perform a Solution build to see a complete list of TypeScript errors in all files.

Most notably, we have cut the solution load times for large C# and VB projects by half. The primary way we achieved this was by starting the design-time build process earlier and by batching the design-time build operations for all projects and executing them in parallel with other solution load operations. To see this in action, watch this video comparison loading the Orchard Content Management System solution before and after optimization.

Check out our detailed post to learn how we achieved this performance in large C# and VB projects. For those who missed the similar performance improvement we made for C++ projects in an earlier update check out this blog post on C++ solution load and build performance improvements.

Diagnostics. The Visual Studio debugger got considerably more powerful with the addition of step-back debugging, also known as historical debugging. Step-back debugging automatically takes a snapshot of your application on each breakpoint and debugger step you take, enabling you to go back to a previous breakpoint to view its state. Check out this post from Deborah that details out this capability and how to make the most of it – step-back while debugging with IntelliTrace. For more on diagnostics and debugging, also look at our post on lesser known debugging features.

Docker and Continuous Deployment. Visual Studio has featured good Docker support for a while. With this release we have taken it further. Docker containers now support multi-stage Dockerfiles. The continuous delivery features make it easy to configure Visual Studio Team Services to set up CD for ASP.NET and ASP.NET Core projects to Azure App Service

Secrets management. Visual Studio has added features to help identify and manage secrets like database connection strings and web service keys. We have a preview of support for credential scanning that can easily read through your source files to ensure you don’t unintentionally publish key secrets into your source repo. And the integrated support for Azure KeyVault gives you an easy place to publish those secrets (and get them out of your source code). Check out this post to learn how to manage secrets securely in the cloud.

Azure functions. The Visual Studio tools for Azure functions has gotten a notable improvement, with the ability to use .NET Core. Learn about added support for creating .NET Core Azure Functions apps, as well as improving the experience for creating new Function app projects.

Mobile development with Xamarin. A major milestone in this release for mobile development was the addition of the Xamarin Live Player, which enables developers to continuously deploy, test, and debug their apps using just Visual Studio and an iOS or Android device. This release adds support for Android emulators, enabling developers to preview real-time XAML changes directly in the Android emulator without requiring a re-compile and re-deploy.

We have also added the ability to File → New → Mobile App with Xamarin.Forms and .NET Standard, and migrated all project templates to use PackageReference for easy NuGet package management.

Unit Testing. We’ve improved the unit testing experience for both managed languages and for C++. C++ developers will notice integrated support for Google Test and Boost.test (add them through the Visual Studio installer in the desktop development workload). We already mentioned feature behind a feature flag called source-based test discovery that hugely improves test discovery performance. And the Live Unit Testing (LUT) is better integrated with the task notification center and now supports .NET Core (starting in Visual Studio 2017 15.3) as well as MSTest v1. Be sure to check out this post for an overview of the various text experience improvements in Visual Studio 2017 version 15.5.

Web development. If you are an Angular 2 developer you will now see errors, completions, and code navigation in inline templates and .ngml template files. See the sample repo for an overview and instructions. Other updates in the web space include improvements to Razor syntax formatting and improvements in the workflow for publishing ASP.NET applications to Azure Virtual Machines.

Visual C#. VS 15.5 adds support for C# 7.2 features like Span<T>, the readonly struct modifier And the private protected access modifier.

Visual C++. We already talked about the support for Google Test and Boost.test, and C++ developers will also see improvements to the Standard Template Library for C++ 17 standards. Check out the Open Standards website. The VC++ compiler supports 75% of the C++ 17 features. In addition, the team has added new optimizations to the compiler.

Visual F#. We added .NET Core SDK project support to the F# tooling so you can now create new .NET Core console apps, .NET Standard libraries, and .NET Core unit test projects from File > New Project, for example, and we added support for project-to-project references. You can also you can now right-click Publish tooling with Web SDK projects and the continuous delivery features will now autogenerate a CI/CD pipeline with Visual Studio Team Services tooling.

Source control. You can now work with Git submodules and worktrees, and configure fetch.prune and pull.rebase in Team Explorer. Visual Studio now treats Git submodules and worktrees like normal repos. Just add them to your list of Local Repositories and get coding!

Reliability. The Visual Studio Installer now supports modification and uninstallation of each entry, improving the installer experience. On the note of the crashes caused by the PenIMC.dll that some of you may have run into, Windows is currently working on a root fix. Meanwhile, we wanted to ensure we helped those of you still running into crashes when trying to scroll, click, or interact via touch in Visual Studio. To activate the workaround, disable touch scrolling by checking the “Disable Touch Scrolling” under Tools > Options > Environment > General and restart Visual Studio.


For even greater details on this release be sure to check out the full release notes.

GameDev News

30. November 2017


Following on the heels of Alpha 2 released the end of October, we are one step closer to a full Godot 3.0 release with today’s release of Godot 3image Beta 1.  The major difference between beta and the earlier alpha releases is beta is now feature complete.  No new functionality will be added between now and Godot 3.0, only bug fixes and refinements.  This is important to me as it means I can get to work on new tutorials and content targeting Godot!

The beta release also contains several new features since the last alpha including Bullet as the new physics engine for 3D physics, onion skinning support for animations, improved remote debugging and auto tiling for tilemaps.

Details of the release from the Godot blog:

Godot 3.0's development officially entered the beta stage last week, which coincides for us with what we name the feature freeze: from now on, no new features will be merged in the master branch, as the focus will be fully on fixing existing issues to stabilize the current feature set. Don't worry though, Godot 3.1 will arrive soon after the 3.0 release to bring all the nice features that contributors are already working on.

To get broader testing of the feature-frozen branch, we're releasing an official build, Godot 3.0 beta 1, just one month after the previous alpha 2.

It notably includes Bullet as the new 3D physics engine, onion skinning, autotiling for 2D tilemaps, an enhanced debugger with remote SceneTree edit, and nice usability improvements such as code folding in the script editor, PascalCase builtins for C#, and many others.

But more importantly, it also brings tons of bug fixes compared to alpha 2, and we will continue to hunt down the remaining issues to guarantee a nice experience with Godot 3.0 stable. The documentation and translation have also been updated thanks to the work of our many contributors.


Downloads are not on the download page, instead available via the following links:


GameDev News

30. November 2017


Today marks the release of Cocos Creator 1.7.  Cocos Creator is a full suite 2D game engine built on top of the Cocos2d-x open source project.  It imageprovides a complete game editor and SDK for creating cross platform 2D games.  If you are interested in learning more, be sure to check out our recent hands-on video with Cocos Creator.

Cocos Creator 1.7 brings several new features to the engine.  Details from the developer forums:

Performance Improvements
  • [Engine] JSB 2.0 officially launched, greatly optimizing the native platform operating efficiency. Support debugging, if you use manual bindings, be sure to bind the code to be upgraded. For more information, read the [JSB Binding and Debugging Tutorials] (https://github.com/cocos-creator/cocos2d-x-lite/blob/develop/cocos/scripting/js-bindings/docs/JSB2.0-learning-en.md34)
  • [Engine] Separate culling and transform calculation steps to improve performance
  • [Engine] Fixed bug where the width of the rung would change to 0 after adding the Camera component to the node
  • [Animation] Optimize animation components
  • [Engine] Optimize native platform camera cropping performance
What Is Different
  • [Editor] The plug-in script “Allow Editor Load” is disabled, the internal display is not checked
  • [Build] iPhone X Screen Resolution Support
  • [Build] Projects can now exclude un-needed modules for native engine projects. (Project Settings -> Module Config)
  • [Build] Allow native scripts to disable script encryption (support choose whether encrypt js files in builder panel)
  • [ProjectSettings] Add CocosAnalytics to the Services tab.
  • [ProjectSettings] Increase data validation when saving project settings
  • [TypeScript] Upgrade the TypeScript compiler to 2.4.2
  • [Editor] Improve the template of the new script
  • [Editor] Optimize Explorer file sorting
  • [Editor] Explorer to create a new node immediately change the file name state
  • [Console] supports setting line height and font size to change log display
  • [Engine] Give detailed hints when a user has erroneously released a resource that may still be used
  • [Engine] Support mouse event bubbling
  • [Engine] Support and WebView interoperability
  • [Engine] supports dynamic modification of cc.macro.ENABLE_CULLING
  • [Engine] Provides the native platform RenderTexture’s saveToFile interface
Downloads:

GameDev News

Month List

Popular Comments