Get Energized and Stay Motivated with Slides from my April 18th IGDA Des Moines Presentation

Most indies pay little attention to their purpose, mission, and vision, but then again, most indies don’t have sustainable businesses. The vast majority don’t make $500 in a year.

Rolling the dice and hoping for a hit, or at least something that earns enough to fund the development of another game, is not a serious strategy.

And there are a lot of new new indie game developers struggling with motivating themselves to work on their projects for more than a few days at a time before the pain of the creative effort overwhelms any enthusiasm they had to be a game developer. There are always posts online asking for tips of staying motivated.

At the most recent IGDA meeting, I presented an updated version of my 2014 talk Playing the Long Game: The Vital Importance of Purpose, Mission, and Vision to Your Indie Game Development Business.

I’m running my business part-time as I have a day job, but doing a poor job of running GBGames as a full-time independent game developer from 2010 to 2012 taught me some major lessons about running a business. Other indie game developers could benefit from my experience.

While there is no video of the presentation, I uploaded the slides with notes in a few formats:

Knowing who you are and what you stand for will go a long way towards reducing the stress and pain and fear that can otherwise be a regular part of running your own indie game development business.

At the very least, it will give you the energy and motivation to keep working on your projects for the long haul.

See Me Present at IGDA Des Moines on Tuesday, April 18th

The Des Moines chapter of the International Game Developers Association meets every third Tuesday of the month, usually at the Gravitate offices, a workplace community for entrepreneurs, freelancers and remote workers.

At this Tuesday’s meeting, I’m excited to be presenting an updated version of my 2014 talk Playing the Long Game: The Vital Importance of Purpose, Mission, and Vision to Your Indie Game Development Business, sharing lessons that can be drawn from my experience running an independent game development business full-time between 2010 and 2012, and talking about what I’ve done with my business since then based on those lessons.

Many indie game developers dive into the business head-first with nothing much more than a vague dream and some hope, and often with disastrous results. My aim is to help you clarify your Why, your What, and your How so that your efforts are clear, focused, and more decisive, both immediately and in the long term.

I hope to see you at this free event, whether you’re an established game developer, an aspiring one, or someone who is interested in learning about the behind-the-scenes of games.

You can register for the IGDA Des Moines April meeting, mainly to ensure we’ll have enough pizza and drinks for everyone. B-)

Limiting Screen Time for Your Kids Isn’t Necessary?

When I was younger, my parents would tell me to turn off my Atari 2600 or my Nintendo because I was staring at the TV for too long. I remember one time in particular in which my father said something to the effect that it would ruin my eyes to play for so many hours at a time. I subconsciously rubbed my eye at that point, and he said, “Ah, hah! See?”

And I have felt self-conscious about rubbing my eyes after long sessions in front of the computer ever since.

But the main point is that I have always had this internalized idea that too much time playing video games or watching TV is bad (although it didn’t stop me from playing Civilization all night once…ok, a few times…I can stop taking turns anytime I want to!). There were health reasons, and there was also the idea that I should get outside into the fresh air more, or be more social.

As a game developer who is interested in creating entertainment that encourages curiosity, supports creativity, and promotes continuous learning, I would love to be able to watch my niece play the games I make and get not only real-time feedback but also help her on her journey to becoming a terrific person.

But when I visit, I find myself wondering if perhaps I shouldn’t contribute to even more of her screen time, as I almost invariably find her playing video games either on a tablet or on the computer.

If anything, my family is often getting her away from the computer to interact with people in the real world before she forgets how to do so. People like me, for instance. “Hey! I live over 300 miles away and only visit for a couple of days every few months. You could at least look at me once or twice!”

I know some people who use screen time as a reward for doing chores or good behavior, and taking away screen time is a punishment. By and large, their kids are not allowed to play games or otherwise use computers recreationally for more than so many hours per week.

But according to Christopher Ferguson of Stetson University, a recent study he led found that “there is only a negligibly small association between excessive screen time and higher levels of depression and delinquency among teenagers.”

Well, that’s good news. Playing too much Minecraft or Halo isn’t what leads your kids to becoming disaffected youth. Whew!

What’s more, Ferguson argues that since computers are so integral to society and how we live and work, preventing children from become familiar with modern technology is likely to prevent them from being able to participate in our increasingly fast-paced lives, which is the exact opposite of the result many parents might want when they limit screen time.

Funny, I’m pretty sure that was the argument I used to convince my parents to get me Mario Paint, which came with a mouse peripheral.

Naturally, our focus can shift from how long children play games to what games they are actually playing. I’m reminded of Steven Johnson’s Everything Bad is Good for You, which argued that today’s TV and video games are actually more challenging than they were decades ago, and so children watching TV and playing games today are essentially training themselves in decision-making and other important skills.

Even if too much screen time isn’t a real issue, I still might pry my niece away from games periodically, if only to be able to catch up and spend quality time together away from the screens. But the Ferguson’s study made me feel more comfortable letting my niece play games that teach responsibility and strategic thinking such as Toytles: Leaf Raking.

Of course, I also think a well-rounded video game education is in order, starting with the classics.

Let me dig out my Atari 2600…

Book Review: Behavioral Mathematics for Game AI by Dave Mark

Behavioral Mathematics for Game AI Book

Intrinsic Algorithm’s Dave Mark, a fixture at the Game Developer Conference’s AI Summit, is also the author of Behavioral Mathematics for Game AI.

Most game AI literature covers the basics in a general way, such as finite state machines, flocking and steering to control movement, pathfinding algorithms such as Djikstra’s or A*, goal-oriented action planning (or GOAP), and more.

Mark’s book, however, covers a specific topic in great depth: game AI decision-making.

You might have a character that can do interesting things such as hunt, flee, eat, track, alert nearby allies, etc, but if you don’t create a good system that allows that character to make decisions between those behaviors, it may not convince your players that it is intelligent at all.

The goal is to create behavioral algorithms to get computer-controlled agents responding to their environment in believable and sensible ways. To get there involves a journey through the subjects of psychology, decision theory, utilitarian philosophy, and probability and statistics, among others.

Mark was great at walking you through each step of this journey, combining theory with detailed explanations and examples, including code. Sometimes I felt the detailed explanations were a bit too detailed, but at no point did I feel like I was lost.

He never made a leap in logic that left me behind because he was holding my hand at every step of the way. Sometimes I appreciated that hand-holding, especially for the more involved statistics, but there were a couple of times when I found myself getting a bit impatient and wanting to run ahead.

And it is probably partly due to the fact that it’s a long journey. At one point, I realized I was over 300 pages into the book without feeling like I knew how to integrate and apply all of the individual tools I was learning into a cohesive system.

The examples he used to illustrate his point were sometimes bizarrely relatable. I have never tried to create a model of my behavior related to when I decide to replace my older razor blades with newer ones, but Mark did, and I actually found myself nodding with recognition that I do tend to use my last blade in the refill pack for way longer than my other blades.

Other examples demonstrate how his utility-based decision-making system can address problems with past games, such as the strategy game AI that kept sending its attack force towards the most vulnerable target. Savvy players can keep defensive forces outside of city walls, then place them in the city at the last moment and moving units out of a city far away. By doing so, they could keep the AI units moving back and forth, unable to carry out an attack, for as long as they want.

Solving this issue involves giving the AI the ability to have decision momentum by making decisions include all of the relevant information. The AI isn’t just deciding what city to attack. A single decision is what city to move to AND attack, which incorporates the time it takes to travel to a target city. Suddenly, the decision to change course in order to attack a different city is a bit more painful, and so the current target is more likely to be maintained.

I appreciated that he covered the problem of having the AI always making the best decision. While academic researchers might love that result, players are likely to find such AI as unrealistic and, worse, uninteresting. And if there are multiple AI agents that do exactly the same thing simultaneously, it’s even more of a problem. So there’s an entire chapter on ways to ensure that the game AI can be reasonable yet still interesting from one play session to the next.

The book was published in 2009, and so you would think it means that any information you could glean out of it would be obsolete after almost 10 years of advances and progress in the field. And yet, the basic decision-making system that drives behaviors is still relevant.

One of the benefits of reading an older book is seeing the ideas of that book illustrated in front of you in other media.

You can see Mark’s talks with Kevin Dill from GDC 2010 and 2012 in the GDC Vault. Improving AI Decision Modeling through Utility Theory and Embracing the Dark Art of Mathematical Modeling in AI both introduce the use of this utility-based system in games.

In 2013, Mark’s portion of the panel Architecture Tricks: Managing Behaviors in Time, Space, and Depth introduced the Infinite Axis Utility System, which takes the concepts from the book and puts them together into a simple yet powerful architecture.

In 2015, Mark and Mike Lewis presented Building a Better Centaur: AI at Massive Scale, in which they describe the Infinite Axis Utility System that was the architecture behind an MMO.

I’ve seen these videos before, but having now read the book, I found that upon rewatching them that I understand the sections on response curves and how they apply to the actions the IAUS chooses.

Behavioral Mathematics for Game AI is not a beginner’s book at all, but if you are interested in learning how to give your AI powerful reasoning abilities that produce rich, believable behaviors for your players and want it to be easy to understand and design with, I’m not aware of another book on the subject that is as accessible as this one.

How Much Do You Value Privacy and Security in the Apps You Use?

I tend to dislike relying on third parties to provide me with services I find indispensable.

If I can help it, I prefer having control over my own services, even if it means having a poorer experience than a flashier, proprietary solution might provide .

Staying in Control of my Mental Food Sources

For instance, years ago I used Google Reader quite a bit to keep up with news on the game industry, on blogs I followed, and more. It was a great service.

And then I imagine with the rise of social media my own usage dropped without me realizing it, so when they announced they were discontinuing it in 2013, I learned about it probably on Twitter.

There were plenty of tech-oriented news sites putting out articles on replacement services, such as Feedly, which I know lots of people recommend.

But I was curious about creating my own personal Google Reader-like site. It’s just collecting a bunch of RSS feeds and showing them, right?

Before I got too far wondering how to do it myself, I learned about Tiny Tiny RSS, open source web-based news feed (RSS/Atom) reader and aggregator.

Open source means I don’t have to worry about a third party disappearing or pulling the service for one reason or another. I also don’t have to worry about said third party collecting data on my reading habits.

It was years before I got around to setting it up on my own web host. In fact, I didn’t do so until last December. But now that I have, I feel like kicking my past self for not doing so sooner. It’s incredibly useful, especially as I can’t trust various algorithms (and the algorithm writers) at Twitter and Facebook to show me what I specifically wanted to see.

And the best part is that I am in control. I can backup my data and take it to another web host. I can use my own desktop computer to act as a server if I want. I can see everything without filtering or some company deciding that NOT showing me what I subscribed to is somehow better.

I just hope I never need to ask for support, unless I want to deal with the developer equivalent of the Soup Nazi. Reading through the support requests I did see when I was trying to figure out how to set up the software left a bad taste in my mouth. Yeesh.

But since Tiny Tiny RSS is open source, I technically have the ability to take my support requests elsewhere. Again, I have more control and more options.

My Any.Do Woes

More recently, I ran into a frustration with an app I depended upon to manage my todo lists. A few years back, a friend recommended the Android app Any.Do to me, and I’ve used it ever since.

It was intuitive, allowed me to setup recurring items, and showed me my items in the order I liked, separating things that are to be addressed today from the things of tomorrow or in the vague future.

I of course used it for one-off items. Maybe someone recommended a book to me in a conversation. I would pull out my phone, open up Any.Do, and add an item to remind me to look up the book later.

But the ability to set recurring tasks was a huge feature. I set reminders for mundane things like watering my plants every week or cleaning the litter boxes each morning. I used it for regular habits, such as writing a daily summary of the prior day each morning and using my evenings to plan for the next day. I even used it to remind me to write blog posts or update my finances.

At one point it started trying to get me to install their calendar companion app, but I was fine with my current situation, and I learned I could disable the reminder.

It also kept asking me to get the pro version, but as I had no interest in syncing between devices, I was fine with the free version.

And everything was fine. Well, mostly. It had a few minor bugs I got used to over the years. Every once in awhile, the UI would get glitchy. Sometimes the tasks would look like they were reloading on top of each other, and eventually I think there would be a conflict that would prevent me from swiping a task to completion or adding new tasks. Closing and reopening the app usually cleared it up, though.

The bigger, scarier one was when I would open Any.Do only to find a blank screen. My task list, the one that that I live by, was gone!

The first time, I had a moment of panic because, hey, free version, meaning no syncing, and therefore no backups existed. But then I not only closed the app but shut it down. When I launched Any.Do again, there was my list. Whew! Every critical bug with a workaround becomes a minor bug. B-)

So, I happened to see that Any.Do had an update in Google Play, and I went to check the changelog, and all it said was “Every update is a boost to the app’s stability, speed, and security…” Maybe they finally fixed the bugs?

So I update the app, and now I find out that the syncing feature of the pro version is required in the free version.

Required.

Now when I launch Any.Do, I see a screen asking me to create an account by linking the app with my Facebook, Google, or personal email account in order to keep my tasks and lists in sync across all of my devices.

And there is no way to get past this screen so I can see my list again if I want to avoid creating an account I don’t need.

I’ve learned that Any.Do is also integrating with Alexa and will have a chatbot to help you with your to-do items. I’m sure those are great features for people who like them, but I’m decidedly not an early adopter, and I think I prefer my to-do list app to be sans A.I.

TODO: Find Another To-Do List App

So the changelog lied, and now my choice is to comply and lose a bit (or a lot?) of my privacy, search for older APKs of Any.Do and worry about where they came from and whether or not it is safe to install them, or find another app.

I decided to look for another app, but I wanted to be more careful this time. I already hate it when seemingly simple apps ask for way too many permissions.

Unfortunately, almost all of the apps I could find that focus on privacy and limited permissions were too simple. Recurring tasks are almost never available as a feature.

Privacy Friendly To-Do List by the SECUSO research group would otherwise have sounded perfect in terms of limiting permissions and providing control.

I did find an app called To Do List & Widget. It had limited permissions, which boiled down to “it needs to read and write to files”, and it lets you back up your lists manually.

It’s only downside besides a UI that is somewhat less intuitive than Any.Do’s is that there’s almost no information about who made it and where it came from. It’s definitely not open source. While the permissions allow it to do only so much, I still found myself being a bit uneasy about trusting it on my device. And besides, what happens in the future? Will it continue to be updated?

So ultimately I settled on Taskwarrior, which is a GUI app wrapping the command line tool of the same name.

The underlying system is incredibly powerful, and so unfortunately I found the UI requires me to learn how to use it. Recurring tasks aren’t as easy to setup, for instance, but I can do more interesting schedules than what Any.Do restricted me to.

And if I ever do setup my own Taskwarrior server, I can get syncing on my own terms.

I was surprised that it requires a lot of permissions, but it boils down to the app needing to create and use an account on the device and needing access to the network to do the syncing. There are no in-app purchases or ads, and the source is available so I can build it myself and read through it to verify that nothing nefarious is happening under the hood. I also have the ability to continue updating it if the original maintainer disappears.

The user interface is awkward for me at the moment. Any.Do showed me my tasks for today, tomorrow, and later, and it even had a separate category for unscheduled stuff as “Someday”. A recurring daily task I completed would show up in the Tomorrow list automatically.

Taskwarrior’s default views are showing me everything, and while they are in date order, it’s not cleanly separated. Also, recurring tasks are automatically synthesized from the template task, and so I find I can have multiple instances of the task at once in my list.

Then again, these issues might be due to me not knowing how to use Taskwarrior properly.

What’s Important to You?

Some people might balk at the idea of investing time into learning how to use an app when a more intuitive one is available.

And that’s fine. I get it.

But I’ve been starting to value my privacy and my security even more these days.

And it’s not an absurd paranoia. Recently there was news about a popular makeover app with privacy red flags. Pokemon Go was a concerning app until they changed the scope of the permissions it required to run.

I already know that Google tracks where my phone goes, which means it knows where I go. I should really turn off the GPS when I’m not actively using the map functionality, in fact. It’s always disconcerting to see the notification telling me that it is using it because none of the running apps in the background should care where I’m at.

I mean, when I took a picture at my mother-in-law’s house during a party, I got a request to upload the picture and attach it to the search results of the nearby public park. Ick.

Artificial intelligence is huge these days, and with chatbots and intelligent personal assistants such as Siri, Google Now, Cortana, and Alexa, we’re seeing a lot of benefits in the way of convenience.

To get that convenience, though, we’re handing over our data to the people behind our devices. And yet, security is rarely treated as a priority, which means that even if we trusted our data to those people, it might also be getting to people we don’t trust.

And so, because I value my privacy and security, often it feels like my choice is to opt-out or roll my own solution.

And since everything is getting artificial intelligence integrated in, it often means tolerating third parties getting access to data more or using alternatives. And if I am going to use alternatives anyway, they may as well be ones I have the most control over.

Thank goodness for free (as in speech) software, eh?

Follow GBGames on Google Plus and Facebook!


Twitter: gbgames