Windows and Python

For my day job I’m working all my time on a Mac, which is great, but my game has to run on both PC and Mac.

So this evening I’ve booted up my old dusty PC and started Visual Studio, an old friend of mine which I really enjoyed as a young coder, and started working on the official Windows port.

A lot of the work needed to port the demo was already done two years ago, I just had to make sure it did compile again, which obviously was not the case, and added the needed libraries.

The engine is done from scratch by myself, using C++, OpenGL and portable stuff such as Freetype, fmod, RakNet and … Python!

Yes, Python.

For the fun I wanted to do all the game logic in Python for this project, so I compiled a fresh Python 3.5 intepreter from source code right into the engine. It works well on both PC and Mac, even if I had to fight for hours to get it right on Windows.

That does not mean you, the players, will need to have Python installed on your machine to run the game, all is bundled within the executable. There’s nothing to do, no dependency.

The choice of using Python was principally because I want the game to be highly moddable. But I’ll write about modding later.

I could have used Lua for scripting, and in fact the very first version of the game was using Lua, but I really don’t like this syntax. That’s a matter of taste.

I am not a 3D artist

Well, obviously I’m a not, in the previous posts I was using assets from an older project to have something to display quickly. But it appears animations are broken and I don’t have time and resources to maintain such complex models.

This project is a one person project, mostly because I don’t want to depend on anybody to be able to produce something playable, so I decided to make some placeholder models by myself.

I took a couple of Blender tutorials last days and here is the first result. This is the very first 3D model I’ve ever made in my developer career, maybe I should make a wish!

Capture d'écran 2016-01-11 22.53.46

This is clearly Minecraft style, and it will be used just for prototyping. If I ever leave the alpha stage one day and have sufficient resource, I will probably hire a freelance 3D artist. For now, it will do the job.

Now I can start working on monsters, multiplayer, loot, …

Working on inventory

I’ve started working on a minimalistic inventory window in which you can drag and drop items.

It is highly inspired by the inventory window of Minecraft. There is equipment, craft and bag.

For crafting I thought about using a 3×3 matrix called the “Assembler” that will work like the famous Horadrim Cube of Diablo 2. You just put items in the cube, click the transmute button, and see the result. But, well, this is not implemented yet, there’s just the grid.

I would like to add a preview of the character in the black rectangle next to the equipment, but my engine does not handle render to texture so I won’t add it yet, this is just a placeholder.


Some equipment

The character in the first demo was a little bit boring, and felt quite naked.

So I’ve been working overnight on adding some stuff in his hands. And because it was fun I also added an helmet and boots.

Helmet and Boots are separate models that use the same skeleton as the character, I’m just hiding some polygons below to avoid overlap.

Capture d'écran 2016-01-08 11.40.21