GPU Notes

Building Wolf.Engine

Wolf Engine.

Wolf.Engine

Welcome to the first tutorial of Wolf Engine. To help you navigate the various ways you can use Wolf Engine, I have assembled a collection of learning tutorials for you. But before we get started, let me answer a question that I get a lot, one that you might’ve thought of it as well!

“With the rise of the incredibly cheap and free engines such as Unity and Unreal Engine, why did I write a game engine from scratch?”

“Well, Wolf is not just a sole-purposed framework, I used this framework as the base framework of so many real time projects or simulators, not just for games. Second, the matter of debugging your code is such an important thing in programming. However with the new generation of Unreal Engine and Unity, this problem seems to be solved specially for Unreal Engine with the ability of integration with XCode and Visual Studio, but in many projects such as real time rendering projects like Playout, CG, Simulators, etc., you need more control over your codes, besides you need to use open source codes in your project. In another words, as a developer, you need to know exactly what’s going on down there! Third, assume you are driving your car, but you know nothing of fixing any mechanical issues it might have, so what would you do if your car breaks down right in the middle of the way? don’t you think it’s essential to know, even if a little, about fixing a car? Well this is why you should know a little about graphics pipeline, if you are a game engine programmer, the best way, I gather, is to start coding from scratch, then you could easily move to any game engine you like, and have it as a piece of a cake.”

Enough said! Now, for the moment we are going to learn how to build Wolf Engine on Windows, which is known as Win32 on amd64 architecture machine. Just keep it in mind that at the time of writing this tutorial, other releases for other platforms such as Linux, webGL, Android, OSX, IOS and Windows Universal are under development, so when the time comes, I will update this tutorial accordingly.

Prerequisites

  • First of all, on Microsoft Platforms, Wolf will be built on Windows 8, 8.1 or 10. Windows 7 was not tested, and it might be supported via Platform Update for Windows 7, but you have to use only DirectX 11.1 features.
  • You need to get the source code of Wolf, so the best way is to download the latest and the most stable released one from github releases page. However, you can get the latest source codes from master branch, but be advised, it might be buggy and it is not recommended. Now let’s unzip the source code in any location you would prefer.
  • If Visual Studio 2015 was not installed on your system, make sure to download it from Visual Studio Community , note that all desktop editions of Visual Studio 2015 can be used, including Visual Studio Community 2015, which is free for small teams and individual developers. Also make sure to include C++ support as a part of the installment, which is disabled by default and also select Windows 10 SDK Kits. Wolf Engine tested on Windows 8.1 and 10 and you need to setup the right Windows SDK kits for your Windows OS. This version of Wolf Engine tested on "Windows 10 SDK build 10586.0." Additionally you can download Windows SDK 10 and set it up manually.
  • [Optional] I used Wolf for the base framework of my commercial projects for TV broadcasting, so I developed a library called “blackmagic.decklink”, which is in charge of controling and communicating the BlackMagic Decklink cards. If you do not have any plan to use Wolf in broadcasting tools, you can skip this step, otherwise you need to download and install “Blackmagic_Desktop_Video_Windows_10.6.4” driver on your target system.
  • Any graphics engine, or game engine for that matter, needs an embedded scripted programming language, such as lua, python or etc. Currently I integrated Python with Wolf. You can execute your python codes right inside Wolf. If you would prefer to use python, first you need to download python 3.5.1-amd64 and install on your target machine. Make sure to add __PYTHON__ preprocessor for building Wolf.Engine.

Open “Wolf.Engine.DirectX11_X.sln” from "˜\Wolf.Engine\engine\builds\" and make sure the configuration manager is set to the "Debug/x64" or "Release/x64". Note that Wolf Engine will not build or run on x86 platform. Now press F5 and build the solution, you should see “Build Succeeded” on output window of Visual Studio. Now you successfully built Wolf.Engine, in the next tutorial I will demonstrate how to run your first application over Wolf.Engine.




Posted by Pooya Eimandar

Pooya Eimandar
I graduated in computer science and hardware engineering degree from Shomal university and I'm the author of the book DirectX 11.1 Game Programming published by PackT and one of the technical reviewers of the book Game Programming Using Qt: Beginner's Guide. I began my career working on various 3D simulation applications. My main research interests include but not limited to GPGPU, GPU-programming, parallel computing and game developing. Since 2010 until 2014, I was founder and senior lead developer of Persian Game Engine at Bazipardaz Company LTD. Since 2014, joined AlAlam news network TV channels and I've started cooperating on their projects. From then on, I founded WolfSource and I've been working on Wolf.Engine and projects of WolfSource.