Spellcaster Studios

Make it happen…

Playthrough, Part XVII

Nothing much today, except for working on one of the last cutscenes of the game…

This one is kind of complicated, because I’m trying to make it a bit more dynamic through camera-work that the others in the game (if this works properly, I’ll probably review all the others with my “newfound” talents).

screen209

I’ve started to settle on a style of my own while “directing” my cutscenes… I’ve noticed I make all my camera work is very slow (and most of the cutscenes have this slow pace about them)… not sure if it is because the tech behind Chrome Hunter isn’t that good, or if it’s the style of cutscenes I actually like…

In case you haven’t noticed, I’m reaching that point that I’m not sure about anything anymore… I look at certain cutscenes/texts/gameplay moments and feel they’re great at one time, and terrible at another. Mostly, I think I’m too close to the game and a bit tired of it (it has been almost one year since I started this one, and 3 months of “one-hour development per day minimum”).

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

Link of the Day: Cliff Harris of Positech Games has relaunched an indie game store, different from all others (Steam, etc), in the sense that his objective is to connect the developers to their audience, without any take from the store… They’re having a sale now, so it’s a good time to take a look at it: http://www.showmethegames.com/

AI issues fixed!

Finally managed to fix the AI issues with the “large scale battle”. There was a lot of small mistakes, but one was the real culprit – The Line-Of-Sight (LOS) functions: the “lost LOS to target” and “regained LOS on target” functions weren’t exactly “symmetric”, which meant that I would lose the agro correctly, and would regain it from an algorithmically standpoint, even if I didn’t exactly have LOS on it (the first one had a tolerance, the second one didn’t). So the AI would twitch between states.

screen208

Now it works correctly (even if not 100% yet), especially after increasing the size of the steps (the navigation mesh wouldn’t be correctly built on those small steps).

Here’s a video of it in motion:

Now listening to “Outbound” by “Keldian”

Link of the Day: These two videos are nerg-gasmic! Finally I got that urge (that apparently every dev in the world already felt) that I need an Occulus Rift and a Sixsense controller:

  

AI issues

Still working on the AI issues I’ve found yesterday, although I’m getting closer to the problem…

screen207

I’ve built some rudimentary debug tools to track this issue, and I found the culprit… Basically, the AI twitches because it acquires and loses LOS on the current agro target.

The idea of the AI is to track the biggest threat and try to kill it… If it lost line of sight to it, it would move towards the position where it saw the enemy last and if it gained LOS, it would go back to shooting it.

What I’m seeing in practice is that the AI moves towards the last seen position, it sees the target and then loses it again, etc… The part I don’t undestand in this whole  issue is why it doesn’t move anyway towards the same position… If it sees or not the target should be irrelevant to the pathfinder, so the movement shouldn’t be “restarted” because of it, the target position is still more or less the same (give or take a couple of centimeters).

Now I have two choices: bite the bullet and rebuild the AI code, better structured and more organized this time, since I now know exactly what I need it to do, instead of keep adding to it, or just try to figure out why the behavior isn’t the one I want…

Now listening to “Faith” by “Eyes of Eden”

Link of the Day: I had more or less this conversation the other day with someone that wants to make games for a living… This article puts it better than I could, but it really matches to what I know: http://www.hobbygamedev.com/beg/a-frank-look-at-making-videogames-professionally/

More AI trouble

For the cutscene I’m currently building, I need an epic battle feel between a lot of cultists and corporate hit men… The basic code for it works fine (they have a faction and all the aggression code is based on that). To make the fight never-ending, as soon as one dies, another spawns.

screen206

The problem is that the problems I’ve been struggling for ages on the pathfinder and AIs become more noticeable when you have so many running at the same time… I’ve done a video to show you the issue:

Initially, I thought the problem was due to the collision avoidance, but on the video above, I have that part of the code turned off, and it still twitches like hell…

So, the possible culprits is the pathfinder itself (unlikely, I think, since there is a path between the opponents, as illustrated by the arrows), or a fast switch between agro targets… Anyway, this is hard to debug, because when I stop the action to inspect the entities, I’m looking at a snapshot of a moment, and only by sheer dumb luck I’ll catch the actual moment when the bad decision was made, and even if I can, I need to track one entity that’s actually doing that, etc… And I can’t reduce the number of entities, because this only happens when I have lots of those.

If I was using my “Spellbook” engine, I would have a lot of debug stuff I could use to track the problem (record the actual state of the finite-state machines that comprise the AI is easy on Spellbook), but since I’m using my lightweight engine “Cantrip” (because of the way this game was born, in a 48-hour competition), I don’t have those luxuries, so I’ll need to identify possible causes, and do the code to be able to see the issues more clearly.

The joys of gamedev! Smile

Now listening to “Ziltoid, the Omniscient” by “Devin Townsend”

Link of the Day: I don’t even understand exactly what I’m seeing here, but it is awesome! AR/VR is starting to do amazing stuff:

Throwing the towel…

Looking at what I still have to do to make the game playable, and considering the time I’ve already used up, I’ve decided to throw the towel…

I don’t have enough time to finish the game, and even if I can make it playable (which is unlikely), it won’t be balanced or fun.

I really underestimated the UI-making time on this framework I’m using. For really simple stuff it works, but this game is a bit UI-heavy, so it takes me forever to add options and make everything work properly and intuitively… I’ll probably need to review that for the next compo.

The other issue was that I tried making the game more data driven (so that I could have simple load/save mechanisms), by making most of the game logic in Lua… The problem is that I was making the logic in Lua, but the UI in C++, which meant passing data to and from, and that generates a lot of repetitive, error-prone code, besides super-ugly…

Next time, if I want to do something like this, I’ll have to stay either on one world or the other, mixing them doesn’t work that well…

screen07

The game itself had some nifty ideas, but it would take me forever to implement and (more importantly) balance it. I’ve never done an economic/political simulator, so this was a big challenge right from the start.

Maybe if I had a better UI framework or done the game fully in C++, it might be possible…

Oh well… Good luck everyone!

Still not much…

Due to the fact that I’m running super-late (all my estimations were wrong), I’ve not been blogging that much, nor have I been keeping track of what other people are doing (which is too bad, that’s one of my favorite parts).

Hopefully, today will go a little better.

Anyway, here’s the latest screenshot… It shows a trade route:

screen06

Now to make the related property box, to edit the type of route and the number of ships in it

Starting to make some progress…

Still going terribly, but its gradually improving… Think I chewed more than I should, because of the balancing… It takes too long to adjust the simulation parameters, especially if you’re not used to that kind of work!

screen05

Planets now have food supplies and their population grows with it.

This is mostly data driven, so it will probably be faster to get up and running for the other resources.

Also got load and saves working. Next step, build hyperspace gates and start laying down the trade routes.

Current schedule after the break:

Continue reading →

First screenshots

This is not going very well… It’s taking me ages to get the simplest things up and running, due to small bugs plus a lack of understanding of what I’m actually building…

First screenshot:

screen04

Spent about 45 minutes just trying to figure out the parameters of the simulation to start implementing, so I’m about 2 hours behind schedule… Hopefully I can make up for lost time without spending the whole night working…

Current time schedule after the break:

Continue reading →

Starting work…

Well, I’ve been busy with a some personal stuff I had to take care, now it’s time to start working on the game!

After careful consideration, I’m going to make a space trading game (tentative name “StarTrader Corp.”).

The idea is that the player has to manage trade routes, building ships, hyperspace portals, etc, to keep the peace in the galaxy (and hopefully make a tidy sum in the process).

The simulation part and UI will be the tough parts, specially the simulation, but I will do it all Lua-driven, which should help.

Planets have some exports and will import the rest, so the most productive routes will take needed goods from one place where is an abundant one.

If some parameters are reached, like for instance not enough food on a planet, they will (try to) invade nearby planets, which will disrupt the trade routes.

This will be an interesting game to make. Since I’m not that used to strategy games, it will be a challenge. It also lends itself to expansion as I make the simulation more complete.

Hopefully in some hours I’ll have something to show! Smile

Just woke up…

Late, but I’m awake now!

So the theme is (as expected) “Connected Worlds”…

Hum, I didn’t manage to think of any decent idea with this, although there are several bouncing around my head:

- Society is connected: You have to do actions on your Facetube profile to get more friends. This one would probably involve a lot of UI work, and I hate UI work… :\ Also, a lot of writing and procedural generators…

- Realspace/Cyberspace: Player is at the same time a hacker flying in cyberspace, defeating ICE and opening a path to a spy, which in turn has to place access nodes for the hacker while penetrating some secure facility. This one might be simple enough to pull off.

- Trade management: Player must manage interplanetary trade routes, taking into account pirate attacks and the needs of certain places. The idea is to keep the peace between planets by giving them what they need, while keeping your business flowing. This one might also be doable, just don’t know if it’s any fun!

- Split-screen: Player controls two characters at the same time in two screens, and has to either solve puzzles with both of them (in this case, we could give the player the capability of controlling only one at a time), or action-oriented where you have to flee/destroy hazards on both worlds at the same time. This seems like a nightmare to level design properly, and the strength of it hinges on that.

- Ghost game: Player controls two characters (each at a time): a medium (which can go into the spirit world, and where he can see the ghosts) and a ghost hunter (which can hunt ghosts, but can’t see them). Player has to find and trap several ghosts/spirits. Everytime the medium is in the spirit world, it will attract the attention of the ghosts. The problem with this idea is that it seems the hunter just needs to stand next to the medium and wait for the ghosts to come to him. This might be mitigated with some way that the hunter can’t be with the medium. This one has some interesting concepts (possession, traps, perturbations, etc)

- Gravity influenced portal shooter: Scorched Earth inspired game. Players are in different worlds, but they can shoot using gravity. Shots can also include portals for really trick shots. This seems fun, but it rely on either smart AI (which isn’t my think, really), or network code (for multiplayer). I’m not scared of multiplayer code (I do plenty of it for a living), but for the voting stage, I doubt we’d have people playing it enough so that people could actually try it…

So those are my ideas at the moment… I need to really think long and hard about these…

-