Tag Archives: programming

Nothing: The Hidden Input

sonic_bored_9701
_movementState = MovementStates.Idle;

I’ve been working on a side project in Unity, and I wrote that line.  You probably don’t need to know anything about programming to know what it does.  There’s a character, and it’s not moving.  It’s idle. Continue reading

Advertisement
Tagged , , , , ,

The Starter Code Dilemma

Humans are inquisitive beings.  We tend to question things, and that’s a quality that I’m quite proud of.  Personally, I like to know how things work.  It’s not enough that something fulfills its purpose at the moment.

The reason I bring this up is kind of complicated.  For Graphics Programming, my professor gave us DirectX 11 starter code because it would have taken too long to develop the core framework and teach it at the same time.  When he first told us this, I was elated.  Setup is often tedious, especially for lower level stuff like this.  For the first few assignments, I had no problems.  Drawing geometry was easy.  The shaders worked well.  Texturing was a breeze.  It didn’t hit me until recently that this code might have to be the basis for my team’s game.

And herein lies the issue: I don’t really know how it works.  Because of this, I lack control.  I have a solution though, and this may be the start of something very wise.  I’m going to do it all from scratch using a few online tutorials, but I’ll be modding the code as I go with my team’s game in mind.  This way, I’ll avoid the issue of blindly copy-pasting and I’ll end up with something that I understand.  It will take time, but doesn’t everything?  It’s better than being ignorant.

Tagged , , , , , ,

Adventures in Graphics Programming

This semester, I’m working in a team of 5 to make a game using C++ and DirectX for my Graphics Programming class and I’m terrified.  Yeah, maybe that wasn’t the emotion you were expecting, but I can’t be the only person in the class who is a bit anxious about this.  But it’s a good kind of anxious.  Graphics programming is liberating.  There’s so much control, I just have to overcome the initial shock of having nothing to really start with.  This is definitely going to be an adventure. Continue reading

Tagged , , , , , , , , , , ,

Desire-Based AI

So I’m learning that none of my previous video game AI work is relevant anymore.  Project Fly (my team’s current project) is in real time, so I need to approach AI in a new way.  I pulled out a lot of hair, and finally had a thought.

Yes, one thought.

“What does an enemy want?”  Before this game, I always worked with turn-based AI.  It was all very “computer-y” in the sense that the enemies were interesting to compete against (sort of, but they achieved this state in a way that is very non-human.  For example, in The End Begins, my previous game, the enemies categorize player actions and react based on their running list of player tendencies.  This fails in real time and isn’t how most humans play.  On top of that, the AI in The End Begins doesn’t really change much between enemies.  There’s hardly room for variety.

So back to my epiphany-question.  Why is it important?  Well, I think that humans play this way.  See, I had the issue of enemies in Project Fly either being useless or too perfect.  They either had hardly any AI or followed the player perfectly, so I thought “what makes it so that I can shake a human player off of me?”  It has to do with conditioning.  No, not the hair kind.  If I let my opponent pursue me and get close (assuming they want to be close), he will become complacent and his reaction time will become dull.  Then, I pull a sharp turn.  My opponent is taken by surprise and I escape pursuit.

By this logic, an enemy has its own unique set of things that it likes and dislikes.  For example, the Kitsune is an enemy in the game.  This enemy loves lower speeds and keeping its energy low (constant attacks).  Kitsune are easily agitated but also prideful.  This means that the way to beat one, you must play with it a bit.  Engage in a slower chase and let the Kitsune feel good, then pull an advanced maneuver and surprise it.  Its reaction time will suck and it will start to flee.  Now, this means it will go fast, which it hates.  This will cause it to become sharper and eventually go on the offensive again.  And so, the cycle continues. 😀

Reaction time will also scale slightly with health, so some enemies just naturally become duller (or sharper) as health declines.

I’m hoping that this system will be both effective and easy to implement.  Thoughts???

Tagged , , , ,

The Genre-Swap Game (or something like that)

I’m noticing a trend in games which involves taking a franchise and “rebooting” it in a different genre.  Usually this means taking a beloved game or series and making an FPS out of it, but I’ll save my angst for another post.  What interests me are the possibilities for this kind of genre-swapping.

Like many of my ideas, this one was born as I was playing around on my computer, specifically in Visual C#.  I was thinking about games like XCOM and Syndicate, and decided to write a simple program to facilitate my thoughts.  I loaded some genres in and basically created the equivalent of a hat filled with genres to pick out of (fancy, right?).  Then, I thought of a game…

My first thought was obvious.  I guess I wanted to strike back at the thought of strategy games becoming FPS, so I chose Call of Duty.  The genre I got was Puzzle.  Call of Duty: Modern Tetris?  Puzzle Fighter: Modern Warfare?  There were a lot of other funny results as well, including a popular action franchise becoming a Japanese dating-sim.

I wonder if Ninja Gaiden: The Dating Game would still be crazy-difficult...

I remember putting “Cooking Sim” in there just for laughs.  It never came up.

Call of Cooking: Modern Mama.  I’d totally buy that.

Try it yourself, you don’t need anything fancy.  Mix up the genres in your favorite games.

Tagged , , , , , , ,