Wednesday, February 22, 2017

We're off to see GDC, the Wonderful GDC of San Francisco!

hey all,

I wish I had some uber cool gameplay or demonstration to show everyone, but to be honest, although I have been working on improving that node editor, I have not made significant progress on it. I have written a small Windows Application Form that will construct file folder structure, and generate properly formatted Visual Studio Solution files, which are amazingly dry to read:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{2F7CB239-8DEB-473E-AD4F-54BDA3A573F6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common.Editor", "Common.Editor\Common.Editor.csproj", "{F3429125-342F-4C61-8B06-BCB24B3B2177}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NodeGraph", "NodeGraph\NodeGraph.csproj", "{31EF0942-3ECB-44C7-9909-7803AB3F1965}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NodeGraph.Editor", "NodeGraph.Editor\NodeGraph.Editor.csproj", "{33AC7A55-35B9-4422-AD3D-A90F2C584A4E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2F7CB239-8DEB-473E-AD4F-54BDA3A573F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7CB239-8DEB-473E-AD4F-54BDA3A573F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7CB239-8DEB-473E-AD4F-54BDA3A573F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2F7CB239-8DEB-473E-AD4F-54BDA3A573F6}.Release|Any CPU.Build.0 = Release|Any CPU
{F3429125-342F-4C61-8B06-BCB24B3B2177}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F3429125-342F-4C61-8B06-BCB24B3B2177}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F3429125-342F-4C61-8B06-BCB24B3B2177}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F3429125-342F-4C61-8B06-BCB24B3B2177}.Release|Any CPU.Build.0 = Release|Any CPU
{31EF0942-3ECB-44C7-9909-7803AB3F1965}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{31EF0942-3ECB-44C7-9909-7803AB3F1965}.Debug|Any CPU.Build.0 = Debug|Any CPU
{31EF0942-3ECB-44C7-9909-7803AB3F1965}.Release|Any CPU.ActiveCfg = Release|Any CPU
{31EF0942-3ECB-44C7-9909-7803AB3F1965}.Release|Any CPU.Build.0 = Release|Any CPU
{33AC7A55-35B9-4422-AD3D-A90F2C584A4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{33AC7A55-35B9-4422-AD3D-A90F2C584A4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33AC7A55-35B9-4422-AD3D-A90F2C584A4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33AC7A55-35B9-4422-AD3D-A90F2C584A4E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal



But that does not make for really gripping story or text. So, here it is: on Saturday I leave for the Game Developer's Conference in San Francisco, California. I will be attending under the educational pass, so I get access to all the educational and career seminars and workshops. I've ordered a big stack of business cards (that should be arriving later today) to pass out to all and sundry. In other news, I contacted Teacher Gaming months ago, but never heard back, so I assumed I was getting the cold shoulder. But I actually got an email from them the other day, so it is at least possible that I could polish one of my early games and sell it.

In any case, please do not expect any updates for the next week.

Wednesday, February 15, 2017

Node Editor Demonstration

hey all,
 Here is a brief demonstration of the node editor I've been working on. It is not perfect by any means, but I've learned quite a bit about coding GUI, serialization, and handling connections between nodes, which can get really complicated.


Cheers,

Wednesday, February 8, 2017

Quest System

hey all,
I've been working on putting together a quest system to work with my NPCs and their changing needs and moods. Following a few tutorials on how to set one up, I've decided to create an interface IObjective from which ten different objective classes will inherit.

Using these objectives, I can then create a Quest class that will contain, among other things, a list of objectives.



The quest system will have to be hooked up to the Item and Actor classes, much like it is in the Papyrus scripting used in The Elder Scrolls V: Skyrim. This way, the quests can be updated and notified using events fired off by the items and actors that are part of the quest.

As a ... I actually don't know what to properly call it, but I've been working on a custom node editor for the Unity engine at the same time. The idea is that I can have custom nodes, windows, and graphs,  which could represent conversations, behavior trees, quests, or something else. Much like Skyrim has the Creation Kit editor, after I'm finished coding, Unity will have a custom interface that will allow me or others to quickly create new content, or to design the rules that the game engine will use to generate content on its own. At least, that is the conceit now. Besides, following this tutorial will give me more experience working with GUI, interfaces, events, reflection, and serialization, which will all benefit me in the future.

Wednesday, February 1, 2017

More Steering Behaviors and Let's Play

hey all,
Here's a quick demo video showing my steering behavior at work. They finally seem to be functioning properly, after two weeks of slaving away at them. I actually reverted to using Reynold's version, but I think I'm going to revisit my own Perlin noise version in the future.


I've also started a Let's Play video series of me playing Total War: Warhammer.



Cheers,