Getting Started with Isaac

Isaac 2D  is a C++ framework based on SFML(Simple and Fast Multimedia Library) and Boost C++ Libraries that provides support for an easy development and understandable(flexible) structure even in complex scenarios for application and games.  Also, Issac it is a multi-platform library, your applications or games can compile and run on the most common operating systems: Windows, Linux, Mac OS X.

If you are going to use Isaac in your project you should know how to get started with this library. In this first tutorial I am going to show you how you can compile Isaac in order to work for your particular needs.

First you will need to download Isaac. On the download page you will see that some binaries are already available(or not, it will take some time till I will compile Isaac for the most used generators, so it may be possible that on the Isaac page you will find only the source code. Sorry for that 🙁 ), if dose binaries are already what you need depending on your compiling version you can download your suitable one, if not follow me next.

Let’s say that the binaries that you need are not available in the download section, in this case you will need to create those binaries by yourself (you are not going to make them with your hand, of course), but a little bit of things are going to be needed in order to have those binaries.

The binaries making  process (building Isaac by yourself)

Because it is the most used IDE, I will show you how to build Isaac for Windows in Visual Studio xx, for the other available IDE’s out there the process is more or less the same.

  1. First from the Isaac download section, select Source Code. Right now you are downloading the Isaac code in your computer
  2. You will need also CMake for the building process. So, please download CMake.
  3. Before starting building Isaac you need to know that Isaac needs two other libraries in order to compile : SFML and Boost.
    1. SFML has also some binaries available on the website in the download section, if you find there the binaries that you need you can download them, if the binaries that you need are not available on the SFML webpage you will first need to compile SFML.
    2. From the boost libraries, Isaac is using only the Any library and the Assert library, and those are available in the Isaac resources. This means you don’t need to download Boost.
  4. After you have SFML library in your computer we can start to build Isaac. First off all we need to set one environment variable in windows, this is because CMake needs to know were you have placed SFML. How to set environment variables in windows:
    1. From the Desktop, right-click the Computer icon and select Properties. If you don’t have a Computer icon on your desktop, click the Start button, right-click the Computer option in the Start menu, and select Properties.
    2. Click the Advanced System Settings link in the left column.
    3. In the System Properties window, click on the Advanced tab, then click the Environment Variables button near the bottom of that tab.
    4. In the Environment Variables window (pictured below),  add the variable:
      1. SFML_ROOT with the path to your SFML root directory(make sure that the path of your SFML directory is not ending with a backslash, ex: C:\SFML, not C:\SFML\).Environment Variables
  5. You can start the process of building Isaac. Open CMake-GUI and you will see something like this:CMake
  6. Click on the Browse Source button navigate to the folder were you downloaded Isaac source code  and select the folder were all the Isaac modules are present. This is what the directory should contain(approx.):Isaac_Strucures
  7. Click on the Browse Build button and select the place were you want put the generated solution.
  8. Is time to select the generator that you want to use, for that click on the Configure button in bottom-left corner of the window. After that a window should pop up were you need to select the generator that you want to use. Click Finish.
  9. If no errors are being found, you can click Generate and the solution should be available for you in the selected place. If some errors appear return to the beginning of this article and make sure that every step is covered.
  10. Right know you should be able to build Isaac with your desired configuration. After you build Isaac you will found the binaries  in the Isaac root directory inside the Output folder.
Using Isaac in your project (Visual Studio example)

After you have the desired binaries you can start using Isaac for your particular needs. In this section I will show you how to integrate Isaac in a Visual Studio solution, for this, there are a few things that you should do.

First, lets start Visual Studio and create an empty project, you are not going to need an executable because Isaac already has one, so make sure that you create a visual studio project where you output a DLL file.

  1. Generate a DLL file. For that right click on your project name in solution explorer section, click on Properties -> Configuration Properties -> General and on the right side you can see Configuration Type. Select Dynamic Library (.dll).Isaac DLL Select
  2. Additional include directories. For that right click on your project name in solution explorer section, click on properties and  go to Configuration Properties -> C/C++ -> General, and on the right side you can see Additional include directories. Be aware that the C/C++ section it will not be available for you if you don’t have at least on header added in your project, so for that please add new class into your project and name it MyGame. After that you can include all your needed directories. Additional Include DirectoriesAs you can see those are all the includes that you need for Isaac and SFML. I know there are a lot :(but this is something that you need to do only once).
  3. Additional Dependencies.  For that right click on your project name in solution explorer section, click on properties and go to Configuration Properties -> Linker -> Input, and on the right side you can see Additional Dependencies. Additional DependenciesMake sure that you include all the needed dependencies as you see in the pictures above, you need  SFML libs and Isaac libs.

This is everything that you need to do in order to have Isaac up and going. For how to code in Isaac please see next tutorials :). Also if you have some questions or if there is something that you did not understand, please do not hesitate to write me or post a comment. Cya :).

 

Author: Horațiu Condrea

My name is Horațiu Condrea, and I work as a Software Developer Manager at Siemens PLM Software. I hope that my experiments will prove to be useful for many of you guys/girls out there. Don’t forget to leave a comment whenever you run over a bug or something that is not working as it should be. For any kind of information contact me.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.