Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

9. December 2015

 

Thunderbeast games just released their 4th development digest announcing some pretty major changes to the Atomic Game Engine, including a license change to MIT for the runtime.

 

From the release:

We’ve been focused on improving the Atomic Editor’s content pipeline, workflow, and usability, and are thrilled to announce a new binary is available on the download page!

Let’s take a closer look at some of the exciting updates since the last Development Digest!


New Atomic Editor Binary Available for Download

A new Atomic Editor binary is available on the download page! This version is loaded with new editor features and enhancements, including:

  • New code signed Windows installer for the Atomic Editor
  • Multi-node and component editing with full undo/redo
  • Cubemap generation in the editor
  • Submesh hiding and animation sharing between FBX and Blender files
  • Resizable player preview window that remembers its position, enabling 2 monitor workflow (thanks @rsredsq)
  • Shortcuts for toggling Translate/Rotate/Scale (W/E/R) and between Global/Local transform (X)
  • Hotkey support for common editor tasks: Build, Cut, Copy/Paste, Save, and Play
  • Gizmo translation/rotation/scale snapping (Edit Menu - Snap Settings, hold down Ctrl(Cmd) while dragging gizmo to snap)
  • Frame selection (F key)
  • Orbit selection (F to frame selection, Alt + Left Mouse + Drag to orbit)
  • Navigate the Project and Hierarchy panels using up/down arrow keys (left/right to close and expand nodes)
  • Translate the camera up/down (Q/E keys)
  • Move camera towards mouse position (Alt + Mouse Wheel)
  • New and updated examples available in the editor and on GitHub, including several examples with virtual DPad support and the new 2D Breakout example with touch controls, again thanks to @rsredsq!
  • … bug fixes, and much, much more!!!


Atomic Runtime Now Under the Permissive MIT License!

The Atomic Runtime is now under the permissive MIT license! This gives developers complete control over every line of code in their shipped products and is a reflection of our core philosophy. The full C++ source code is available on GitHub.


Community License (Free!)

We’ve introduced the free Community License which includes the: 2D Module, Windows, Mac, and WebGL deployment, full source code and the choice of one Atomic Pro feature: 3D Module, Android, or iOS. The Community License is available to both individuals and entities. More information is available at The Atomic Store.


WebGL is Now Free for Everyone

WebGL deployment is now free for all Atomic Pro and Community licensees!

We’ve also significantly reduced the initial download size for the Atomic Web Player down to 2.5 megs (2D) and 3.3 megs (3D), compressed. This includes UI, networking, physics, the JavaScript VM, etc. The player caches, so this is only for the initial download of the page.

A big thanks to the Microsoft Edge Dev team for their assistance, the demos now run blazingly fast on the Edge browser!


Lifetime Upgrades for Atomic Pro Licensees Extended

Lifetime Upgrades for all Atomic Pro licensees has been extended, for a limited time. This includes all features, all platforms, and all versions of Atomic Pro, forever, and is available to both Indies and Studios. Learn more at The Atomic Store.


Developer Snapshots Available to All Licensees

Developer snapshots are now available to all Community and Pro licensees. These snapshots come directly from the GitHub repo and provide access to the latest Atomic features, for testing and feedback. Download the latest developer snapshot!


Atomic Community Contributions

Thanks to the Atomic Community for these, and other, awesome contributions!

Type1J - WebSocket and new Web subsystem:https://github.com/AtomicGameEngine/AtomicGameEngine/pull/342

mattbenic - Added the ability to bind static C++ functions to script:https://github.com/AtomicGameEngine/AtomicGameEngine/pull/446

Shaddock Heath - Announced the TypeScript Project Seed:http://atomicgameengine.com/forum/#/discussion/159/ann-typescript-project-seed

Shaddockh is also building a dungeon crawl with 2D lighting, and a dungeon and terrain generator using his blueprint system for Atomic. Check out the Atomic Playground for more cool stuff from shaddockh!

CTrauma - Linux build updates: https://github.com/AtomicGameEngine/AtomicGameEngine/pull/305

rsredsq - Added a high performance Haxe vector math library which was featured in Haxe Roundup #334.

GameDev News

9. December 2015

 

Blend4Web have launched a Christmas/New Year themed contest with a $1000 prize pool.  Full details follow:

Description

We are happy to announce the first Blend4Web contest - a competition in creating interactive scenes for the Web! The theme is: X-Mas and New Year! The days when static images, video and Flash were enough to fully visualize your ideas in Internet are long gone!

The new technology of three-dimensional graphics called WebGL adds a third dimension to the browser, allowing you to implement all your creative ideas. And with Blend4Web, creating this content becomes quick and easy.

Become a pioneer in a new genre! Create a stunning scene that will be experienced by millions of people!

The Prizes

 

First place:
500cash
+
30% off
SDK Pro

Second place:

300cash
+
20% off
SDK Pro

Third place:

200cash
+
10% off
SDK Pro


 

Contest Dates

  • Submit your entry by January 10, 2016;

  • All entries will be processed and the winner determined by January 12, 2016;

  • The winning entries will be published on the official contest page by January 13, 2016.

Contest Rules

  • The scene must correspond to the contest's theme;

  • Each step of the work process must be done by the contestant him/herself. You also can record project's history on the Forum;

  • Models used in a presentation must be unique, made specifically for this contest (no BlendSwap, etc.);

  • The work must be completed and submitted before the deadline;

  • Source files (.blend files, textures etc.) and application code (if any) must be published under CC BY 4.0 license.

Specifications

  • The work must be done using Blend4Web;

  • The result must be presented as HTML or zip archive;

  • The scene polygon limit is 50000 triangles;

  • Textures resolution must be a power of two, maximum 1024 px (for example 1024x1024, 128x512, 512x64). Exceptions are environment cubemaps: they must have an aspect ratio 3:2 and be a power of two vertically (for example, 1536x1024, 768x512);

  • The scene must be optimized - keep the balance between detailization and polygon count, quality and resolution of textures, use the possibility to pack BW textures into RGBA channels, combine several node materials into one using masks, use heavy effects wisely (such as SSAO).

 

Full contest details are available here.

GameDev News ,

8. December 2015

 

Microsoft Imagine just released a trio of coding kits aimed at teaching game programming concepts to kids using Visual Studio and Unity.  The kits include teaching slides as well as complete project files.  The three new kits are:

Check out December’s exciting coding kits:

Binary Break-In

Crack the binary code, teach a safe the binary number system. Create the code for the safe to recognize binary numbers, apply it with bitshifts and then get the gold!

Use C# in Visual Studio with the Unity editor to complete Binary Break-In, a game where a safecracker needs in-depth binary number knowledge to open the safe. Use bitshifts in the code to convert numbers, and then learn to use Unity’s animation state diagram for triggering specific animations on events.

Block Knock

Play with projectiles and physics to clear the table!

Use C# in Visual Studio with the Unity editor to complete Block Knock, a game with the goal of clearing the table of all the blocks while avoiding the cylinders. Code camera controls, projectiles and use collision detection to learn more about physics.

Diamond Miner:

Sow gems and bombs in the soil to create chain reactions and find diamonds. 

Use C# in Visual Studio with the Unity editor to complete Diamond Miner, a game where players must use a limited number of clicks to discover diamonds while avoiding buried bombs. Program mouse click interactivity, create chained explosions, and learn how to randomize the levels for games!

You’ll need Unity and Visual Studio Community 2015, both of which you can get for free. Download these new kits or check out our full selection of coding kits on Microsoft Imagine. We add new kits every month, so come back often.

 

You can read more about the release here.  It’s interesting to see Microsoft move away from Project Spark and toward Unity instead.

GameDev News

8. December 2015

 

Following the recent release of Unreal Engine 4.10, Epic just released a hotfix.  From the announcement:

Fixed! UE-23364 Make sure that Perforce integration works with SSL connections when compiled with VS2015
Fixed! UE-21181 [CrashReport] Object from PIE level still referenced. (via FWorldContext in UEngine::AddReferencedObjects?)
Fixed! UE-23371 [CrashReport] UE4Editor_GraphEditor!FNodeFactory::CreateNodeWidget() nodefactory.cpp:91
Fixed! UE-23372 [CrashReport] Indexing Blueprints for FiB data causes: KERNELBASE!<Unknown>
Fixed! UE-23230 iOS min supported version > 6.1 = Crashing Leaderboard Writes
Fixed! UE-23366 [CrashReport] UE4Editor_Engine!USceneComponent::OnComponentDestroyed() [scenecomponent.cpp:676]
Fixed! UE-23250 PS4Tracker Crash
Fixed! UE-23394 Intermittent crash in CacheOptimizeIndexBuffer on Editor startup on Linux
Fixed! UE-23302 GitHub 1751 : Fix for USceneComponent::AttachTo() crash
Fixed! UE-20336 Hovering over tooltip for Post Process Settings causes CPU Color Scheme Change & Win10 hard-freeze
Fixed! UE-23877 Lots of people running into an Ensure in PathFollowingComponent
Fixed! UE-23232 Metal + iOS projects = Black Screen on iPhone 6s
Fixed! UE-23288 Bug: No text being displayed on iPhone 4s
Fixed! UE-23289 Bug: Crash and to home screen on iPhone 4s
Fixed! UE-23382 Compile for Size Causes Animations to Play Incompletely on iOS
Fixed! UE-23290 Bug: No Force Feedback
Fixed! UE-23664 Unable to push to SteamVR in 4.10 while Oculus 0.8 service is running
Fixed! UE-23150 Refraction does not render correctly on Mosaic devices
Fixed! UE-23611 Android streaming audio repeats at start if start time is 0.0
Fixed! UE-23694 Rework streaming audio fix for hotfix
Fixed! UE-22968 UnrealFrontend Quick Launch to Android Fails While Deploying
Fixed! UE-23655 GitHub 1776 : Fix compile error for Android x86 and x64
Fixed! UE-21858 Visible dithered quantization to remove banding in New Temporal AA Quality
Fixed! UE-23149 Async linetraces can re-call the results delegate repeatedly
Fixed! UE-23362 Gnm: submitDone () is not called for X seconds
Fixed! UE-23415 USB Keyboard not working in shipping builds
Fixed! UE-23426 Changes to World.h and WorldCollision.h need to be removed
Fixed! UE-23662 HRTF Spatialization Broken
Fixed! UE-23812 Packaged games should not send hardware survey telemetry event
Fixed! UE-23688 Modulated shadow blending incorrect with encoded HDR.
Fixed! UE-23762 Setting Runtime Generation to Static Resets Upon Closing and Re-opening Editor
Fixed! UE-23048 UAIPerceptionStimuliSourceComponent never registers with required senses
Fixed! UE-22866 [4.10 P2] UI is offcenter for dropdown menus and tooltips in editor
Fixed! UE-23064 Target build folder does not clear when repackaging
Fixed! UE-23132 Wildcard Array in Macro Causes Error Message to Appear
Fixed! UE-23233 Upgrading Project to a New Engine Version Causes Errors When Attempting to Open Tutorial Blueprints
Fixed! UE-21717 Self Shadow Only causes rendering artifacts
Fixed! UE-22949 Unable to open UE4Editor on Linux - Bad hlslcc header found
Fixed! UE-23746 4.10 is gathering editor-only BP text for game loc gathers
Updated! UE-23365 GitHub 1763 : Update README.md / VS2013 -> VS2015
Updated! UE-23151 UE4 4.10 needs a Localization Update

GameDev News

8. December 2015

 

This tutorial came about as a result of a question on my YouTube channel, although it is one of those things that you are going to need to know before long in 3D game programming, so I have made the answer part of the official Godot Engine tutorial series.  The question was:

I am making a 3d game and I want to use a sort [of] top down style camera.


I want it so that if an object gets between the player and the camera, that same object will become transparent. For that ( I think ) I can use the "Use Alpha" function in the fixed material settings.
So I think I need a raycast shooting rays ( between the player and the camera ) and if it hits something it needs to "find' which object was hit en change the material settings so it becomes transparent.


Now, the problem is that I don't know how to set this up;
-how can I get which object is hit by the ray and how to change the material?
-do I need to create a separate layer for this?

This is one of those things even the most simple 3D game is going to encounter, but the solution isn’t obvious, although the questioner was extremely close in his guess.  You can solve this using Ray casting, it’s probably just the how of it all that is difficult to figure out.

 

As always there is a video version of this tutorial available here.

 

If you have a situation like the above, where you want to determine if something is in the way of your camera, it’s exactly RayCasting that you want.  Let’s take a look at how.

 

Setting Up The Scene

 

First you need your scene to be set up correctly.  This means that each entity in your scene that can be collided with has to be a physics object of some kind.  I created the following scene arrangement:

image

 

As you can see, I have a camera and two Rigid Body objects, each with a CollisionShape (Cube) and a Test Cube child.  Additionally I created a RayCast object as a child of my camera.  Be sure to create the RayCast child before you transform your camera, so it is positioned properly.  For my RayCast I use the following settings:

image

 

My scene ends up looking like this:

image

 

The Code

 

As you can see, the Ray extends from my camera and through both objects in the scene.  In this example we want to see if we hit the first cube (“RigidBody 2”) and if we do, we want to hide it.  Time to look at some code, the following script was attached to the camera:

extends Camera


var ray = null

func _ready():
	ray = get_node("RayCast")
	set_process(true)


func _process(delta):
	if(Input.is_key_pressed(KEY_UP)):
		self.translate(Vector3(0,0.1,0))
	if(Input.is_key_pressed(KEY_DOWN)):
		self.translate(Vector3(0,-0.1,0))
	if(ray.is_enabled() and ray.is_colliding()):
		var collidedWithObject = ray.get_collider()
		if(collidedWithObject.get_name() == "RigidBody 2"):
			collidedWithObject.hide()
	else:
		get_parent().get_node("RigidBody 2").show()

 

… and that’s it.  We check to see that our ray is enabled and if it is currently colliding with something.  If it is, the first collided object is returned by the call get_collider().  In a bit of a hard coded hack, we check the name of that object, and if its our second cube, we hide the entire hierarchy.  In the event that no collision occurs, we make sure that RIgid Body 2 is visible with a call to Show().  You will notice that there is code in there to move the camera on press of the Up and Down arrow keys.  As you will see, as you move the camera, when the ray isn’t colliding, the second cube is shown, otherwise it is, like so:

 

GIF

 

It is also possible to create the ray programmatically using the PhysicsServer, like so:

extends Camera

func _ready():
	set_fixed_process(true)

func _fixed_process(delta):
	if(Input.is_key_pressed(KEY_UP)):
		self.translate(Vector3(0,0.1,0))
	if(Input.is_key_pressed(KEY_DOWN)):
		self.translate(Vector3(0,-0.1,0))

	var directState = PhysicsServer.space_get_direct_state(self.get_world().get_space())
	var collisions = directState.intersect_ray(get_translation(),Vector3(0,0,0))
	
	if(collisions.size() and collisions["collider"].get_name() == "RigidBody 2"):
		collisions["collider"].hide()
	else:
		get_parent().get_node("RigidBody 2").show()

 

Note that _process what changed to _fixed_process().  This is because space_get_direct_state() is only valid during _fixed_process or _integrate_forces() calls.  Otherwise we crate an intersect_ray() between the camera position and the origin, which in turn returns if there is a collision between those two points.  If there is, we hide the collided objects, otherwise we call show().

 

The Video

Programming ,

Month List

Popular Comments

Unity and Intel Optimus: Unity Editor has stopped working fix
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


5. September 2013

 

So I fired up Unity today on my laptop and

 

image

 

Oh dear, this isn’t good.  After some playing around it turns out Unity doesn’t play well with Intel GPUs right now.  Thing is, I don’t have an Intel GPU, I’m running an nVidia GTX765.  Enter Optimus.

 

What’s Optimus?  It’s an Intel technology that allows your computer to pick between using the integrated chipset to save memory or the dedicated GPU for performance.  The fix is pretty simple, set Unity to run on the nVidia GPU.

 

Open the nVidia control panel.

Select Manage 3D Settings

image

 

Select the Program Settings tab and Click the Add button.

image

 

Select Unity then click Add Selected Program

image

 

In the Select the preferred graphics processor for this program dropdown, select High-Performance nVIdia

image

 

Click Apply.

 

Load Unity.  VOILA!  No more crash.

Now, if you happen to have only an Intel GPU, um… sorry.

General ,

blog comments powered by Disqus

Month List

Popular Comments