Spellcaster Studios

Make it happen…

Working the maps…

Today I’m mostly working on the game maps, adding the new props the artist has provided, and fixing some minor issues related to the latest updates on the game…

I’m still working on finding a new job, so not much time to develop the game (even it might help me land a job)… Today I’m starting work on a challenge for one of the companies I applied to, and I’ll have to make a game in SDL (haven’t touched that in ages)…

screen677

I’ll try to keep on working on the game in the coming days anyway, but it’s becoming really hard to balance finishing my work at my regular job, working on getting a new job, and deciding if I go forward staying at the same company but in another country or if I take the plunge into professional game development (either going full indie for some months, or by finding a job in a game company)… Hard choices ahead!

Now listening to “Absolute Dissent” by “Killing Joke”

Link of the Day: This is so impressive and cool:

Savegames done!

Finally… Took me way longer than I wanted, but given the circumstances, it was the possible timeline… Disappointed smile

screen676

And I can even go from binary to XML, which is good for hacking for tests…

In the meantime, the artist finished the new version of the table assets, so I’m going to place that in the game, and maybe to a bug pass, since I have 4 known bugs… One of them I can’t do anything for now, since my SVN server is experiencing some difficulties at the moment, and I need to fix that so I can pass code from the Mac to Windows, and vice-versa, and the bug is Mac only…

Now listening to “Hijos del Miedo” by “Stravaganza”

Loading savegames…

Still working on this (and hitting myself in the head for not doing a more common system for this in the beginning, more “abstract”).

Anyway, reached an issue that will make the code altogether more complicated…

On the XML loader, the player data (positions, weapons, etc) is stored in an XML node, so when loading a save I just keep that node, generate everything, and then feed that node to the player so that it can build itself…

The problem is that with binary saves, this isn’t so easy to do… Of course, I can save the binary payload pertaining the player and feed it later (like I do with the XML), but that seems even sloppier than I’d be able to endure…

So now I have to add a save structure that can keep this data intact to use it later on the creation of the player… So, terrible coding… *sigh*…

Savegames are so much easier in data-driven system like the SurgePlayer… Surprised smile

screen674

It doesn’t help that my development time currently is so short, since I’m still trying to figure out my next step… Disappointed smile

What should take me about a couple of days to do will probably keep me busy the rest of the week!

Now listening to “Tunes of War” by “Gravedigger”

Work, work, work…

Note to self: always do ASCII/binary save game code in parallel, or using some sort of abstraction… :\

Actually, I usually do this, a bit more data-driven approach than with this game, but since this game is a the Frankenstein of games, I’m paying the cost (technological debt) yet again…

This game would have been done twice over if I’d made it with Spellbook/SurgePlayer/SurgeEd almost two weeks ago… Surprised smile

screen673

Anyway, still working on the binary savegames, now the loading part… Hopefully I’ll be done tomorrow (even that I’m writing this about one week before you read it, and I’m going with my wife on micro-vacations to celebrate our anniversary tomorrow)… Time on the Internet can work weird! Smile

Now listening to “Master of Rings” by “Helloween”

Link of the Day: The level of awesome of this website is soooooo high… Don’t know how accurate it is, but even if all data is made up, it’s extremely cool: http://map.norsecorp.com/

Savegames done…

New version of the savegames, now in binary, is complete…

Used to take 2 to 9 seconds to make a save in XML, now it takes 50 ms… So, that’s a win!

screen672

Next step, load the savegame, which should be the easy part… Would have been done by now, if I wasn’t still sorting some stuff in my DayJob™ and RealLife™… :\

Now listening to “Live Consternation” by “Katatonia”

Savegames, revisited…

The savegames on Gateway are taking a bit too long to execute (about 2 secs)… This is not a big issue, but it causes some stalls before and after a cutscene, and I dislike it…

Besides, the first save I save, it takes 2 seconds, but the second (and the rest) takes 9 seconds, which is super-weird… Since I had already planned to switch over to binary files, I’m going to switch first and see if the problem goes away or not…

The current savegame system uses XML to store (because I can edit it by hand and play around with it), so it had a really loose structure, but now I need to make it more rigid, so it can load/save faster and in a platform independent way…

First step was creating a data buffer that could resize at will…

screen671

I had such a buffer class in other projects, just had to cannibalize it… Why not std::vector<char>? Well, my main reason is historical… I never got used to using that in the past because using them in debug mode is so slow (I can turn it off, but in Visual Studio this leads to such head aches combined with other libraries, that I kind of gave up on it), and this way I can add functions to handle indieness in the future if I want…

Still, on my next project, I should definitely look into boost… Everybody uses it anyway…

Now listening to “Murder_4_Hire” by “Body Count”

New assets…

What should be just 15 minutes of my time ended up being a couple of hours today…

The artist provided me some new props for the labs, and I was putting them into the game, but I couldn’t get them to display!

After a lot of time of fruitless debugging, the issue ended up being super-simple: the pivot point of the objects was wrong!

screen670

From the game perspective, that table is in the middle of the map… Disappointed smile

I think I must have been tired to have missed this one (and the current uncertainty of my life doesn’t help as well)… I just feel annoyed I spent 2 whole hours on this, instead of adding this to the maps…

Now listening to “Heavy Metal Breakdown” by “Gravedigger”

Link of the Day: It’s really impressive what you can achieve in 4k:

Selection

I have more time for Byron Bay, since today is actually my wedding anniversary…

So I just added the selection capability to the action mapper and UI map…

screen669

Unfortunately, just remembered I still have a very complex component to make for the UI Map system: the scrolling components… That one will be tricky to add on top of the existing framework…

I’m also having some problems with my Subversion repository… At home I use a Raspberry PI with an external HD to act as SFTP and SVN server, but lately, as soon as I start transferring stuff to it, the mount gets dropped and I have to restart it to get access to the hard drive again… Not sure if this is a power problem (the USB ports on the RPI are notoriously weak), or if the hard drive is dying, so I’m going to buy a powered USB hub to see if it’s a power issue…

Now listening to “Wild Honey” by “Tiamat”

Mapping actions…

Most of the major code of the action mapper is done, now I need to convert the existing code to use the action mapper instead of the previous systems…

On some cases this might prove tricky (the email viewer, for example), since it was one of the first things I’ve created, so it’s a bit hard coded…

screen668

On the main menu it already works! Open-mouthed smile

Now listening to “Summer’s End” by “Autumn”

Link of the Day: This is so totally awesome… Hint: click and drag on the video… Surprised smile