Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

23. November 2017


For the past several years on Black Friday I have tracked the best deals of interest to game developers (artists, programmers, musicians and designers) from around the web.  This year of course is no exception!  The following are the deals I could find that would be on interest in the world of game development.  If you find something I haven’t listed, be sure to mention it in the comments below!

This list will be updated as I find more deals so be sure to check back often.


Amazon


Steam


Unity


Unreal Engine

    • Cyber Monday For Sale – Stay tuned

Misc

3D Coat

Adobe

Allegorithmic

  • Sale starting at 3PM EST 11/23

APress

Autodesk

CGTrader

Daz3D

Dell

HackingWithSwift

Microsoft Store

Packt

PluralSight

Quixel

Smith Micro

TurboSquid

Udemy

General ,

27. September 2017


Aseprite, a pixel based drawing and animation app, just released version 1.2.  New features include pixel aspect ratios, gradients, reference layers and more.  There were also several bug fixes and improvements.


From the release blog post:


Aseprite v1.2 is finally the new stable version (*). If you were already using the beta version, you will not notice substantial changes. But if you were using Aseprite v1.1.13, there are a lot of new features for you (like pixel aspect ratio, layer groups, overlapping frame tags, gradients, reference layers, etc.)

This is a list of the changes from v1.2-beta12 to the final v1.2:

  • Added new Addition, Subtract, Divide blending modes
  • Added support to change theme and UI scaling without restarting (#471)
  • Disable transformation handles in the selection when a Shift or Shift+Alt are pressed by default (reported here)
  • Fixed high CPU usage on Timeline when we copy layers/frames/cels (bug report)
  • Fixed snap to grid bug with selection tool
  • Fixed crash closing all files & opening a new one when preview window was playing an animation
  • Windows: New x64 version (included in the installer and on Steam, it’ll install the x64 version on x64 machines)
  • Windows: New --disable-wintab option to avoid loading wintab32.dll
  • Removed Windows XP support (Please contact us in case that you still need a previous version with Windows XP support.)
  • macOS: Use the native macOS menu bar (#135)
  • macOS: Now ⌘M and ⌘H will Minimize and Hide the window respectively. Use Ctrl+M for Color Curves, and Ctrl+H to change View > Show Extras options.
  • macOS: Fixed bug setting broken mouse cursors in some special cases
  • macOS: Retina support (#903)
  • Fixed other bugs (including #1569, and #1423 thanks to @cebolan)

Several new features were delayed just to create a more stable v1.2 version. So sorry for everybody that don’t get what they asked for :’( Soon I’ll release the first v1.3-beta1 with some crazy new stuff, so stay tuned.


We took a look at Aseprite in action in this video should you wish to learn more.

GameDev News, Art ,

26. September 2017


Do you find that 8/16-bit games aren’t retro enough?  Yearning for an even earlier art start?  Well then, do I have the perfect software for you!  RexPaint, an ANSI painting package.  So, how exactly does it work?  Well just like any other paint package frankly, except instead of drawing with pixels or voxels, you using ASCII characters.  RexPaint supports many of the features you would expect from a modern art package, multiple drawing tools, palette tools, layer support etc.  The end result can then be exported as a PNG or in several text formats.


To see RexPaint in action, be sure to watch the video below.  Oh, and it’s completely free.

Art ,

19. September 2017


Perhaps the biggest complaint about Blender is the user experience and this argument has some merit.  Once you learn Blender it starts to become somewhat zen to use, but getting there is a painful process.  3+ key hotkeys are rampant to do some of the most common tasks and a few of the design decisions, such as right click selection are just simply bad.  Granted many of these options can be configured away but that again requires a fairly advanced amount of understanding and by that point many new users have already been turned off.


You would think, being an open source project and all, someone would have forked it and made a more accessible version by now?  Well… someone has!  Meet BForArtists (as in Be For Artists), a Blender fork focused on making the user interface more intuitive.  How did they do that? 


Well first is an over all face lift.  Better contrasted theme really does make it easier to distinguish different features and functions.

image

You no doubt also noticed the prevelence of icons throughout the interface:

image


This cuts down on the amount of scrolling and is useful for people who learn by exploring.  They have also configured toolbars for common tasks:

image


And perhaps nicest of all, have camera pre-set controls available as icons instead of just hotkeys:

image


On the topic of hotkeys, they have also reconfigured most of them.  One nice option available is the ability to display the most common hotkeys in the background of the window:

image


Other new options are the ability to lock and outright hide the 3D cursor… a point of confusion for many new users.  You also have extended control over wireframe display, very useful for modellers.

image


Menus have also been greatly streamline:

image


While default layouts for common tasks have been added:

image


They even have their own manual!  What’s impressive is, at least so far, they’ve kept up with each new release of Blender.  There are of course downsides to learning via BForArtists, a great deal of the tutorials for Blender wont work without translation.  Additionally once mastered, Blenders default user interface can be great.  In my opinion though, BForArtists is a vastly superior experience for new developers and one I recommend to those put off by Blenders user experience in the past.


BForArtists is free and open source available for download here and in source form here.


Art , ,

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 , , ,

Month List

Popular Comments