Spellcaster Studios

Make it happen…

Playthrough, Part XI

Today I advanced the story a bit more… And would have done much more, if I didn’t hit a silly bug that took me about one hour to figure out, and less than one second to fix…

Actually, today was a terrible day for the pathfinding…

First, in the pirate lair, I had spawned too many objects in one room, and because of that, the pathfinder couldn’t find a route to the target location on the cutscene… After I fixed the prop generator, I got another issue… One of the props was very big, which meant there wasn’t a lot of room to pass. Shouldn’t be a problem to the pathfinder, but I have a small issue with it. The pathfinder generates nav points, and my movement algorithm (the same for the AI and for the player) uses a movement vector approach (at any moment, there is a force applied to the object, and there it has a velocity). The problem is that the pathfinder assumes perfect start/stop times, which means that if you have a certain amount of inertia when on a path, you overshoot it slightly… This usually isn’t an issue, but on occasion (when the path is very thin) it causes the collision detection to step in and stop the object from moving, and that causes more deviations from the path, and the movement system was programmed to reach target points (waypoints), not the path itself, which causes an impossible situation!

screen176

This one I solved by disabling the collision detection while following a path, but I’ll probably have to review this solution, it looks sloppy and can lead to other problems. I probably will have to build in code that detects that the player is unable to move to the target destination and either recomputes the path (probably enough), or that tries to get the closest point on the path before start following it again…

After that one was sorted, I finished the cutscene and moved on to the next, and found another bug… This one was probably present for ages, but I didn’t notice it until now: there was a room on the Skydancer that the navmesh couldn’t reach… For normal play, it’s not important, but on a cutscene when I want to go into the room it’s quite serious, since the pathfinder can’t find a path… But it took me some time to realize this was the issue… What I was seeing was a that the pathfinder was trying to reach a room by going to the wall… And what he was doing was getting as close as possible to the target location, and I automatically add the end point to the pathfinding solution, which caused him to go through the wall… Very silly, really! To fix, I just had to detect there was no path possible and open the door a bit more to allow for the navigation mesh builder to build a bridge there…

So, onwards!

Now listening to “Pristine in Bondage” by “Amaran”

Link of the Day: One excellent reason to have kids: a good reason to build one of these: http://www.neatorama.com/2014/07/21/Awesome-Father-Builds-BattleTech-Treehouse-for-His-Kids/

Traps, traps, traps!

Today I worked on the traps of the game…

First I ran into an issue with the navigation mesh… It was being generated in places where it shouldn’t, which caused cultists to spawn there occasionally.

That fixed, I ran into the pirate lair that’s part of the storyline… And I found lots of issues… First, I’m in a very difficult world (danger level is 3.2 out of 4).  That means that everything for my unequipped character hurts like hell, which means that the laser beams are not easy to pass anymore:

screen171

And it’s very difficult to pass them without taking damage because it misses some reference point, so I decided to fix the visuals for the laser beams… First, I used the thick lines code:

screen172

Much better, but still no reference frame… Following one my friend’s suggestions, I added a fake lighting effect:

screen173

Now it’s easy to see where you can stand or not… The effect shift with the distance to the ground, which also helps a lot…

Then, just to wrap things up, I added some emitters on the wall:

screen175

It looks much better now…

Also broke the code that generated the navmesh in the base, so I had to fix that…

Moving onwards, also upgrades the whirlwind turret visual code:

screen174

Then, I hit a snag… The current turret code doesn’t work properly on some positions… The problem is that according to the navmesh, there is no line of sight between the turret and the player, because there’s the invisible blocks that make up the turret (so we can’t pass it through)… Can’t disable the invisible block checking, because then we couldn’t hide behind stuff in that case. So, I think I’m stuck with using regular ray casting with some carefull positioning of the ray in the height department…

So, today I got a lot done, but it feels like I haven’t accomplished anything!

Link of the Day: I really want these: https://www.flickr.com/photos/76272331@N05/sets/72157634379969998/

Playthrough, Part X

Today I just played around a bit, since I had no fuel and wanted to test the balancing…

Just shot some guys, fought cultists in caves… So, all in a day’s work, and all very hard at this point… Which I’m not sure sucks or not… On one hand, I’m a more experienced player, but on the other hand, I bought and used zero equipment… So, with a shield, a better weapon and some armor, I might think this is a breeze…

The only concern I have about that is the fact that the rise in difficulty was too sudden… One moment I’m just playing around, the other things just get real!

screen170

Here you can see me just about to die after finding the entrance to the pirate lair where the next storyline stop is…

Now Playing: “Batman: Arkham Origins”… It’s like the ones before, although not so well written… Smile

Link of the Day: WebGL is becoming more and more interesting… I still don’t believe in a “always on” future (as portrayed, we’re almost there from any practical terms), but this opens really cool possibilities. Here’s some nice demos: http://davidwalsh.name/webgl-demo

The Librarian

Today I added to the story one important character: The Librarian, an information broker that operates in this part of the galaxy.

The player will have to go to him to get some information, and (obviously) will have to do some dirty work for him.

This cutscene is one of those I’m sad I probably won’t be able to afford speech in the game… The dialogs sound amusing in my head, with all the appropriate pauses, tone and nuance, but it falls a bit flat when we only have text… Well, can’t be helped, although I’m thinking of improving the text system to gradually write the text, instead of showing it one phrase at a time. That way, I could have a bit more “timing” in the text, which would help I think…

The talks with The Librarian will be onboard of his space base, The Library. I’ve made a video showing the authoring process… It’s not the most exciting thing in the world, but some of you might find it interesting!

Now listening to “Alloy” by “Trillium”

Link of the Day: This is an overview of a technique that can be used to make trailers (and menus, or even whole games), called Camera Mapping… It’s very cool, it’s one of the possibilities for the trailer for the game (storyboard’s still not written): http://gamasutra.com/blogs/KoenDeetman/20140714/221001/Camera_Map_Your_Teaser_Trailer.php

Orbiting planets

Just added the concept of orbiting moons/planets/bases to the game.

For the side-missions and the storyline, sometimes I want a base to appear somewhere, so the player has somewhere different to go, so I had to add custom planets that can be added/removed during play (instead of up-front)… Since I had some stuff hardcoded, it was hard making this work…

Because I’m a nice guy, jumping from orbit to the planet and vice-versa doesn’t consume fuel… Smile

screen168

In this case, this is a custom map (made in the voxel editor). I can also build entire planets from scratch (which might be interesting to generate the side missions without influencing the main game generation), or moons (to make the description of the random missions more interesting).

Now listening to “Festival” by “Jon Oliva’s Pain”

Link of the Day: This is good advertising… I had a good laugh at this:

Take that!

Not much time today for development, it’s my wedding anniversary (11 years and counting!), so I’ll make this quick…

After some balancing, tweaking and bug fixing, I managed to kill the boss…

The fight is not as fun as I’d like… You almost never can see the boss, because he’ll kill you if you’re too close, so to make him walk where you want him to be, you’ll have to move out of the screen and make a guess… I even considered adding a different PoV for this fight, in which the camera is behind the player and focusing on the enemy, like a standard lock-on in third person adventure games. I’ll consider that when I receive playtest information…

screen167

Now, to get to another place… For that, I need fuel, but the new loot tables make it easier, so you can focus on grinding only if you want the alloy to purchase weapons, shields, armor, health packs, clone tubes, etc…

Now listening to “The Christmas Attic” by “Trans-Siberian Orchestra”

Link of the Day: Here’s some extremely nerdy humor from “the biz”… Most of these are obscure even if you’re in the field, but some of them are really funny: http://timothylottes.blogspot.pt/2014/07/bad-industry-humor-computer-engineering.html

Dead, dead, dead…

Today I added a bit more of story to the game, including another boss fight… Wanted something different from the previous ones, so following a friend’s suggestion, I made a fight in which you have to use the environment to destroy the enemy…

Unfortunately, today I’m feeling very lazy, so something that should have taken 2 hours tops, took over 4! And it’s not done, still lot of small bugs, blargh!

Anyway, I still haven’t managed to defeat the boss, so I probably have to tune it a lot…

screen166

This has been my life for the last 30 mins… Adjusting the boss, dying fighting him, etc… This planet is also a nightmare… No oxygen desert planet. You can die of thirst, asphyxia, sandstorms, sandworms and enemies… Oh, did I neglect to mention the cultists?! Smile

Link of the Day: I definitely have to make a Physically-Based Renderer on Spellbook one of these days… Here’s a very impressive tutorial/tool demo to paint PBR materials… It has a lot of interesting ideas, which I hope to use one of these days! Check out his channel for more cool stuff (he has a demo with procedural texturing which is just amazing!):

Random spawns

Today I’ve added one more cutscene to the storyline (an important one, too!), and added a new type of enemy: the ninja! I call it ninja, but he’s more of a warrior-cultist kind of thing… but he periodically (or when he takes a lot of damage), he disappears in a puff of smoke, only to re-appear a short while later.

These enemies show up periodically after that, when you’re playing around in the planets… It really adds an extra dimension of danger (you’re hiding from a sandstorm and suddenly, one of these guys spawn next to you!

As the matter of fact, that last bit is a bit too stressful… Smile

screen165

The game is becoming a bit challenging even for me with just the gun and no secondary weapon… It’s probably a bit too easy otherwise, really need to work on the weapon balance, but too be honest, I’m not sure on how to start that work so it will be methodical.

Link of the Day: Very interesting article about the the issues surrounding indieness for profit… It’s a  bit blunt, but eye opening: http://www.newstatesman.com/culture/2014/07/why-indie-gaming-s-obsession-moneymaking-hurts-us-all

Everybody’s Kung Fu Fighting!

Today was very productive… Added a new type of enemy, with a special ability, which is rather cool, and it makes gameplay more varied, and finished a couple of cutscenes…

screen164

I got to say, working a bit on the game every day for more than a month is really good for morale… not only I have more fun making the game, I’m more productive and new ideas are always popping up in my head… Most of them will be left for sequels/offshoots/other games, but a lot of those I actually used, for example the new ability of the *****…

The only bummer is that I’m reaching that part in the game development that I have to be careful with what I say, don’t want to spoil the story for anybody (not that this is exactly a brilliant, unpredictable story, or that anybody actually reads this… Smile).

Now listening to “Unification” by “Iron Savior”

Link of the Day: Super-cool science thingy! The image where you can’t even see the crinkles is specially impressive! http://www.dailymail.co.uk/sciencetech/article-2690424/Scientists-discover-new-black-British-researchers-devise-material-dark-looks-like-black-hole.html

Battle stations!

Don’t want to talk too much about what I’m doing at this moment (it’s an important moment in the story, and I don’t want to spoil it)…

Let’s just say that Steve and the Skydancer go into battle stations:

screen163

Red alarm light always gives some urgency to the scene, especially if I can find a good alarm sound to go with it (I’ve not worked on sound as much as I should).

Now listening to “Kartika” by “The Eternal”

Link of the Day: Been looking forward to this one for some time now, and it launches in a week, yay! Check out the trailer and give them a follow on Twitter (@robotality):