Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

30. March 2016

 

Visual Studio Update 2 has now been released, bringing a number of new features to the popular developer tool, including:

  • New Universal Windows App tools
  • Improved C++ 11/14/17 support
  • Implemented ever C++ Standard Library vote into 11/14/17 standards
  • iOS XCode project import wizard
  • C# IDE usability improvements
  • Extensions auto update support
  • Many Version Control improvements
  • NuGet improvements
  • TypeScript 1.8
  • New Analytics tools
  • Updated Python and SQL tools
  • much more

Oh, and the single most important thing Visual Studio needed... performance improvements!  VS 2013 was started to get a bit slow, and VS 2015 was a downright dog at times, so hopefully these changes help!

Performance & Responsiveness

We've made the following Visual Studio performance improvements:

  • Increased the speed of opening Team Explorer and browsing work item queries in Visual Studio.
  • Significantly reduced log file generation into the %temp% directory to save disk space and prevent application failures.
  • Improved the reliability of downloading and installing VS Update and additional features.
  • Reduced the time for Visual Studio to start when extensions are installed.
  • Stopped Setup failures when downloading certain packages and selecting certain features.
  • Added support for SQLite in our browsing database engine for C++, thereby significantly speeding up the original parsing of the user code and of all IntelliSense operations that require lookup.
  • Stopped the "yield" sign from appearing next to your sign in name in the upper-right corner of the IDE. Now, your settings and profile roam for 90 days after authenticating within the IDE. (Credentials no longer expire after 7 days of no connection to visualstudio.com.)
  • Updated the ASP.NET MVC5 templates. This fix addresses the vulnerability described in Microsoft Security Advisory 3137909.
  • Enabled a new database engine; now, C++ Project load should be faster and experience fewer UI delays. 
  • Increased the speed of extracting floating-point numbers with iostreams (in other words, "stream >> dbl"). It's now up to 19x faster, and all bits of the extracted value are now correct.
  • Increased the speed of std::vector reallocation and std::copy(); they are up to 9x faster as they call memmove() for trivially copyable types (including user-defined types).
  • Increased the speed of std::vector, which is up to 11x faster.
  • Increased the speed of std::string::replace(), which is enormously faster when replacing same-size substrings.
  • Increased the speed of std::string::push_back(), which is up to 3x faster.
  • Increased the speed of std::sub_match comparisons, as they now avoid constructing temporary std::strings.
  • Increased the speed of std::function's copy constructor; it is slightly faster with a reduced codegen size.
  • Improved the performance in NuGet in the Update, Installed, and Consolidate tabs; the restore and update actions; and the query speed to repositories such as NuGet.org that support gzip compression.
  • Improved the initial completion list invocation in a session, which now responds much faster as the enumeration of snippets has been changed to be an asynchronous operation.
  • Enhanced T4 text templates so that they now support C# 6.0.
  • Made reliability improvements in Code Map (as related to the Windows docking scenarios).

The full release notes are available here.  You can download the update here.

This is only a

GameDev News

30. March 2016

 

Twin announcements today from the MS Build conference that will have a direct affect on indie developers.  The first is that UWP (Universal Windows Platform) applications can now be run on Xbox One.  The second, anyone can turn their Xbox One into a devkit (warning... big big big disclaimer attached!).

 

Partial announcement from the Windows Blog:

Gaming gets better with the Windows 10 Anniversary update, including background music and Cortana coming to Xbox One. Cortana can become your personal gaming assistant and help you find great new games, new challenges or tips and tricks. On Xbox One, we’re continuing to deliver on top fan-requested features like support for multiple GPUs and the ability to turn off v-sync. Game developers have access to a fully open ecosystem with the Universal Windows Platform, making it easy to bring the games people love to both Xbox One and other Windows 10 devices. With the Anniversary Update, any Xbox One can be a developer kit with Xbox Dev Mode, enabling anyone to develop for the living room. And, the Windows Store will offer a unified store experience for all developers, creating new opportunities to reach millions of new customers.

 

Polygon however have a great deal more details, including the gotcha I mentioned above.

While the preview of Dev Mode is available to anyone now, Charla stressed that most people should wait until its full release later this summer.

"You might run into issues now," he said.

The preview only offers access to 448 MB of the Xbox One's 8 GB of RAM. When Dev Mode comes out of preview, Charla said, developers will have access to the full 1 GB of RAM supported for UWP Xbox games.

"It's also a preview," he added. "And we want to be able to test things still in the preview."

[Snip]

First, a user has to download the Dev Mode activation app from the Xbox Games Store. Launching the app kicks off a welcome screen and a link to documentation that details what to expect when you switch over from retail to a dev kit, as well as the requirements.

The requirements include that you:

  • Join the Windows Insider Program
  • Are running Windows 10 on your PC
  • Have a wired connection to your PC from your Xbox One
  • Install the latest Visual Studio 2015 and Windows builds
  • Have at least 30 GB of storage free on your console

The introduction also warns that once you've converted your console over, you may occasionally run into issues running retail games. In addition, the introduction says, leaving Dev Mode will require resetting your console to its factory settings and uninstalling all of your games, apps and content.

Upon agreeing, you're given a code that can be entered on your computer once you sign into your Dev Center account. The activation can take awhile and usually requires updating your console. Once it's complete, the console restarts and returns you to your standard startup screen.

"It doesn't take a lot of time to switch to Dev Mode," Charla said as he took me through the process on Microsoft's remote console.

After setting up Dev Mode, a user simply pairs their Xbox One with Visual Studio, which sees the console as a Windows 10 machine to which it can deploy content directly through a wired connection.

"When a UWP app is running, it doesn't know it's running on an Xbox," Charla said. "It just knows it's a Windows 10 device."

 

So tread carefully!  Be sure to head on over to Polygon to read the full article.  While this has been in the works for 3 years, it’s nice to see that development has finally come to the Xbox One.  Considering Microsoft absolutely owned this segment when they release XNA, I am somewhat staggered it took this long.  Did you try it out?  If so, how much of an impact did it have on your retail games?

GameDev News ,

29. March 2016

 

Welcome to the second Blender how to ( here is the first ), a series of quick step by step tutorials showing you how to accomplish a specific task using Blender.  Today we will look at a way of quickly modeling a high rise building.  It assumes you know the basics of using Blender.  If you don’t, no worries, I have tutorials for that!

 

First, start with the default cube, like so:

image

 

Now enter edit mode(TAB) and  loop cut (CTRL + R) it about the center, like so:

image

 

Select all the faces of the top half and separate them (P->Selection)

image

 

In object mode move the newly separated top portion up along the Z axis (G + Z + mouse)

image

 

Select the bottom box, make a copy (SHIFT + D), then move it up along the Z axis.

image

 

Select the middle piece, switch to edit mode, select the bottom face and delete it (x –> faces), like so:

image

 

This face is going to represent the various floors of your building.  Keep the top and bottom edges the same size as the top/bottom box and start carving it up to match your floor.  I generally start by doing a pair of loop cuts along the entire length, like so:

image

This can be accomplished by doing a loop cut (Ctrl + R), then before clicking to commit, scroll button once to perform multiple evenly spaced cuts at once.  Next I move them up and down the mesh simultaneously by simply scaling along the Z axis (S, Z, mouse move)

Now lets do several more loop cuts for windows using the same process (Ctrl + R, Mouse wheel multiple times):

image

 

Next select every other edge created (alt + shift click to select multiple) like so:

image

 

We now want to edge slide the selected edges (G,G)

image

Now select the inner faces like so:

image

Then hit E to extrude them

image

Repeat the similar process on all 4 sides to define your building.  Obviously you would arrange as you saw fit.

 

Now that we have our floor defined, it’s time to make a lot of them.  Switch to object mode then go to the modifiers tab and select Array:

image

 

Now we need to make sure we set the axis to array along ( set Z to 1 in the relative offset area ) and the number of times to duplicate under the count section.

image

When satisfied, click the Apply button.  Finally move your top and bottom pieces so they cap the building on each end, like so:

image

 

Select all 3 shapes and merge them together (Ctrl + J) like so:

image

Now we just need to weld our objects together.  Box select (B) the overlap area between the bottom and middle boxes in edit mode, like so:

image

Now select Remove Doubles in the Tool menu(T), then manipulate the Merge distance

image

Until you see

image 

Repeat for the top portion.

 

TADA, a building in Blender.  An ugly building mind you, but a building none the less.

image

Art ,

29. March 2016

 

Defold is a game engine that was recently release by King at GDC 2016.  It’s a cool and capable cross platform Lua powered game engine that you can see in action in this video.  One of the big downsides of the engine (and an upside too) is that your code resides on King’s servers.  Behind the scenes they maintain a git repository, but it’s quite understandable that this might not make you feel warm and fuzzy.  Thankfully you have the option of using your own server as described in these instructions.

If you are comfortable at the command line, here are the instructions below:

Command line

Prerequisite: Git - OS X, Windows, Linux

  1. Open your project in the Defold editor.
  2. Right click on the game.project file, select "Show in Finder" (or similar for your platform).
  3. Next, you need to navigate to the project location (from step 2) in a terminal window. Here's how:
    • OS X - Open the project location in Terminal.app, for a detailed guide see this.
    • Windows - Open the project location in Git Bash, for a detailed guide see this1.
  4. Lastly, change the ​origin remote to your own Git URL entering these commands into your terminal:
git remote set-url origin <your_own_git_server_url>
git push -u origin master

 

Easy enough.

 

Note however that you will still need to create your project on the Defold servers, but the code will now reside on your own servers.  This requirement should be removed in version 2.0 according to this forum post.

GameDev News

28. March 2016

 

Tiled, the popular open source 2D map editor, just released version 0.16.0.  If you are interested in learning more about Tiled, we have a complete tutorial series here on GameFromScratch.

The major new features of this release are:

 

Auto Updater and a new installer.

On windows machines, the installer is now MSI based.  Additionally you have option on OS/X and Windows of having Tiled automatically check for updates and present the release notes.  You can also set it to automatically download and install future updates.

tiled1

 

Improved Property Editing

The custom properties have been improved.  First up is the new Objects Type Editor enabling you to predefine a set of properties:

tiled2

One other major ability is the ability to define properties types as well as their name, supporting string, int, float and bool types.

 

Full Change Log

  • Added checking for updates, based on Sparkle and WinSparkle
  • Added default property definitions to object types (with Michael Bickel)
  • Added types to custom properties: string, float, int, boolean (with CaptainFrog)
  • Added Properties view to the Tile Collision Editor (by Seanba)
  • Added a reset button for color properties
  • Added eraser mode to Terrain Brush and fixed some small issues
  • Reuse existing Tiled instance when opening maps from the file manager (with Will Luongo)
  • Allow setting tile probability for multiple tiles (by Henrik Heino)
  • New MSI based installer for Windows
  • Optimized selection of many objects
  • libtiled-java: Fixed loading of maps with CSV layer data that are not square (by Zachary Jia)
  • Fixed potential crash when having Terrain Brush selected and switching maps
  • Updated Dutch, French, German, Japanese, Russian and Spanish translations

You can read more about the release here.

GameDev News ,

Month List

Popular Comments

Paradox Game Engine Tutorial Part Two: Meet Paradox3D Studio
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon


13. August 2015

 

Paradox ships with a full 3D editor named Paradox Studio.  In this tutorial we are going to take a look at what it can do and how it works. 

 

Once again, there is an HD video version of this tutorial available.

 

Paradox Studio Introduction

 

This is Paradox Studio:

image

 

This is where you can import assets, create entities, add components and instantiate them into scenes.  In a nutshell, it’s where you can visually compose the elements of your game.  Using Studio is strictly optional ( as is using Visual Studio ) but it can make your life a great deal simpler.

 

The majority of panels are configurable, can be minimized or re-docked in whatever pattern you prefer:

image

 

I am going to cover each panel one at a time.

 

Scene Graph

image

This is where you compose the entities that make up your game.  All game elements are entities, which in turn are containers for components, that can themselves consume or use assets.  Don’t worry, we will cover this in more detail later.  Just think of it this way… the Scene Graph is the stuff that composes your world, and all the “stuff” in your game is ultimately an Entity.  In the above screen shot, you can see the default scene created when you create a new project, it consists of a Scene that has a Sphere(Mesh), Ground(Mesh), Camera(Camera), Directional Light(Light) and Skybox(Light) entities.

 

If you create multiple scenes (I’ll show you how shortly), they will appear across the top in tab form.

image

 

This is only panel that cannot be minimized or moved, although it can be resized.  I suppose I should point out that the Scenegraph and 3D view are actually the same window, but they serve very different functions, so I will treat them as a separate windows for this tutorial.

 

You can create new entities using the imageicon, which will drop down the following menu:

image

 

Remember, an Entity is simply a container for Components, all of which have a default component called Transform, that allows them to be positioned in the world.  This means you can create the equivalent of a Point light entity by creating an Empty entity and adding a Light component to it.  We will see the component options later on.  When you create a new entity, it will be created (and automatically selected) in the 3D view:

image

 

Clicking the small magnifying glass beside the entity will automatically focus the 3D view on that entity, zooming in on it.

 

One last important concept to understand is parenting.  If you create a new entity with an entity selected, the new entity will be parented to the selected entity, like so:

Scenegraph_CreateNew

 

The newly created light will now inherit transforms applied to it’s parent, but can also be transformed independently.  The inheritance only goes down the genealogy, not up.

Scenegraph_Parent

 

Solution Explorer

 

image

The ultimate file format for a Paradox project is actually an sln file, in other words, a Visual Studio Solution file.  On top of that, Paradox provides a format for bundling codes and assets together, the package ( pdxpkg file extension ).  The Solution Explorer is where you manage the contents and dependencies of your project.

 

You can create sub folders to better organize your assets:

image

 

Even create entire new packages:

image

 

You can also create new assets directly from the Solution explorer:

image

 

Asset View

 

image

 

The asset view shows you the assets in the currently selected folder from the Solution View.  You can select an Asset (to edit it’s properties in the Property Grid, which we will cover shortly) by left clicking it. 

You can create new assets, or import existing ones, using these two toolbar buttons:

image

You can also import an asset using drag and drop from Windows Explorer:

AssetImport

 

You can also drag and drop Assets to the 3D view to create new Entities.  Here for example is dragging and dropping a 3D model asset.

AssetDragToInstantiate3DView

 

Asset Preview / History / References

These three panels are all actually separate, but by default appear together and are pretty straight forward, so I will cover them as a single entity.  Much of the functionality in these panels requires you to select an asset in the asset view.

Action History

image

Simply a stack of actions you’ve performed.  You can undo/redo using the typical CTRL+Z | CTRL+Y hotkey.  In all honesty, not sure why you would use this panel.  It’s display only, you cant change anything.

 

Asset Preview

image

A handy quick preview of how an asset would look.  The above screenshot is with a material asset selected, you can then pick a geometric shape to apply your material to.  For 3D models, it instead loads a simple model viewer.  Can be controlled via the mouse, scroll wheel zoom, right button pans and left button orbits the camera.

 

References

image

There are two modes of operation for this panel, References and Referencers.  It’s a great way to see what assets/entities use an asset, and in turn, what assets an asset depends on.  The above example is the Referencers tab with the default Sphere material selected, you can see that the Sphere Procedural Model uses this asset.

 

Property Grid

image

 

This is probably the most important panel in Paradox Studio.  The contents are entirely dynamic, depending on what you have selected in the editor.  The above example shows the properties with a Material asset select.  As you can see, numerous material properties can be configured here.  The settings vary from asset type to asset type.  Below for example shows a Model asset selected:

image

 

This nicely illustrates the relationship between assets.  Remember earlier when I selected the Sphere Material and it showed the Procedural Model as a Referencer?  Well this is where that reference was set.  You can see that the material attached is a Sphere Material ( the example I showed earlier in the Property Grid ).  You can easily select these relationships by clicking the Hand icon:

image

 

This will in turn bring up the Asset Picker dialog, and show compatible assets:

image

 

As you can see, you can access the entire solution, in case your asset exists in a different folder or package entirely.

 

The Property Grid functionality changes completely however if you have an Entity from the Scenegraph selected instead of an Asset, like so:

image

 

This is where you can both configure existing, or add new components to your entity.  As I said earlier, Entities are simply containers for components.  The above example is a camera, which you can see is composed of a Transform component and a Camera component.

You can also add new components to an entity using the Add Component button.

image

 

I will cover the entire process in more detail later, including how to do this all using code instead.

 

3D View

image

Finally we have the 3D view ( which technically is the same panel as the Scene graph as mentioned earlier ).  This is a 3D representation of your game world.  As we saw earlier, we can create new instances of an asset by dragging and dropping.  You can also easily select and transform assets in your scene.  If you are comfortable with a 3D application like Max or Maya this concept should be immediately comfortable to you.

 

You can move, rotate and scale using the toolbar across the top. 

image

Or using the following hot keys:

  • Q – Select
  • W – Translate/Move
  • E – Rotate
  • R – Scale

When you select an object, a 3d manipulator widget is displayed, like this one for rotating:

image

Each color corresponds with a particular axis, so the blue circle rotates around the Z axis, green around the Y and red around the X.  You can also use the grey ball in the middle to transform along all 3 axis at the same time.

You can also use these control bar buttons:

image

To configure which coordinates the manipulator should work on, world space, local space, or camera.

 

Misc

image

Across the top of the application is the above toolbar.  The icon on the far left opens the project in Visual Studio.  The grayed out button syncs changes between the two.  The next button enables you to compile your code, Visual Studio is not required.  The play icon enables you to run your game and it will run for the platform selected in the drop down to the right.  The final button enables live scripting, something we will talk about later.

 

image

Using the View menu you can toggle the visibility of every single panel we just discussed.

 

image

Pressing Ctrl + Shift + D or Help Menu->Show Debug Window, brings up the above invaluable tool.  It contains the various logs and handy debugging details as your game runs.  If something goes wrong, this is the first place you should go for details.

 

The Video

 

Programming , , ,

blog comments powered by Disqus

Month List

Popular Comments