Skip to main content

Posts

Showing posts from April, 2016

Brainstorming content.

This week I reached out for some help with brainstorming for my project. Just browsing through a list of D&D feats and abilities showed me that this game must be the first part in a series. There's no way I can develop a fully mature 3d RPG or roguelike all at once. Therefore I should try at first to build a base which can be expanded or upgraded. This was kind of my plan from the beginning but now it's become more concrete. [Will it take 4 years to make a sequel?] The idea is to create a fun game that people will enjoy playing, give it away for free and then hopefully design a paid expansion or sequel. Anyway, what did I do this week? Well first I worked on the skills and attributes. There are 5 main attributes: [VIGOR] Vigor is a measure of your strength and physical vitality. Your ability to lift, throw, crush and break. Your vital life force. Fighters need a high degree of vigor but it would be useful for archers, rogues and others since it opens up

The Shadow World.

This week's updates are pretty boring for any readers, just some improvements in project structure and handling of animations. Here's a video. But this week I started work on integrating the Shadow World. [He knows what I'm talking about!] The Shadow World is an idea which I hope will add an extra dimension to the game, literally, as it exists on top of the regular world and can be entered at any point. For an instant idea of what I mean, think of the moment in Lord of the Rings when Frodo puts on the ring. Suddenly the world of daylight is gone, replaced by a world of twilight, similar, yet different. [Gen and his shadow] I had the idea because I've been reading Ursula LeGuin's Earthsea stories.The characters are able to cross over to the land of the dead, a place where the dead go after life. It's not Hell, but it's certainly not Heaven either. More like the afterlife depicted in some pagan mythology. There are no Gods or Devils rewardi

AI Theory

I've been working on the AI for the game the last couple of days. [Don't worry, every thing is OK...] In my smaller games AI was pretty simple. They had a simple game mechanic, try to walk in to the player and kill them. So basically they have a single type of behavior. [I'll eat your brains!] That's fine for simple enemies like zombies, but what about more complex characters? Well, I've written a couple of different behaviors, we could call them: roaming seeking fleeing fighting following waiting [while: guarding] The behaviors are encompassed in a finite state machine. Each state can transition in to others, depending on the behavior. So a waiting agent sees an enemy they become alerted and try to attack, they transition to the seeking state. After testing I'm confident I've got the bugs out of each of them. But there's a problem. How to choose which behavior to use at any one time? How to know which state to enter next?

Coding general AI.

As promised I've spent most of my time this week on coding basic gameplay. [text above each agent displays debug info] I started out having separate state machines for AI decision making and actions/animation. Sometimes AI control calls for very rapid switches of states which would also disrupt the animations. Causing them to stutter or jump. But by setting up Animations to only switch after a short delay I eliminated the problem you get with having AI and actions in the same state. If a call to switch animation occurs, but rapidly switches back (like stopping for an instant when walking) the switch is ignored. So I refactored them in to a single finite state system with inheritance helping to structure things like animation and path finding. [Blocked in!] AI is pretty basic. They just try to get towards you avoiding squares they've already visited. But it works surprisingly well. It's easy to get blocked in by the enemy, but you can use the nature