The Day After Dev Report #18 – Faster!

Okay, seriously? It’s February already? Maaaaan…

The year is moving way too quickly. Everyone’s back from the Christmas slump and now it’s all everything happening all the time. Which is not bad, I’m just surprised that game dev isn’t keeping up.

Coding

My previous code (written on my old machine) works excellently on my new machine, so I’m happy to not spend time making that work. I’ve fixed some small bugs like resizing the screen screwing up the mouse.

Engine work will necessarily be chilled if not frozen for a few months. I’m focussing on the gameplay and people are apparently working on a SVG capability for CEGUI which would be exactly what I need. So I’ll wait for that. I’ve put networking and sound on the backburner, so it’s just gameplay code.

I’m making attacks at the core scene code but it’s complicated stuff. It’s the nexus of the gameplay loop, objects, characters, AI and input. I’m trying to build it up from something dumb into something less-dumb but it’s taking a while.

I’m also taking a lateral step and working on web apps to make content creation tools. That’s going okay, but easy to be distracted or flummoxed by something. It gives me more practice with SVG as well, so that can only be good.

Business

I’ve been talking to a lecturer from the Academy of Interactive Entertainment about commissioning artists. The AIE trains people on beginning to advanced game and media development. Some people try to get such folk to give them free work in exchange for something to put into their portfolio. Others offer them jobs. I’m somewhere in the middle – I’d like to pay them, but I’m just me. On my side: I don’t have a strict time limit and I’ve had some experience in commissioning art. He was telling me that some people come in and go: “I’d like all your artists. Produce for me ten arts, please.”

In theory I could do the art myself but I’d rather not. I can do some basic 3D modelling, rigging and the like, but that’d be more work on my plate. It’d be nice to pay someone, have some nice art and they could gain some experience.

I haven’t heard back from the guy, but I’ll see how it goes.

If you have happened to stumble across this page and are looking to do some 3D modelling work (preferably with rigging), let me know.

Gameplay

I’ve been thinking about how objects, the AI and scenes work together. So here’s your problem:

You have AI interacting in a scene. They control a character and they can make choices.

>Where do you encode this? In the scene? For each scene and each character? How do you ensure consistency?

Okay, so you move it out into the character. How does a scene communicate what a character can and can’t do? How does an AI get that list and determine what’s a good choice or a bad one?

So we assume we have some communication going on between scene and AI that communicates the options the AI has available to it, and it can make some sort of decision on that. Now throw in objects like a gun, knife, rope or chocolate bar. Objects are capability. How does this factor into the communications? How does a scene say, “You can do particular things with weapons, but there’s no use for food in this fight?”

Throw on top of this the idea of imperfect knowledge: if there’s a button you can press, does the AI know what happens if it does or doesn’t? Does it know but then try to pretend it doesn’t? What about random events? What about that tricksy human player?

A bad design would encode all of these things into the scene. Any time you add a character, an AI capability or an object, you have to flick through all your scenes and add the capability to handle that new thing. This is a combinatorial explosion of work.

Another way to do it is to simulate everything. A chocolate bar has some (minimal) combat utility. The simulator knows how hard it is to throw a bar of gold. You have all that simulation and that’s how things are resolved.

I’m currently working on a way that’s not simulationist and minimizes my work. Every time I think I have it, some other wrinkle pops up. I’m trying to just implement something and then work with what I’ve got (rather than design it all whole-cloth). Fail faster, as Extra Credits suggests.

The Short and Sweet

What I’ve been working on lately:

  • Tools
  • Bugs
  • Not looking at the calendar

What I’m working on the next run: much the same, but with a focus on the gameplay.