Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
23. February 2019


It’s simply amazing the amount of free software available these days for game developers, and SculptGL is no exception.  It is a 3D sculpting application similar to ZBrush, Sculptris or Mudbox, but it runs entirely inside your browser (or locally via Electron if you prefer).  Features from SculptGL include:

  • Sculpting tools
    • Standard tools : Brush, Inflate, Smooth, Twist, Drag, etc
    • PBR Vertex Painting (color, roughness, metalness)
    • Alpha texture support for each tools
  • Multiresolution sculpting
    • Quad-tri Subdivison (catmull-clark/loop)
    • Reversion (compute opposite of subdvision if possible)
    • Navigating from low/high poly level subdiv will retain sculpting changes
    • keep UVs (both reversion and subdivison)
  • Voxel remeshing
    • Uses SurfaceNets meshing algorithm (produces quad-only mesh)
    • Uniform remeshing (quads will have the same size)
    • Can also create non-manifold vertex :(
    • In case of a non closed mesh, a naive holefilling algorithm is performed first
    • Deletes UV
  • Dynamic topology
    • Triangles only
    • Operates in real time
    • Local subdivision (create new triangles)
    • Local decimation (deletes triangles)
    • Deletes UV
  • Supports OBJ, PLY, STL import/export
    • Reads vertex color
    • Optimizes post and pre transform cache (tipsy algorithm)
  • Undo/Redo support

It is an open source MIT licensed project with the source available on Github.  Check out SculptGL in action in the video below.

GameDev News Art


11. February 2019


Last year we took our first look at VRoid Studio, a 3D anime style character creator that had recently been translated to English.  It works very similarly to Daz3D, Poser and MakeHuman, but is entirely dedicated to creating characters in the anime style.  Using a simple set of sliders, you can quickly customize a character to your liking, much like defining your character in a video game.  However you can also go much deeper, with integrated texture editing tools, hair creation tools, multiple animations and much more. 

Previously however, VRoid had one major limitation… it could only produce female characters.  This has now changed and male characters can be created as well, with their own set of gender specific animations defined.  In the video below we go hands-on with the updated and more capable VRoid Studio.

You can download VRoid Studio here.  The page is Japanese, so look for the following buttons and pick the appropriate operating system:

image

The download is a 0.5GB zip file, simply extract and run the executable within.

Art


8. January 2019


Back in June of 2018, Microsoft acquired GitHub for an eye watering 7.5 Billion dollars.  This transaction took several months to make it through regulatory approval, with Microsoft finally taking control near the end of 2018.  Yesterday, we saw the first official impact of the ownership change and for end users, it’s a pretty good change.  The free tier of GitHub now offers unlimited private code repos!  This was arguably the biggest reason for many small developers to actually pay for a premium account, so for these developers, they can downgrade to free and save their money.  Now the major limitation between Free and Pro accounts is the number of collaborators in a private repo, with the free tier have a limit of 3, while the pro tier has no such limit.

Details of the new changes from the Github blog:

  • GitHub Free now includes unlimited private repositories. For the first time, developers can use GitHub for their private projects with up to three collaborators per repository for free. Many developers want to use private repos to apply for a job, work on a side project, or try something out in private before releasing it publicly. Starting today, those scenarios, and many more, are possible on GitHub at no cost. Public repositories are still free (of course—no changes there) and include unlimited collaborators.

  • GitHub Enterprise is the new unified product for Enterprise Cloud (formerly GitHub Business Cloud) and Enterprise Server (formerly GitHub Enterprise). Organizations that want the flexibility to use GitHub in a cloud or self-hosted configuration can now access both at one per-seat price. And with GitHub Connect, these products can be securely linked, providing a hybrid option so developers can work seamlessly across both environments.

Pricing for individuals now breaks down as follows:

image

Not a bad first move…

GameDev News


20. August 2018


Tiled, the open source and free 2D map editor, just released version 1.1.6.  This release is primarily around maintenance and bug fixing.  If you are interested in learning how to use Tiled, be sure to check out our tutorial series.

Details of the release from the forum:

  • Fixed Terrain Brush issue on staggered isometric maps (#1951)
  • Fixed objects to stay selected when moving them between layers
  • Fixed small tab bar rendering issue on high DPI displays
  • Fixed rendering of arrows on scroll bar buttons
  • Fixed object labels to adjust properly to the font DPI
  • Fixed resize handle locations for multiple zero-sized objects
  • Fixed handling of arrow keys on focused layer combo box (#1973)
  • Tile Collision Editor: Fixed handling of tile offset (#1955)
  • Tile Collision Editor: Fixed potential crash on Undo (#1965)
  • Python plugin: Added some missing API to the Cell class
  • Windows and Linux: Downgraded builds to Qt 5.9 (fixes #1928)
  • macOS: Fixed library loading issues for tmxrasterizer and terraingenerator
  • macOS: Downgraded to Qt 5.6 (fixes resizing of undocked views and reduces minimum macOS version to 10.7)
  • Updates to German, Hungarian, Norwegian Bokmål, Polish, Portuguese (Portugal), Russian and Ukrainian translations

In addition to the fixes listed about, the forum post also discusses the future of Tiled 1.2:

I’m currently spending most of my time finalizing Tiled 1.2. Recent improvements have included highlighting of the hovered object and showing an object placement preview on hover. A few more improvements remain to be done as well as polishing the multi-layer and world features. In the meantime, don’t hesitate to install the development snapshot and give feedback!

Many thanks to all who submitted bug reports, as well as to those who support me financially so that I can keep up Tiled development and maintenance!

GameDev News


6. December 2016

 

A couple years ago I did a detailed text tutorial on how to use a debugger which oddly is a massively important skill that simply isn’t taught.  Given that this article is still popular two years later I’ve decided to follow it up with a video version.  This video, Debugging 101, walks through the basic tasks involved in debugging.  It used Visual Studio 2017 and C++ but should be applicable in most languages and IDEs.  The video shows how breakpoints and conditional break points work, how to step into, over and out of your code, how to use the local and watch window, call stacks, how to do memory debugging and more.  Basically the video shows you how to get started using a debugger.

 

The following is the code used in this example.  There is nothing special to this code, it’s extremely contrived, but it enabled me to show the various features available in most debuggers.

#include <iostream>

// These two functions are used to illustrate how the call stack works
// As well as how step into and step out of behave.
int innerFunction(int input) {
	int meaninglessCounter = 0;
	for (int i = input; i > 0; i--) {
		// First show stepping through the loop
		// Set a conditional breakpoint that breaks when i is a certain value.
		meaninglessCounter++;
	}
	return input;
}

int outerFunction() {
	int i = 42;
	return innerFunction(i);
}


class Demo {
	std::string stringValue;
	int intValue;
	bool booleanValue;

	public: 
		Demo(std::string a, int b, bool c) : stringValue(a), intValue(b), booleanValue(
		c) {};
};

int main(int argc, char ** argv) {
	// Callstack demo, jump into, jump over example
	int someVal = 0;
	someVal = outerFunction();

	// Data example -- simply create a char buffer, fill it with 'a' then null 
	terminate it so 
	// it can be treated like a string.
	char * data = new char[1000];
	for (int i = 0; i < 1000; i++)
		data[i] = 'a';
	data[999] = 0;
	std::cout << data << std::endl;

	//set a watch on d.  Demonstrates watches and drilling into complex object
	Demo d("Hello", 42, true);
	
	std::cout << "End of demo" << std::endl;
	delete[] data;
	// delete[] data;  Calling delete again will trigger an exception
}

Programming


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List