Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
30. November 2018


Cocos Creator has just taken the jump into the world of 3D with the release of Cocos Creator 2.1.  While still a 2D game engine, the underlying renderer is fully 3D.  This release adds a new 3D node, a new renderer component, a new animation node, a new 3D camera as well as the ability to load 3D content in FBX file formats.  This release also marks a bit of a fork in Cocos Creator development, with the existing 2D only game engine staying on the 2.0.x versioning scheme, while the new 2.1.x will develop more rapidly in the future.  This hopefully will fix some of the bad backward compatibility changes they have made in the past, but it will be interesting to see how much development both branches receive.  If you are interested in learning Cocos Creator, be sure to check out our comprehensive tutorial series available over on DevGa.me.

Full release note details of the 2.1 release:

What’s New

3D Node
In v2.1, newly created Node objects are still 2D by default. When needed, you only need to click the 2.5D button at the top right of the Node to switch to 3D mode. After switching, you can edit the z axis. See 3D Node 8.

3D Camera
Like Node, Camera is also divided into two modes. When you add a Camera component to a normal 2D node, it becomes a 2D Camera. When you switch Node to 3D mode, Camera will also enter 3D mode, and then you can edit Camera's FOV and other parameters in 3D mode.

3D model import
Currently, Cocos Creator supports importing 3D model formats for a very wide range of .fbx files. .fbx is the de-facto standard in 3D modeling software. The process of importing is very simple, just drag the .fbx model into the Explorer and wait a few moments for the import to complete. After the import is completed, you can see that the imported model is a folder that can be expanded in Explorer. When importing the model, the editor will automatically parse the content of the model and generate a Prefab, a Grid, a Bone Animation and other resources. See Import Models 1

Mesh Renderer Component
Mesh Renderer is used to draw grid resources. See Mesh Renderer 1.

Bone Animation Component
The Skeletal Animation component inherits from the Animation component. The Skeletal Animation component is not much different from the Animation component. The exception is the Skeletal Animation component uses a clip that can only be a Skeletal Animation clip. The Skeletal Animation component is automatically added to the model’s Prefab when it is imported. See Bone Animation Component for details.

For more 3D instructions, please consult the documentation 3D System 1.

Optimize automatic gallery build speed
v2.1 greatly optimizes the speed of auto-atlas construction. If the atlas has not changed, the results of the last build are used.

Further improve rendering performance
Between v2.0 compared to v1.x, there are some cases where the engine does not render batches, resulting in an increase in draw calls. v2.1 re-optimized these conditions. If the previous color or opacity cannot be batch processed, sliced and non-sliced share the same texture and cannot be batched. The problem that the opacity 0 node still occupies the draw call is solved.

Add simulator debugging function
In the Project Settings -> Preview Run Panel, the Open simulator debugger panel option and the Wait for debugger connect option have been added. The purpose of the Open simulator debugger panel option is to automatically open the debug window when the simulator previews the project. The Wait for debugger connect option is used to suspend the boot process until the debugger connection is complete for debugging the load process.

Texture Auto Compression
The compression required by the texture can be set directly in the editor, and Cocos Creator will automatically compress the texture when the project is published. Exporting multiple image formats simultaneously on the web is supported. The engine will automatically download the appropriate format according to the different browsers. See Compressed Textures 4 for details.

Enhancements

Editor
  • Dashboard is closed when the project is opened, and automatically opened when the project is closed.
  • Dashboard will automatically record the last created project path.
  • Optimize the preview of the Button under the editor.
  • Optimize the way Button Click Event indexes components, avoiding the loss of indexes after scripts are renamed.
  • QQ light game construction allows direct packaging of zip files for uploading servers.
  • The new plug-in mall automatically prompts the user to install after the plug-in download is completed.
  • When building a WeChat mini-game main domain project, the subdomain will not be emptied again.
  • Modify the API Level selected by default when building the Android platform to the current highest level (Target API Level).
  • The node path bar in the scene editor is removed, and the node path can be obtained through the node right-click menu of the hierarchy manager.
  • The animation editor defaults to Constant curves for values ​​of type cc.Enum and cc.Integer, without interpolation.
  • Animation editor key frame addition and deletion experience optimization.
  • The optimization engine automatically compiles the experience.
  • Added a series of other experience optimizations.
Engine
  • [UI] Added the affectedByScale property to the Layout component. If the developer wants the scaling of the Layout subnode to affect the layout, you can turn it on manually.
  • [UI] supports fnt files in XML format.
  • [UI] The Content Size of the node will be refreshed immediately when the Label node is onEnable.
  • [UI] When the target of Button is not defined, the current node will be used by default.
  • [UI] ToggleContainer adds a checkEvents event property similar to Toggle, which fires only when Toggle’s isChecked state becomes true.
  • [Action] Added support for four actions of cc.Rotate3DTo, cc.rotate3DTo, cc.Rotate3DBy, cc.rotate3DBy.
  • [Native] Rejoined WebView and VideoPlayer support removed in v2.0.0 on iOS and Android platforms.
  • [Native] The Mac native platform switches to the V8 engine. If you need to use JSC, you need to manually modify the macro. For details, see #1515.
  • [Native] Add the missing key and length properties of the native platform LocalStorage, see #1371 1.
  • [Native] Adopts Pinyin input behavior unified with Android on iOS native platform, does not retain input of unfinished pinyin.
  • [Android] Upgrade Android compilation to NDK r16+ Clang, and compile Android pre-compiled library with Clang.
  • [Android] Upgrade the Android build tool to configure Gradle to 4.4, plugin to 3.1.4. (Gradle 4.6 has a known issue that will cause resource packaging to fail).
  • [Android] Optimize Android input box experience.
  • [Android] Squeeze Android empty package body, the minimum package body is reduced from 7.0MB to 6.3MB.
  • [Web] Increase transparency support for WebView on the web platform.
  • [Web] Optimized display position of WebView components.
  • [Web] Optimizing the performance of VideoPlayer on the X5 browser.
  • [Wechat] Supports getting the res and referrerInfo parameters passed to the platform when responding to the cc.game.EVENT_SHOW event on WeChat games.
  • [VideoPlayer] Optimized the performance of VideoPlayer full-screen playback.

Bug Fixes

Editor
  • Fix an issue where the animation editor node list may not be updated.
  • Fix the problem of selecting the RichText subnode in the scene editor.
  • Fixed an issue where the error code always returned 0 when building a project using the command line, whether or not an error occurred.
  • Fixing the background of the mesh in the scene editor will penetrate above some translucent images, causing some differences in color and runtime.
  • The editor will report an error when repairing an external drag resource to an invalid location in the resource manager.
  • Fixed remote server ip getting error when publishing Android Instant platform.
Engine
  • [Core] Problem with activeInHierarchy being true after fixing node destroy.
  • [Core] Fix filter in RenderTexture, premultiply alpha setting is invalid.
  • [Core] Fixed an issue where the scene introduced by the plugin could not be loaded.
  • [Web] Fixed a problem with white afterimages on Chrome 69, 70. (Since 2.0)#3357 1.
  • [UI] Fix Button may have some state invalidation when multiple states are superimposed on each other.
  • [UI] Fix LabelOutline setting invalid color problem.
  • [UI] Fixed an issue where setting Toggle.isChecked to be invalid in the start method.
  • [UI] Fix the problem that the LabelOutline component is not synchronized when the state is modified.
  • [Animation] Fixed an issue where the parameters of AnimationState might be parsed as a string type.
  • [QQPlay] Fix the problem that QQ light game does not respond to the background background switching event.
  • [QQPlay] Fix the problem that the font will become very small if you use italics on QQ light games.
  • [QQPlay] Fix the problem that the QQ light game can’t replay when the lock screen re-enters or the front and back switches.
  • [QQPlay] Fixes the problem of the ended event after the audio setCurrentTime is fixed #3373.
  • [Native] Fix native platform connection socket.io server may report Bad Request error.
  • [Native] Fix iOS and Android can’t detect gravity sensor.
  • [Native] Fix iOS call cc.game.restart Restart the game and then enter text will crash.
  • [Native] Fixing the problem that the opacity attribute of Label on Windows native platform does not work.
  • [Native] Fixed an issue where Android could not listen to onKeyUp.
  • [Native] Fix the problem that the Android phone will fail to load if the built-in SSL certificate expires.
  • [Native] Fixed an issue where server redirection was not supported when downloading images from Android native platform #PR.
  • [Physics] Fixed an issue where MouseJoint failed to respond to touch cancel.
  • [Spine] Fixes the problem that textures may be lost when Spine is reloaded under Mask.


GameDev News


29. November 2018


The hotly anticipated Blender 2.80 release just got one step closer with the first beta being made available.  A bit of a warning, their servers are taking a beating so it might take a bit of time to download your copy.  This release is one of the biggest changes Blender, possibly ever, with new features such as a new real time PBR based viewport called EEVEE, a new 2D animation system built around the expanded grease pencil, cycles improvements, a new glTF exporter and of course a vastly changed user experience and workflow. 

New to the Blender UI is a new consistent high contrast icon set, pie menus now enabled out of the box, improved context sensitive tools, a massive overhaul to the hotkeys and yes… left click select is now finally the default.  Of course the 2.80 release also marks the removal of the Blender Game Engine from Blender.


You can download Blender 2.80 here.

You can get an overview of Blender 2.80’s major new features here.

You can read the complete WIP release notes here.

The Blender foundation have put out a video showcasing the top 5 features in Blender 2.80 which can be viewed here.


Plus of course you can watch my own overview of the 2.80 release here or embedded below.  Sadly no hands-on footage of Blender 2.80 in action, as the Blender servers are getting absolutely slammed right now.  Stay tuned for more Blender 2.80 coverage in the near future.

GameDev News


27. November 2018


One of the biggest challenges for game developers working with Unity is dealing with the garbage collection.  The current system they use, Boehm–Demers–Weiser garbage collector drops everything when memory management occurs, which can lead to framerate slowdowns until the garbage collector is done.  In an attempt to improve this situation, Unity have implemented Incremental Garbage collection in the most current alpha of Unity 2019.1.  Essentially Unity attempts to split memory collection across multiple frames to minimize the impact over all to performance.

Details from the Unity blog:

Enter Incremental Garbage Collection. With Incremental GC, we still use the same Boehm–Demers–Weiser GC, but we run it in an incremental mode, which allows it to split its work into multiple slices. So instead of having a single long interruption of your program’s execution to allow the GC to do its work, you can have multiple, much shorter interruptions. While this will not make the GC faster overall, it can significantly reduce the problem of GC spikes breaking the smoothness of the animation by distributing the workload over multiple frames.

There are however downsides to this approach including greater overhead and possible performance issues if your memory changes during collection.

If you enable incremental GC, the garbage collector will split up the garbage collection work across multiple operations, which can then be distributed across multiple frames. We hope that in most cases where GC spikes were an issue, this will mitigate the symptoms. But Unity content is extremely diverse and can behave in very different ways – and it’s likely that there are cases where incremental GC may not be beneficial.

Specifically, when incremental GC breaks up its work, the part which it breaks up is the marking phase, in which it scans all managed objects to find which other objects they reference, to track which objects are still in use. This assumes that most of the references between objects don’t change between slices of work. When they do change, the objects which have been changed need to be scanned again in the next iteration. This can cause a situation where incremental collection never finishes because it will always add more work to do – in this case, the GC will fall back to doing a full, non-incremental collection. It’s easy to create artificial test cases changing all the references all the time, where incremental GC will perform worse than non-incremental GC.

Also, when using incremental GC, Unity needs to generate additional code (known as write barriers) to inform the GC whenever a reference has changed (so the GC will know if it needs to rescan an object). This adds some overhead when changing references which can have a measurable performance impact in some managed code.

For more information on incremental garbage collection, including step by step instructions on how to enable it, be sure to check out the following video, also embedded below.

GameDev News Programming


22. November 2018


As has become a tradition here on GameFromScratch, every year we track down and present the best Black Friday deals of interest for game developers.  This year is no imageexception, so here they are!  Although it is becoming less and less of a thing, this page will also track applicable Cyber Monday deals as well.  If you know of a missing deal, let me know in the comments down below and I will do my best to add it.



3D Coat (Store Link)

3D Coat is a 3D sculpting, paintings and PBR texturing application that is currently $100 off during Black Friday, valid through Nov 26th.


Adobe (Store Link)

Adobe are offering 25% off their entire creative suite annual subscription service.  This includes seminal products such as Photoshop, Illustrator, Animate and more.


APress (Store Link)

Any aPress published ebook for $7.


Affinity Paint/Designer (Store Link)

All Serif products are currently 30% off for Black Friday, including Affinity Designer, Painter and Painter for iOS.  If you want to learn more about Affinity Designer, check out our recent video.

Allegorithmic (Substance) (Store Link)

Save 33% on annual subscriptions for their Substance Suite of PBR texturing tools (Painter, Designer, B2M).  For more information on Substance Painter, check out our recent hands on video.


A Sound Effect (Store Link)

Having a sale on hundreds of sound effect libraries, as well as a one month free subscription and 112 free sounds with any purchase.


Amazon

Amazon is always heavily involved in Black Friday and sell a wealth of software and hardware that’s useful for game developers.  I will be updating this category as deals come online.

Asus GX501 15” Ultra Portable GeForce 1070 Laptop $400 Off

Corel Draw 30% Off

Corel Painter 2019 33% Off

CyberPowerPC PC Towers – @20% Off

Dell XPS 15 Laptop with 1050 Geforce $200 Off

Gigabyte Aero 15x 1070 Thin Laptop $550 Off

Google PixelBook 19% Off

MacBook Pro 13” $100 Off

MSI GS63VR Stealth $350 Off

Microsoft Surface Go 10% Off

Logitech MX Master 50% Off

Oculus Rift $50 Off

Razer Blade Stealth $200 Off

Samsung Monitors @25% Off

Samsung Tablets 33-44% Off

Smith Micro Software (Anime Studio, MoHo, Poser, etc) – Moho 30% off


CGTrader (Store Link)

CG Trader are offering up to 50% discount on 3D models this Black Friday.


ClipPaint Studio (Store Link)

ClipPaint Studio (the successor to Manga Studio) is an anime style painting application that is currently 50% off for Black Friday.


The Foundry (Store Link)

The Foundry are offering 30% discounts to Modo subscriptions and 15% off maintenance.


Humble Bundle RPG Game Dev Bundle (Store Link)

Technically not a Black Friday sale, but the Humble RPG Game Dev Bundle is going on during the same period.  Now with an improved license, you can get a ton of RPG related graphics, music and icons for a low price while helping charity.  I got hands-on with the bundle in this video.


Huion (Store Link)

Huion are offering their tablet devices for between 20-25% off.


Kitbash3D (Store Link)

Kitbash are offering 50% off their 3D model kits for Black Friday.


Marmoset (Store Link)

Save up to 50% on all Marmoset Software, such as Toolbag, Viewer and Hexels.  See Hexels in action in this video.


Marvellous Designer (Store Link)

Marvellous Designer is offering up to 50% off their virtual clothing design software, on both subscription and perpetual licenses.


Microsoft Store (Store Link)

The Microsoft store is an ecceletic mix of software, computers and devices, with a variety of items on sale during Black Friday such as laptops, tablets and VR headsets.


PluralSight (Store Link)

Pluralsight offer online training and courses.  Their Black Friday sale includes 33% off on subscriptions.


Packt Books (Store Link)

All eBooks and videos from Packt Publishing are available for $10 during the sale.


Quixel (Store Link)

Quixel’s sale doesn’t actually start until Black Friday.  Generally its a discount of their texturing software as well as their texture resources.


RealAllusion (Store Link)

Save over 50% on Character Creator, Crazy Talk Animator, iClone and more.


Safari Books Online (Store Link)

Safari Books is O’Reilly Press’ online book repository, offering full access to thousands of computer related books.  This sale, good through Monday, is good for 50% off an annual subscriptions, a $200 value.


SketchFab (Store Link)

SketchFab are offering models for 25% off using the code BLACKFRIDAY.


Smith Micro (Store Link)

Smith Micro are offering their suite of products for 30% off including Poser, Moho and more.  The same deal is available on Amazon if you prefer that store.


Syntorial (Store Link)

Syntorial is offering 50% off their audio synthesis hands-on tutorial system.


Steam Autumn Sale (Store Link)

Steam is also having their annual autumn sale with tons of game development software available at discounted pricing.


TurboSquid (Store Link)

TurboSquid is offering select 3D models from their catalog for up to 40% off.


Voxengo (Store Link)

Voxengo are offering subscriptions and individual VST/AAX/AU plugins for 25% off.


Udemy (Store Link)

Udemy is offering most of their thousands of online courses for $10 each.


Unity Asset Store (Store Link)

There are sales across the entire Unity Asset Store for Black Friday, generally 50% off or better.  Pretty much all kinds of assets are currently on sale, models, plugins, tools, you name it.  They have also organized several discounted bundles specifically for Black Friday.

Unity Essentials Bundle – 55% Off

Unity World Building Bundle – 55% Off

Unity Ultimate Characters Bundle – 55% Off

Unity Quick Prototyping Bundle – 55% Off


Unreal Engine Marketplace (Store Link)

Unreal Engine aren’t having a Black Friday sale… they are having a “Fall Sale”.  Same thing, different label.  Save up to 90% off on 3,100 items in their online asset store.  The “totally not a Black Friday” sale ends on November 27th.


YoYo Games (Store Link)

YoYoGames are offering 20% off all licenses for all GameMaker products.



Some of the above links contain affiliate codes, meaning if you make a purchase through a link on this site you help GameFromScratch.

GameDev News


20. November 2018


Substance Painter, the popular PBR based texturing application, just received a major update.  The fall update comes with a completely new rendering engine resulting in better performance with lower hardware demands by incorporating Sparse Virtual Textures, which simulate large textures using less memory.  The new engine also supports up to 300 UV Tiles at once enabling support for massive scenes.  There are also several new tools aimed at mobile users including a new 2D viewport exporter with the ability to bake into a single high resolution texture and more.


Complete details on new features from the release notes:

Added:

  • Summary: a huge boost in performance, viewport upgrades, proper 2D view export, new UI helpers, an enhanced symmetry tool and new content
  • [SVT][Engine] Sparse Virtual Textures (SVT)
  • [SVT][Preferences][UI] SVT hardware support acceleration option
  • [SVT][Log] Additional information for Sparse Virtual Texturing feature (e.g. size disk)
  • [SVT][UI] Message window at start if size on disk too low for the cache
  • [SVT][Preferences][UI] Substance Painter global cache location
  • [SVT] New environment variable to specify the path of the cache of Substance Painter
  • [SVT] New environment variable to activate the SVT hardware support acceleration
  • [SVT] Detect sparse support by hardware
  • [SVT][Hardware Sparse] Raise minimum driver version for Nvidia GPU
  • [SVT][Shader][[Viewport][UI] Warn user if artefacts present with Sparse Virtual Texturing at project opening
  • [Anti-aliasing][Viewport] New temporal anti-aliasing filtering for 3D viewport (via Display Settings)
  • [Export] Export the content of the 2D viewport as a single texture
  • [Export][Dithering] Expose dithering at export
  • [Layer stack] Colors on layers and folders
  • [Layer stack] Quick activation and deactivation of multiple layers and effects
  • [Layer stack] Easier navigation for blending modes with up down keys and mouse scroll
  • [Proj][UI] Additional rotation manipulator on all three axis for triplanar
  • [Proj][Shorcuts] - and + to change the UV projection manipulator size
  • [Shader] Control coated layer parameters with channels in the PBR-coated shader
  • [Substance] Expose new mesh-based texture inputs for filters and generators
  • [Symmetry][Viewport][UI] Control symmetry offset with manipulators
  • [Symmetry][Contextual toolbar][UI] New symmetry panel with options
  • [Symmetry] New symmetry line intersection mode
  • [Symmetry] New symmetry clone cursor
  • [Symmetry][Shortcuts] Q to hide and -, + to change size and shift to snap
  • [Log] Improve error messages when unable to export textures
  • [Scripting] Allow to change or update the resources in Display Settings
  • [Scripting] Allow to create or remove channels in Texture Sets
  • [Content][Shaders] Add support for anisotropy with a dedicated shader (pbr-metal-rough-anisotropy-angle)
  • [Content] Update of the preview sphere with anisotropy and modified angle
  • [Content] Updated matFx shutline
  • [Content] New Texturing.XYZ seamless face scan
  • [Content] New anisotropic procedurals
  • [Content] New filter: baked lighting stylized
  • [Content] New environment map: studio automotive neutral
  • [Content] New project template: PBR - metallic roughness Anisotropy angle (with anisotropy channels)
  • [Content] New project template: PBR - metallic roughness Coated

Fixed:

  • [Color Picker] Painting cursor appearing when trying to pick a color
  • Crash by Selecting or Unselecting layers in a specific order can lead to crash
  • Crash when pasting as an instance a layer with a mask
  • [User Channel][Regression] Crash when renaming user channel
  • [User Channel] Grayed brush preview
  • [Alembic] Only one texture set from several materials after import
  • [Engine] Exported texture differs from viewport for brush stamps
  • [Engine] Invert with a level effect does not fully affect a texture
  • [Material picker is applying a brush stroke while picking
  • Switching resolution to 128x128px leads to a crash
  • Mesh map links are not updated properly when rebaking or instancing layers
  • [Substance] UserData ColorSpace does not work on Baked Mesh Normal requested as input
  • MDL association mismatch when using multiple shaders instances
  • [Symmetry][Fill Layer] Symmetry plane and its manipulator active in Fill Layer
  • [Viewport] Pivot point for translation not always updated after clicking
  • [UI] Fixed icons and removal of placeholders for HDPI monitors

Known Issues:

  • Computation freeze on AMD VEGA GPUs
  • Huion tablet issue with shortcuts on Windows OS
  • Anti-aliasing and shadows when active together may give unexpected results

You can learn a great deal more about this release in this blog post.

Art GameDev News


See More Tutorials on DevGa.me!

Month List