Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon

Tech News - Game Development

93 Articles
article-image-valves-steam-play-beta-uses-proton-a-modified-wine-allowing-linux-gamers-to-play-windows-games
Bhagyashree R
25 Aug 2018
2 min read
Save for later

Valve’s Steam Play Beta uses Proton, a modified WINE, allowing Linux gamers to play Windows games

Bhagyashree R
25 Aug 2018
2 min read
To provide compatibility with a wide range of Windows-only games to all Linux users, a Beta version of the new and improved Steam Play is now available. It uses Proton, a modified distribution of Wine, to allow games which are exclusive to Windows to run on Linux and macOS operating systems. Proton is an open source tool, allowing advanced users to alter the code to make their own local builds. The included improvements to Wine have been designed and funded by Valve, in a joint development effort with CodeWeavers. In order to identify games that currently work great in this compatibility environment and solve the issues, if any, they are testing the entire Steam catalog. The list of games that they are enabling with this Beta release include: Beat Saber, Bejeweled 2 Deluxe, Doki Doki Literature Club!, DOOM, Fallout Shelter, FATE, FINAL FANTASY VI, and many more. Using Steam Play the gamers can purchase the games once and play anywhere. Whether you have purchased your Steam Play enabled game on a Mac, Windows, or Linux, you will be able to play on the other platform free of charge. What are the improvements introduced? You can now install and run Windows games with no Linux version currently available, directly from the Linux Steam client, complete with native Steamworks and OpenVR support. Improved game compatibility and reduced performance impact is facilitated by DirectX 11 and 12 whose implementations are now based on Vulkan. The support for fullscreen games is improved allowing them to seamlessly stretch to the desired display without interfering with the native monitor resolution or requiring the use of a virtual desktop. The support for game controller is improved enabling games to automatically recognize all controllers supported by Steam. Improved performance for multi-threaded games as compared to vanilla Wine. They have mentioned that there could be a performance difference for games where graphics API translation is required, but there is no fundamental reason for a Vulkan title to run any slower. You can find out more about the Stream Play Beta, the full list of supported games, and how Proton works in the Steam post. Facebook launched new multiplayer AR games in Messenger Meet yuzu – an experimental emulator for the Nintendo Switch What’s got game developers excited about Unity 2018.2?
Read more
  • 0
  • 0
  • 4915

article-image-minecraft-is-serious-about-global-warming-adds-a-new-spigot-plugin
Sugandha Lahoti
23 Aug 2018
3 min read
Save for later

Minecraft is serious about global warming, adds a new (spigot) plugin to allow changes in climate mechanics

Sugandha Lahoti
23 Aug 2018
3 min read
Minecraft Server Java Edition has added a new (spigot) plugin which changes climate mechanics in the game. This plugin adds the concept of greenhouse gases (CO2) in the game world's atmosphere. According to a recent report, only 45 percent of Americans think that global warming will pose a serious threat in their lifetime, and just 43 percent say they worry about climate change. These figures are alarming because serious damages due to Global Warming are imminent. As such, games and other forms of entertainment services are a good approach to change these ideologies and make people aware of how serious the threat of Global warming is. Minecraft’s approach could not only spread awareness but also has the potential to develop personal accountability and healthy personal habits. What does the Minecraft plugin do? The Furnaces within the game emit CO2 when players smelt items. Every furnace burn causes a Contribution to emissions with an associated numerical value. The trees are designed to instantly absorb CO2 when they grow from a sapling. Every tree growth causes a Reduction from emissions with an associated numerical value. As CO2 levels rise, the global temperature of the game environment will also rise because of the Greenhouse Effect. The global temperature is a function of the net global carbon score. As the global temperature rises, the frequency and severity of negative climate damages increases. Players need to design a default model that doesn't quickly destroy worlds. Players are best off when they cooperate and agree to reduce their emissions. What are its features? Scoreboard and Economy Integration Carbon Scorecard, where each player can see their latest carbon footprint trends via command line. Custom Models, with configurable thresholds, probabilities, and distributions. Load data on startup, queue DB changes to be done asynchronously and at intervals, and empty queue on shutdown. How was the response? The new Minecraft plugin received mixed reviews. Some considered it a great idea for teaching in schools. “Global warming is such an abstract problem and if you can tie it to individual's behaviors inside a (small) simulated world, it can be a very powerful teaching tool.” Others were not as happy. People feel that Minecraft lacks the basic principle of conservation of matter and energy, which is where you start with ecology. As a hacker news user pointed out, “I wish there was a game which would get the physical foundations right so that the ecology could be put on as a topping. What I imagine is something like a Civilization, where each map cell would be like 1 km2 and you could define what industries would be in that cell (perhaps even design the content of each cell). Each cell would contain a little piece of civilization and/or nature. These cells would then exchange different materials with each other, according to conservation laws.” While there will always be room for improvement, we think Minecraft is setting the tone for what could become a movement within the gaming community to bring critical abstract ideas to players in a non-threatening and thought-provoking way. The gaming industry has always lead technological innovations that then further cascade to other industries. We are excited to see this new real-world dimension becoming a focus area for Minecraft. You can read more about the Minecraft Plugin on its Github repo. Building a portable Minecraft server for LAN parties in the park Minecraft: The Programmer’s Sandbox Minecraft Modding Experiences and Starter Advice
Read more
  • 0
  • 0
  • 6845

article-image-unity-switches-to-webassembly-as-the-output-format-for-the-unity-webgl-build-target
Sugandha Lahoti
16 Aug 2018
2 min read
Save for later

Unity switches to WebAssembly as the output format for the Unity WebGL build target

Sugandha Lahoti
16 Aug 2018
2 min read
With the launch of Unity 2018.2 release last month, Unity is finally making the switch to WebAssembly as their output format for the Unity WebGL build target. WebAssembly support was first teased in Unity 5.6 as an experimental feature. Unity 2018.1 marked the removal of the experimental label. And finally in 2018.2, Web Assembly replaces asm.js as the default linker target. Source: Unity Blog WebAssembly replaced asm.js because it is faster, smaller and more memory-efficient, which are all pain points of the Unity WebGL export. A WebAssembly file is a binary file (which is a more compact way to deliver code), as opposed to asm.js, which is text. In addition, code modules that have already been compiled can be stored into an IndexedDB cache, resulting in a really fast startup when reloading the same content. In WebAssembly, the code size for an empty project is ~12% smaller or ~18% if 3D physics is included. Source: Unity Blog WebAssembly also has its own instruction set. In Development builds, it adds more precise error-detection in arithmetic operations. In non-development builds, this kind of detection of arithmetic errors is masked, so the user experience is not affected. Asm.js added a restriction on the size of the Unity Heap; its size had to be specified at build-time and could never change. WebAssembly enables the Unity Heap size to grow at runtime, which lets Unity content memory-usage exceed the initial heap size. Unity is now working on multi-threading support, which will initially be released as an experimental feature and will be limited to internal native threads (no C# threads yet). Debugging hasn’t got any better. While browsers have begun to provide WebAssembly debugging in their devtools suites, these debuggers do not yet scale well to Unity3D sizes of content. What’s next to come Unity is still working on new features and optimizations to improve startup times and performance: Asynchronous instantiation Structured cloning, which allows compiled WebAssembly to be cached in the browser Baseline and tiered compilation, to speed-up instantiation Streaming instantiation to compile Assembly code while downloading it Multi-Threading You can read the full details on the Unity Blog. Unity 2018.2: Unity release for this year second time in a row! GitHub for Unity 1.0 is here with Git LFS and file locking support What you should know about Unity 2018 Interface
Read more
  • 0
  • 0
  • 12232
Banner background image

article-image-xenko-3-0-game-engine-is-here-now-free-and-open-source
Prasad Ramesh
06 Aug 2018
2 min read
Save for later

Xenko 3.0 game engine is here, now free and open-source

Prasad Ramesh
06 Aug 2018
2 min read
Xenko, a game engine owned by Silicon Studios has officially released its third version on August 2. The major change in Xenko 3.0 is the transition to being open-source. It also comes with changes made to the project system and added support for videos as well as hair, and skin rendering. Open-source and support Although Xenko won’t be supported officially anymore by Silicon Studios, the members of the Xenko development team will continue contributing to it. Virgile Bello, Lead Developer at Xenko Game Engine stated that he will personally work on it fulltime for the next couple of months in the official blog. The new version is released under the MIT License on Github. It is well received by the open source community. The Xenko repository has already gained almost 700 stars and a couple of issues showing active involvement. Changes in the Xenko 3.0 game engine Other than the open-source transition, there are a few other changes in the engine itself. Xenko 3.0 has made the switch to the new C# project system, which makes your game csproj as simple as a PackageReference to Xenko. This makes package management more convenient. It is now also possible to add video to your games with the latest release. This feature is not completely tested on all platforms so you may run into issues while implementing it. Hair and skin rendering support are also added, but like videos, this feature may need some improvements and tuning. The package names have also been changed since the move to open-source. The SiliconStudio.Xenko package is now Xenko. Also the SiliconStudio.Core and SiliconStudio.* packages are now Xenko.Core. Your earlier projects should automatically be updated but a backup before the upgrade is recommended. Virgile has set up a Patreon page if you’d like to support the project financially. The release notes state that the future plan is to split Xenko further into separate packages such as Xenko.Graphics, Xenko.Physics and Xenko.Editor. These are only the major changes. For the complete changelog and other minor updates in Xenko 3.0, you can see the Release Notes. Think Silicon open sources GLOVE: An OpenGL ES over Vulkan middleware Working with shaders in C++ to create 3D games Unity assets to create interactive 2D games [Tutorial]
Read more
  • 0
  • 1
  • 5252

article-image-think-silicon-open-sources-glove-an-opengl-es-over-vulkan-middleware
Savia Lobo
03 Aug 2018
2 min read
Save for later

Think Silicon open sources GLOVE: An OpenGL ES over Vulkan middleware

Savia Lobo
03 Aug 2018
2 min read
Think Silicon, a firm that delivers ultra-low power graphics IP technology recently open sourced  GLOVE (GL Over Vulkan). GLOVE, a middleware allows Android, Linux, and Windows OS developers to seamlessly run OpenGL ES on supported hardware by translating OpenGL ES API calls to Vulkan API commands at runtime. Why GLOVE (GL Over Vulkan)? OpenGL and OpenGL ES are the most widely used standards for the development of graphics-based applications. Increased complexity of driver's implementation based on OpenGL and OpenGL ES led to the introduction of Vulkan (a lower-level API that transfers much of the driver's functionality to the application-side). However, in most situations, a direct transition to Vulkan requires additional efforts by the developers and vendors. This means they are forced to maintain driver support for both Vulkan and OpenGL. With the introduction of GLOVE, developers can seamlessly transition their software between both Vulkan and OpenGL APIs. Following this, vendors are able to discard duplicate OpenGL ES drivers and rely solely on a lighter implementation of the Vulkan API. Additional features of GLOVE GLOVE allows running OpenGL ES calls not only on Android and Linux systems but also on Windows operating systems, which was not possible before. It also offers the possibility to run legacy applications and games on top of Vulkan at a glance. This saves a lot of effort and provides backward compatibility. It allows you to quickly explore Vulkan driver capabilities and performance by using existing OpenGL ES code. Its modular design can be easily extended to encompass implementations of other client APIs as well. Dimitris Georgakakis, Team Lead, Graphics Software Stack, Think Silico said, "We are excited to release GLOVE™ as Open Source Project to the graphics developer community and we will continue our efforts to support more platforms and features to ensure GLOVE™ can be useful in a lot of use cases.” Read more about GLOVE (GL Over Vulkan) on ThinkSilicon release notes. Implementing Unity 2017 Game Audio [Tutorial] Unity assets to create interactive 2D games [Tutorial]
Read more
  • 0
  • 0
  • 4917

article-image-unreal-engine-4-20-released-with-focus-on-mobile-and-immersive-ar-vr-mr-devices
Sugandha Lahoti
20 Jul 2018
4 min read
Save for later

Unreal Engine 4.20 released with focus on mobile and immersive (AR/VR/MR) devices

Sugandha Lahoti
20 Jul 2018
4 min read
Following the release of Unreal Engine 4.19 this April, Epic games have launched the Unreal Engine 4.20. This major update focuses on enhancing scalability and creativity, helping developers create more realistic characters, and immersive environments, for games, film, TV, and VR/AR devices. Multiple optimizations for Mobile Game development Epic games brought over 100 optimizations created for Fortnite on iOS and Android, for Unreal Engine 4.20. Hardware Occlusion Queries are now supported for high-end mobile devices on iOS and Android that support ES 3.1 or Vulkan using the GPU. Developers can also iterate and debug on Android without having to repackage the UE4 project. Game developers now have unlimited Landscape Material layers on mobile devices. Mixed Reality Capture Unreal Engine 4.20 provides a new Mixed Reality Capture functionality, which makes it easy to composite real players into a virtual space for mixed reality applications. It has three components: video input, calibration, and in-game compositing. You can use supported webcams and HDMI capture devices to pull real-world green-screened video into the Unreal Engine from a variety of sources.  The setup and calibration are done through a standalone calibration tool that can be reused across Unreal Engine 4 titles. Niagara Visual effects editor The Niagara visual effects Editor is available as an early access plugin. While the Niagara editor builds on the same particle manipulation methods of Cascade (UE4’s previous VFX), unlike Cascade, Niagara is fully Modular. UE 4.20 adds multiple improvements to Niagara Effect Design and Creation. All of Niagara’s Modules have been updated to support commonly used behaviors in building effects for games. New UI features have also been added for the Niagara stack that mimic the options developers have with UProperties in C++. Niagara now has support for GPU Simulation when used on DX11, PS4, Xbox One, OpenGL (ES3.1), and Metal platforms. Niagara CPU Simulation now works on PC, PS4, Xbox One, OpenGL (ES3.1) and Metal. Niagara was showcased at the GDC 2018 and you can see the presentation Programmable VFX with Unreal Engine’s Niagara for a complete overview. Cinematic Depth of Field Unreal Engine 4.20 also adds Cinematic Depth of Field, where developers can achieve cinema quality camera effects in real-time. Cinematic DoF, provides cleaner depth of field effect providing a cinematic appearance with the use of a procedural Bokeh simulation. It also features dynamic resolution stability, supports alpha channel, and includes settings to scale it down for console projects. For additional information, you can see the Depth of Field documentation. Proxy LOD improvements The Proxy LOD tool is now production-ready. This tool improves performance by reducing rendering cost due to poly count, draw calls, and material complexity. It  results in significant gains when developing for mobile and console platforms. The production-ready version of the Proxy LOD tool has several enhancements over the Experimental version found in UE4.19. Improved Normal Control: The use may now supply the hard-edge cutoff angle and the method used in computing the vertex normal. Gap Filling: The Proxy system automatically discards any inaccessible structures. Gap Filling results in fewer total triangles and a better use of the limited texture resource. Magic Leap One Early Access Support With Unreal Engine 4.20, game developers can now build for Magic Leap One. Unreal Engine 4 support for Magic Leap One uses built-in UE4 frameworks such as camera control, world meshing, motion controllers, and forward and deferred rendering. For developers with access to hardware, Unreal Engine 4.20 can deploy and run on the device in addition to supporting Zero Iteration workflows through Play In Editor. Read more The hype behind Magic Leap’s New Augmented Reality Headsets Magic Leap’s first AR headset, powered by Nvidia Tegra X2, is coming this Summer Apple ARKit 2.0 and Google ARCore 1.2 Support Unreal Engine 4.20 adds support for Apple’s ARKit 2.0, for better tracking quality, support for vertical plane detection, face tracking, 2D and 3D image detection, and persistent and shared AR experiences. It also adds support for Google’s ARCore 1.2, including vertical plane detection, Augmented Images, and Cloud Anchor to build collaborative AR experiences. These are just a select few updates to the Unreal Engine. The full list of release notes is available on the Unreal Engine blog. What’s new in Unreal Engine 4.19? Game Engine Wars: Unity vs Unreal Engine
Read more
  • 0
  • 1
  • 6983
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-meet-yuzu-an-experimental-emulator-for-the-nintendo-switch
Sugandha Lahoti
17 Jul 2018
3 min read
Save for later

Meet yuzu – an experimental emulator for the Nintendo Switch

Sugandha Lahoti
17 Jul 2018
3 min read
The makers of Citra, an emulator for the Nintendo 3DS, have released a new emulator called yuzu. This emulator is made for the Nintendo Switch, which is the 7th major video game console from Nintendo. The journey so far for yuzu Yuzu was initiated as an experimental setup by Citra’s lead developer bunnei after he saw that there were signs of the Switch’s operating system being based on the 3DS’s operating system. yuzu has the same core code as Citra and much of the same OS High-Level Emulation (HLE). The core emulation and memory management of yuzu are based on Citra, albeit modified to work with 64-bit addresses. It also has a loader for the Switch games and Unicorn integration for CPU emulation. Yuzu uses Reverse Engineering process to figure out how games work, and how the Switch GPU works. Switch’s GPU is more advanced than 3DS’ used in Citra and poses multiple challenges to reverse engineer it. However, the RE process of yuzu is essentially the same as Citra. Most of their RE and other development is being done in a trial-and-error manner. OS emulation The Switch’s OS is based Nintendo 3DS’s OS. So the developers used a large part of Citra’s OS HLE code for yuzu OS. The loader and file system service was reused from Citra and modified to support Switch game dump files. The Kernel OS threading, scheduling, and synchronization fixes for yuzu were also ported from Citra’s OS implementation. The save data functionality, which allowed games to read and write files to the save data directory was also taken from 3DS. Switchbrew helped them create libnx, a userland library to write homebrew apps for the Nintendo Switch. (Homebrew is a popular term used for applications that are created and executed on a video game console by hackers, programmers, developers, and consumers.) The Switch IPC (Inter-process communication) process is much more robust and complicated than the 3DS’s. Their system has different command modes, a typical IPC request response, and a Domain to efficiently conduct multiple service calls. Yuzu uses the Nvidia services to configure the video driver to get the graphics output. However, Nintendo re-purposed the Android graphics stack and used it in the Switch for rendering. And so yuzu developers had to implement this even to get homebrew applications to display graphics. The Next Steps Being at a nascent stage, yuzu still has a long way to go. The developers still have to add HID (user input support) such as support for all 9 controllers, rumble, LEDs, layouts etc. Currently, the Audio HLE is in progress, but they still have to implement audio playback. Audio playback, if implemented properly, would be a major breakthrough as most complicated games often hang or go into a deadlock because of this issue. They are also working on resolving minor fixes to help them boot further in games like Super Mario Odyssey, 1-2-Switch, and The Binding of Issac. Be sure to read the entire progress report on the yuzu blog. AI for game developers: 7 ways AI can take your game to the next level AI for Unity game developers: How to emulate real-world senses in your NPC agent behavior Unity 2018.2: Unity release for this year 2nd time in a row!
Read more
  • 0
  • 0
  • 9435

article-image-game-developers-excited-about-unity-2018-2
Amarabha Banerjee
26 Jun 2018
3 min read
Save for later

What’s got game developers excited about Unity 2018.2?

Amarabha Banerjee
26 Jun 2018
3 min read
The undisputed leader of game engines over the last few years has been Unity. It brings .NET professionals and enthusiasts from across the globe under the gaming umbrella with its C# game scripting feature . Unity also boasts of a very active community and an even busier release schedule. Unity has been following a semantic versioning. Under this scheme, version numbers and the way they change convey meaning about the underlying code and what has been modified from one version to the next.  Unity have just released their 2018.2 beta version. Here are some exciting features you can look forward to while working in Unity 2018.2. Texture Mipmap streaming feature: If you are a game developer then saving GPU memory is probably one of your top priorities. Unity 2018.2 gives you control over which graphical map or mipmap you will load in the CPU. The previous versions used to load all the mipmaps at the same time and hence put a huge amount of load on the GPU. While this memory allocation helps in reducing GPU load, it does increase a little bit of CPU load. Improved Package manager: Unity 2018.2 comes with an improved package manager. The improvements are in the UI font, and the status of package label. It also now has the ability to dock the window and provides easy access to both documentation and the list of changes. Improvements in the Particle system: Unity 2018.2 beta comes with an improved particle system and new scripting APIs for baking the geometry of a Particle System into a Mesh. Unity now allows up to eight texture coordinates to be used on meshes and passed to shaders. Particle Systems will also now convert their colors into linear space, when appropriate, before uploading them to the GPU. Camera Improvements: Unity has come up with some major improvements in their camera and and the way it functions and renders the objects in the game to portray them like real life objects. Animation Jobs C# API: Unity 2018.2 has improved the AnimationPlayables by allowing users to write their own C# Playables that can interact directly with the animation data. This allows integration of user made IK solvers, procedural animation or even custom mixers into the current animation system. These features along with some other improvements and bug fixes are sure to help the developers create better and smarter games with the latest Unity 2018.2. To know more on the Unity 2018.2 features, you can visit the official Unity blog. How to use arrays, lists, and dictionaries in Unity for 3D game development Build an ARCore app with Unity from scratch Implementing lighting & camera effects in Unity 2018
Read more
  • 0
  • 0
  • 3907

article-image-unite-berlin-2018-keynote-unity-partners-with-google-launches-ml-agents-toolkit-0-4-project-mars-and-more
Sugandha Lahoti
20 Jun 2018
5 min read
Save for later

Unite Berlin 2018 Keynote: Unity partners with Google, launches Ml-Agents ToolKit 0.4, Project MARS and more

Sugandha Lahoti
20 Jun 2018
5 min read
Unite Berlin 2018, the Unity annual developer conference, kicked off on June 19’ 2018. This three-day extravaganza will take you through a thrilling ride filled with new announcements, sessions, and workshops from the amazing creators of Unity. It’s a place to develop, network, and participate with artists, developers, filmmakers, researchers, storytellers and other creators. Day 1 was inaugurated with the promising Keynote, presented by John Riccitiello, CEO of Unity Technologies. It featured previews of upcoming unity technology, most prominently Unity’s alliance with Google Cloud to help developers build connected games. Let’s take a look at what was showcased. Connected Games with Unity and Google Cloud Unity and Google Cloud have collaborated for helping developers create real-time multiplayer games. They are building a suite of managed services and tools to help developers, test, and run connected experiences while offloading the hard work of quickly scaling game servers to Google Cloud. Games can be easily scaled to meet the needs of the players. Game developers can harness the massive power of Google cloud without having to be a cloud expert. Here’s what Google Cloud with Unity has in store: Game-Server Hosting: Streamlined resources to develop and scale hosted multiplayer games. Sample FPS: A production-quality sample project of a real-time multiplayer game. New ECS Networking Layer: Fast, flexible networking code that delivers performant multiplayer by default. Unity ML-Agents Toolkit v0.4 A new version of Unity ML-Agents Toolkit was also announced at Unite Berlin. The v0.4 toolkit hosts multiple updates as requested by the Unity community. Game developers now have the option to train environments directly from the Unity editor, rather than as built executables. Developers can simply launch the learn.py script, and then press the “play” button from within the editor to perform training. They have also launched a set of two new challenging environments, Walker and Pyramids. Walker is physics-based humanoid ragdoll and Pyramids is a complex sparse-reward environment. There are also algorithmic improvements in reinforcement learning. Agents are now trained to learn to solve tasks that were previously learned with great difficulty. Unity is also partnering with Udacity to launch Deep Reinforcement Learning Nanodegree to help students and professionals gain a deeper understanding of reinforcement learning. Augmented Reality with Project MARS Unity has also announced their Project MARS, a Mixed and Augmented Reality studio, that will be provided as a Unity extension. This studio will require almost little-to-no custom coding and will allow game developers to build AR and MR applications that intelligently interact with any real-world environment, with little-to-no custom coding. Unite Berlin - AR Keynote Reel MARS will include abstract layers for object recognition, location, and map data. It will have sample templates with simulated rooms, for testing against different environments, inside the editor.  AR-specific gizmos will be provided to easily define spatial conditions like plane size, elevation, and proximity without requiring code or precise measurements. It will also have elements such as face masks, to avatars, to entire rooms of digital art. Project MARS will be coming to Unity as an experimental package later this year. Unity has also unveiled a Facial AR Remote Component. Powered by Augmented Reality, this component can perform and capture animated characters, allowing filmmakers and CGI developers to shoot CG content with body movement, just like you would with live action. Kinematica - Machine Learning powered Animation system Unity also showcased their AI research by announcing Kinematica, an all-new ML-powered animation system. Kinematica overpowers traditional animation systems which generally require animators to explicitly define transitions. Kinematica does not have any superimposed structure, like graphs or blend trees. It generates smooth transitions and movements by applying machine learning to any data source. Game developers and animators no longer need to manually map out animation graphs. Unite Berlin 2018 - Kinematica Demo Kinematica decides in real time how to combine data clips from a single library into a sequence that matches the controller input, the environment content, and the gameplay requests. As with Project MARS, Kinematica will also be available later this year as an experimental package. New Prefab workflows The entire Prefab systems have been revamped with multiple improvements. This improved Prefab workflow is now available as a preview build. New additions include Prefab Mode, prefab variance, and nested prefabs. Prefab Mode allows faster, efficient, and safer editing of Prefabs in an isolated mode, without adding them to the actual scene. Developers can now edit the model prefabs, and the changes are propagated to all prefab variants. With Nested prefabs, teams can work on different parts of the prefab and then come together for the final asset. Predictive Personalized Placements Personalized placements bring the best of both worlds for players and the commercial business. With this new feature, game developers can create tailor-made game experiences for each player. This feature runs on an engine which is powered by predictive analytics. This prediction engine determines what to show to each player based on what will drive the highest engagement and lifetime value. This includes ad, an IAP promotion, a notification of a new feature, or a cross-promotion. And the algorithm will only get better with time. These were only a select few of the announcements presented in Unity Berlin Keynote. You can watch the full video on YouTube. Details on other sessions, seminars, and activities are available on the Unite website. GitHub for Unity 1.0 is here with Git LFS and file locking support Unity announces a new automotive division and two-day Unity AutoTech Summit Put your game face on! Unity 2018.1 is now available
Read more
  • 0
  • 0
  • 5373

article-image-github-for-unity-1-0-is-here-with-git-lfs-and-file-locking-support
Sugandha Lahoti
19 Jun 2018
3 min read
Save for later

GitHub for Unity 1.0 is here with Git LFS and file locking support

Sugandha Lahoti
19 Jun 2018
3 min read
GitHub for Unity is now available in version 1. GitHub for Unity 1.0 is a free and open source Unity editor extension that brings Git into Unity 5.6, 2017.x, and 2018.x. GitHub for Unity was announced as an alpha version in March 2017.  The beta version was released earlier this year. Now the full release GitHub for Unity 1.0 is available just in time for Unite Berlin 2018, scheduled to happen on June 19-21. GitHub for Unity 1.0 allows you to stay in sync with your team as you can now collaborate with other developers, pull down recent changes, and lock files to avoid troublesome merge conflicts. It also introduces two key features for game developers and their teams for managing large assets and critical scene files using Git, with the same ease of managing code files. Updates to Git LFS GitHub for Unity 1.0 has improved Git and Git LFS support for Mac. Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git. Previously, the package included full portable installations of the Git and Git LFS. Now, these are downloaded when needed, reducing the package size to 1.6MB. Critical Git and Git LFS updates and patches are distributed faster and in a more flexible way now. File locking File locking management is now a top-level view within the GitHub window. With this new feature developers can now lock or unlock multiple files. Other features include: Diffing support to visualize changes to files. The diffing program can be customized (set in the “Unity Preferences” area) directly from the “Changes” view in the GitHub window. No hassles of command line, as developers can now view project history, experiment in branches, craft a commit from their changes and push their code to GitHub without leaving Unity. A Git action bar for essential operations. Game developers will now get a notification within Unity whenever a new version is available. They can choose to download or skip the current update. Easy email sign in. Developers can sign in to their GitHub account with their GitHub username or the email address associated with their account. GitHub for Unity 1.0 is available for download at unity.github.com and from the Unity Asset Store. Lead developer at Unity, Andreia Gaita will conduct a GitHub for Unity talk on June 19 at Unite Berlin to explain how to incorporate Git into your game development workflow. Put your game face on! Unity 2018.1 is now available Unity announces a new automotive division and two-day Unity AutoTech Summit AI for Unity game developers: How to emulate real-world senses in your NPC agent behavior
Read more
  • 0
  • 0
  • 6542
article-image-cryengine-5-5-preview-3-is-here
Natasha Mathur
25 May 2018
3 min read
Save for later

CRYENGINE 5.5 preview 3 goes live!

Natasha Mathur
25 May 2018
3 min read
After 400+ improvements, the latest CRYENGINE 5.5 preview 3 is live. Typically, CRYENGINE follows three preview cycles before the stable release. The latest, preview 3, is packed with code interface changes, improvements to animations and graphics, changes to the AI and core system along with other additional fixes. The developer team at CRYENGINE has worked hard on the previews released earlier to ensure improved efficiency for the fellow game developers across the globe. The feedback provided by the CRYENGINE community played a pivotal role in this process. Here’s a quick rundown of all the new major features and updates in CRYENGINE 5.5 preview 3: Code Interface changes Following are the changes made to the code interface: The new CryGamePlatform plugin (wrapping Steam and PSN APIs) replaces CryLobby. The r_WindowType has replaced the r_Fullscreen and  r_FullscreenWindow CVars. The Windows key has been enabled in the engine by default. You have to use g_disableWinKeys=1 to return to prior behavior. The IID function is no longer needed by the Entity Components. The ICryPlugin interface has been renamed to IEnginePlugin and moved to the Cry namespace. There is no need for the plugins to implement the GetName and GetCategory functions. This is because the default implementations have been added. CryAction, which is a game framework is currently being removed. Its vital parts will move onto the other parts of the engine. Get the full information at the CRYENGINE code interface changes documentation. Animation and Graphics improvements Animation Attachments such as a pistol, shotgun etc, were wrongly attached in cases where compute skinning is used. This is also resolved. Race-condition crash in PoseAlignerChain when using ground alignment IK has been fixed. Graphics A new Profile section has been added which helps detect GetOrCreateInputLayout's shader reflection request. A new annotating HLSL shader is added in Vulkan that includes resource layout descriptors. HLSLcc local shader compilation is another newly added feature in Vulkan. Transformation/rotation issues for objects with sub-objects have been fixed. New screen fill stats are added. Now there are Enhanced grouping capabilities in new ActivateRandom feature. This supports all possibilities of old SecondGen features. AI system and Core/System changes AI system Islands connectivity, a brand new feature added, takes navigation annotations into account. Registering smart object as an off-mesh link that doesn’t work after creating a new level has also been fixed. Core New CryAPIExamples module is introduced to compile Doxygen snippets. Simple IEntityAudioComponent examples have been added. Plugin load from disk if shared libraries are unsupported has been disabled. This helps fix the PS4 startup issue. Preview drawing is added to the Physic Constraint Components. Apart from these changes and improvements, there have also been additional fixes. CVar is added to draw full extent of last cached shadow cascade, an unused ColorGrading technique is removed that was giving compiler errors, etc. You can access the 5.5.0 Preview 3 Release through the CRYENGINE launcher and GitHub. These are just a few selected updates to the CRYENGINE 5.5 preview 3. The full list of over 400+ changes, updates, and other known issues is available on the CRYENGINE release notes documentation. What’s new in Unreal Engine 4.19? Put your game face on! Unity 2018.1 is now available Working with Unity Variables to script powerful Unity 2017 games  
Read more
  • 0
  • 0
  • 2666

article-image-unity-announces-a-new-automotive-division-and-two-day-unity-autotech-summit
Sugandha Lahoti
18 May 2018
3 min read
Save for later

Unity announces a new automotive division and two-day Unity AutoTech Summit

Sugandha Lahoti
18 May 2018
3 min read
Unity technologies have made a startling announcement of plunging into the automotive and transportation industry.  With their newly formed automotive division, they plan to pass on their rendering technology to auto creators. They plan to show off this technology at their very first Unity AutoTech Summit at Unite Berlin, scheduled to happen during June 19-21 this year. As John Riccitiello, Chief Executive Officer, Unity Technologies, describes it “The real-time revolution in automotive is here. Over the past 15 years, we’ve made great strides leading the game development industry – now, we’re bringing our real-time rendering technology to a new group of creators, equipping automakers with the tools that will allow them to iterate at the speed of thought.” Unity Automotive Division This automotive division will bring real-time 3D, VR, and AR technologies to the world’s automotive original equipment manufacturers (OEMs) and suppliers through the Unity engine. The division is led by of experts from key automobile companies like Volkswagen, Renault, GM, Delphi, and Denso. Unity has already been working alongside the world’s top OEMs. Including Audi (VR design review), Volkswagen (interactive VR training for 10,000 employees), Cadillac (Virtual Showroom) and Mercedes-Benz (AMG Powerwall). Unity AutoTech Summit The Unity AutoTech summit that will grace Unite Berlin, is a one of a kind, two-day gathering of sessions, tech demos, and networking dedicated to the automotive industry. Featured sessions will include: Bringing the Lexus LC500 to Life Through the Magic of Unity by David Telfer, (Lexus), Joe DeMiero, and Carl Seibert from Lexus. How to Drive VR/AR Use Cases for Enterprises Using the Example of Volkswagen by Torben Volkwein from Volkswagen. Creating Powerful Mixed Reality Applications Across Auto by Jason Yim from Trigger Global for Nissan. Next Level Rendering Quality for Automotive by Arisa Scott  from Unity Unity Training Workshops Taster: Introduction to Automotive Design Visualization by Anuja Dharkar from Unity. Unity in Automotive - The Road Ahead by Tim McDonough and Ed Martin from Unity. Unity for Enterprise Unity and PiXYZ have also partnered to launch the enterprise-level Unity Industry Bundle. This bundle consists of PiXYZ products, training, and Unity Pro. It streamlines the data preparation and import of CAD data for creating real-time experiences in Unity. It provides services like design and engineering, AR/VR training, and the creation of high-impact customer experiences for both datacenters to individuals. Visit the Unity Automotive and Transportation website for the list of Unity’s entire solutions. Put your game face on! Unity 2018.1 is now available Unity plugins for augmented reality application development Unity 2D & 3D game kits simplify Unity game development for beginners
Read more
  • 0
  • 0
  • 4402

article-image-steamvr-introduces-new-controllers-for-game-developers-the-steamvr-input-system
Sugandha Lahoti
16 May 2018
2 min read
Save for later

SteamVR introduces new controllers for game developers, the SteamVR Input system

Sugandha Lahoti
16 May 2018
2 min read
SteamVR announced new controllers adding accessibility features to the Virtual reality ecosystem. The SteamVR input system, lets you build controller bindings for any game, “even for controllers that didn’t exist when the game was written”, says Valve’s Joe Ludwig in a Steam forum post. What this essentially means is that any past, present or future game can hypothetically add support for any SteamVR compatible controller. Source: Steam community Supported controllers include the XBox One gamepad, Vive Tracker, Oculus Touch, and motion controllers for HTC Vive and Windows Mixed Reality VR headsets. The key-binding system of the SteamVR input system allows users to build binding configurations. Users can adapt the controls of games to take into account user behavior such as left-handedness, a disability, or personal preference. These configurations can also be shared easily with other users of the same game via the Steam Workshop. For developers, the new SteamVR input system means easier adaptation of games to diverse controllers. Developers entirely control the default bindings for each controller type. They can also offer alternate control schemes directly without the need to change the games themselves. SteamVR Input works with every SteamVR application; it doesn’t require developers to update their app to support it. Hardware designers are also free to try more types of input, apart from Vive Tracker, Oculus Touch etc. They can expose whatever input controls exist on their device and then describe that device to the system. Most importantly, the entire mechanism is captured in an easy to use UI that is available in-headset under the Settings menu. Source: Steam community For now, SteamVR Input is in beta. Details for developers are available on the OpenVR SDK 1.0.15 page. You can also see the documentation to enable native support in your applications. Hardware developers can read the driver API documentation to see how they can enable this new system for their devices. Google open sources Seurat to bring high precision graphics to Mobile VR Oculus Go, the first stand-alone VR headset arrives! Google Daydream powered Lenovo Mirage solo hits the market
Read more
  • 0
  • 0
  • 7182
article-image-put-your-game-face-on-unity-2018-1-is-now-available
Sugandha Lahoti
07 May 2018
4 min read
Save for later

Put your game face on! Unity 2018.1 is now available

Sugandha Lahoti
07 May 2018
4 min read
Unity Technologies has announced the release of their latest platform update Unity 2018.1 giving artists, developers and game engineers the power to express their talents and collaborate more efficiently to build games. Unity 2018.1 also marks the start of a new release cycle. Since 2017, Unity has adopted a new release plan where they come up with a new version every quarter and Unity 2018.1 marks the first version of the 2018 series. According to Brett Bibby, VP of Engineering, Unity Technologies, “With Unity 2018.1 we are introducing one of the largest upgrades in the history of our company, and it’s centered around two major concepts - next-level rendering and performance by default,” This release features two new upgrades: the Scriptable Render Pipelines and the Entity Component System. Together they make it easier for creators to make richer experiences utilizing modern hardware to deliver beautiful graphics. Next-level rendering with Scriptable Render Pipeline (SRP) Scriptable Render Pipeline (SRP) is available in the preview of Unity 2018.1. With SRP, developers and technical artists can now work directly with hardware and GPUs without having to go through millions of lines of C++ engine code. SRP makes it easy to customize the rendering pipeline via C# code and material shaders.   Unity 2018.1 also introduces two render pipelines. The High-Definition Render Pipeline (HD RP) is for developers with AAA aspirations. The Lightweight Render Pipeline (LW RP) is for those looking for a combination of graphics and speed. It optimizes the battery life for mobile devices and other similar platforms. Performance by default with the C# Job System &  Entity Component System (ECS) The C# Job system enables developers to write very fast, parallelized code in C# to take full advantage of multicore processors. It also provides protection from the pitfalls of multi-threading, such as race conditions and deadlocks. The runtime system is now combined with a new programming model, the Entity Component System. This new runtime system enables developers to use multicore processors without worrying about the programming. They can use this power to add more effects and complexity to games or add AI to make their creations richer and more immersive. It uses a data-oriented design instead of an object-oriented approach which makes it easier to reuse the code and easier for others to understand and work on it as well. Level design and shaders Unity 2018.1 reduces the time and effort required by artists, designers, and developers by allowing them to create levels, cinematic content, and gameplay sequences without coding. For this, new tools like ProBuilder/Polybrush and the new visual Shader Graph offer intuitive ways to design levels and create shaders without programming skills. ProBuilder is a unique hybrid of 3D-modeling and level-design tools optimized for building simple geometry, but capable of detailed editing and UV unwrapping as needed. With Polybrush developers can blend textures and colors, sculpt meshes and scatter objects directly in the Unity editor. Shader Graph can build shaders visually using a designer tool — without writing a single line of code. They offer easy drag-and-drop usability to create and connect nodes in a graph network. Unity Package Manager UI Unity 2018.1 builds on the package manager introduced in Unity 2017.2. It has a newly released Package Manager User Interface, the Hub, and Project Templates, to help start new projects faster and more efficiently. The Unity Package Manager UI  improves the following aspects of the project management workflow: Quick access to newly released features Get the latest fixes, instantly Access to Preview features Easily share lightweight projects Unity 2018.1 offers support for over 25+ platforms. This includes Magic Leap One, Oculus Go, ARCore 1.1, Android ARM64, Daydream Standalone and more. You can refer to the release notes for the full list of new features, improvements, and fixes. Unity will be showcasing all their latest innovations during Unite Berlin scheduled on June 19 - 21, 2018. Unity plugins for augmented reality application development Game Engine Wars: Unity vs Unreal Engine Unity releases ML-Agents v0.3: Imitation Learning, Memory-Enhanced Agents and more  
Read more
  • 0
  • 0
  • 3835

article-image-how-to-create-non-player-characters-npc-with-unity-2018
Amarabha Banerjee
26 Apr 2018
10 min read
Save for later

How to create non-player Characters (NPC) with Unity 2018

Amarabha Banerjee
26 Apr 2018
10 min read
Today, we will learn to create game characters while focusing mainly on non-player characters. Our Cucumber Beetles will serve as our game's non-player characters and will be the Cucumber Man's enemies. We will incorporate Cucumber Beetles in our game through direct placement. We will review the beetles' 11 animations and make changes to the non-player character's animation controller. In addition, we will write scripts to control the non-player characters. We will also add cucumber patches, cucumbers, and cherries to our game world. Understanding the non-player characters Non-player characters commonly referred to as NPCs, are simply game characters that are not controlled by a human player. These characters are controlled through scripts, and their behaviors are usually responsive to in-game conditions. Our game's non-player characters are the Cucumber Beetles. These beetles, as depicted in the following screenshot, have six legs that they can walk on; under special circumstances, they can also walk on their hind legs: Cucumber Beetles are real insects and are a threat to cucumbers. They cannot really walk on their hind legs, but they can in our game. Importing the non-player characters into our game You are now ready to import the asset package for our game's non-player character, the Cucumber Beetle. Go through the following steps to import the package: Download the Cucumber_Beetle.unitypackage file from the publisher's companion website In Unity, with your game project open, select Assets | Import Package | Custom Package from the top menu Navigate to the location of the asset package you downloaded in step 1 and click the Open button When presented with the Import Asset Package dialog window, click the Import button As you will notice, the Cucumber_Beetle asset package contains several assets related to the Cucumber Beetles, including a controller, scripts, a prefab, animations, and other assets: Now that the Cucumber_Beetle asset package has been imported into our game project, we should save our project. Use the File | Save Project menu option. Next, let's review what was imported. In the Project panel, under Assets | Prefabs, you will see a new Beetle.Prefab. Also in the Project panel, under Assets, you will see a Beetle folder. It is important that you understand what each component in the folder is for. Please refer to the following screenshot for an overview of the assets that you will be using in this chapter in regards to the Cucumber Beetle: The other assets in the previous screenshot that were not called out include a readme.txt file, the texture and materials for the Cucumber Beetle, and the source files. We will review the Cucumber Beetle's animations in the next section. Animating our non-player characters Several Cucumber Beetle animations have been prepared for use in our game. Here is a list of the animation names as they appear in our project, along with brief descriptions of how we will incorporate the animation into our game. The animations are listed in alphabetical order by name: Animation Name Usage Details Attack_Ground The beetle attacks the Cucumber Man's feet from the ground Attack_Standing The beetle attacks the Cucumber Man from a standing position Die_Ground The beetle dies from the starting position of on the ground Die_Standing The beetle dies from the starting position of standing on its hind legs Eat_Ground The beetle eats cucumbers while on the ground Idle_Ground The beetle is not eating, walking, fighting, or standing Idle_Standing The beetle is standing, but not walking, running, or attacking Run_Standing The beetle runs on its hind legs Stand The beetle goes from an on-the-ground position to standing (it stands up) Walk_Ground The beetle walks using its six legs Walk_Standing The beetle walks on its hind legs You can preview these animations by clicking on an animation file, such as Eat_Ground.fbx, in the Project panel. Then, in the Inspector panel, click the play button to watch the animation. There are 11 animations for our Cucumber Beetle, and we will use scripting, later to determine when an animation is played. In the next section, we will add the Cucumber Beetle to our game. Incorporating the non-player characters into our game First, let's simply drag the Beetle.Prefab from the Assets/Prefab folder in the Project panel to our game in Scene view. Place the beetle somewhere in front of the Cucumber Man so that the beetle can be seen as soon as you put the game into game mode. A suggested placement is illustrated in the following screenshot: When you put the game into game mode, you will notice that the beetle cycles through its animations. If you double-click the Beetle.controller in the Assets | Beetle folder in the Project panel, you will see, as shown in the following screenshot, that we currently have several animations set to play successively and repeatedly: This initial setup is intended to give you a first, quick way of previewing the various animations. In the next section, we will modify the animation controller. Working with the Animation Controller We will use an Animation Controller to organize our NPCs' animations. The Animation Controller will also be used to manage the transitions between animations. Before we start making changes to our Animation Controller, we need to identify what states our beetle has and then determine what transitions each state can have in relation to other states. Here are the states that the beetle can have, each tied to an animation: Idle on Ground Walking on Ground Eating on Ground Attacking on Ground Die on Ground Stand Standing Idle Standing Walk Standing Run Standing Attack Die Standing With the preceding list of states, we can assign the following transitions: From Idle on Ground to: Walking on Ground Running on Ground Eating on Ground Attacking on Ground Stand From Stand to: Standing Idle Standing Walk Standing Run Standing Attack Reviewing the transitions from Idle on Ground to Stand demonstrates the type of state-to-state transition decisions you need to make for your game. Let's turn our attention back to the Animation Controller window. You will notice that there are two tabs in the left panel of that window: Layers and Parameters. The Layers tab shows a Base Layer. While we can create additional layers, we do not need to do this for our game. The Parameters tab is empty, and that is fine. We will make our changes using the Layout area of the Animation Controller window. That is the area with the grid background. Let's start by making the following changes. For all 11 New State buttons, do the following: Left-click the state button Look in the Inspector panel to determine which animation is associated with the state button Rename the state name in the Inspector panel to reflect the animation. Click the return button Double-check the state button to ensure your change was made When you have completed the preceding five steps for all 11 states, your Animation Controller window should match the following screenshot: If you were to put the game into game mode, you would see that nothing has changed. We only changed the state names so they made more sense to us. So, we have some more work to do with the Animation Controller. Currently, the Attacking on Ground state is the default. That is not what we want. It makes more sense to have the Idle on Ground state to be our default. To make that change, right-click the Idle on Ground state and select Set as Layer Default State: Next, we need to make a series of changes to the state transitions. There are a lot of states and there will be a lot of transitions. In order to make things easier, we will start by deleting all the default transitions. To accomplish this, left-click each white line with an arrow and press your keyboard's Delete key. Do not delete the orange line that goes from Entry to Idle on Ground. After all transitions have been deleted, you can drag your states around so you have more working room. You might temporarily reorganize them in a manner similar to what is shown in the following screenshot: Our next task is to create all of our state transitions. Follow these steps for each state transition you want to add: Right-click the originating state. Select Create Transition. Click on the destination state. Once you have made all your transitions, you can reorganize your states to declutter the Animation Controller's layout area. A suggested final organization is provided in the following screenshot: As you can see in our final arrangement, we have 11 states and over two dozen transitions. You will also note that the Die on Ground and Die Standing states do not have any transitions. In order for us to use these animations in our game, they must be placed into an Animation Controller. Let's run a quick experiment: Select the Beetle character in the Hierarchy panel. In the Inspector panel, click the Add Component button. Select Physics | Box Collider. Click the Edit Collider button. Modify the size and position of the box collider so that it encases the entire beetle body. Click the Edit Collider button again to get out of edit mode. Your box collider should look similar to what is depicted in the following screenshot: Next, let's create a script that invokes the Die on Ground animation when the Cucumber Man character collides with the beetle. This will simulate the Cucumber Man stepping on the beetle. Follow these steps: Select the Beetle character in the Hierarchy panel. In the Inspector panel, click the Add Component button. Select New Script. Name the script BeetleNPC. Click the Create and Add button. In the project view, select Favorites | All Scripts | BeetleNPC. Double-click the BeetleNPC script file. Edit the script so that it matches the following code block: using System.Collections; using System.Collections.Generic; using UnityEngine; public class BeetleNPC : MonoBehaviour { Animator animator; // Use this for initialization void Start () { animator = GetComponent<Animator>(); } // Collision Detection Test void OnCollisionEnter(Collision col) { if (col.gameObject.CompareTag("Player")) { animator.Play("Die on Ground"); } } } This code detects a collision between the Cucumber Man and the beetle. If a collision is detected, the Die on Ground animation is played.  As you can see in the following screenshot, the Cucumber Man defeated the Cucumber Beetle: This short test demonstrated two important things that will help us further develop this game: Earlier in this section, you renamed all the states in the Animation Controller window. The names you gave the states are the ones you will reference in code. Since the animation we used did not have any transitions to other states, the Cucumber Beetle will remain in the final position of the animation unless we script it otherwise. So, if we had 100 beetles and defeated them all, all 100 would remain on their backs in the game world. This was a simple and successful scripting test for our Cucumber Beetle. We will need to write several more scripts to manage the beetles in our game. First, there are some game world modifications we will make. To summarize, we discussed how to create interesting character animations and bring them to life using the Unity 2018 platform. You read an extract from the book Getting Started with Unity 2018 written by Dr. Edward Lavieri. This book gives you a practical understanding of how to get started with Unity 2018. Read More Unity 2D & 3D game kits simplify Unity game development for beginners Build a Virtual Reality Solar System in Unity for Google Cardboard Unity plugins for augmented reality application development    
Read more
  • 0
  • 0
  • 21969