It’s a clubhouse!

It’s a clubhouse!

Hello folks!

Happy new year as well!

Today’s update is about the clubhouse, the first building available in Boss Golf!

its_a_clubhouse

The main function of the building is controlling AI access to the course. It knows which AI is currently playing, the capacity for people on the course (which will be tweakable later), and decides when to spawn a new player. In the screenshot above, you can see 3 AI golfers just loitering around the clubhouse, as their idling/golfing routines haven’t kicked in yet!

For now, the clubhouse is placed randomly, and cannot be moved/removed. Accordingly, the terrain where the clubhouse is placed cannot be raised/lowered. You’ll also be able to click on it as a shortcut for the information on your golf resort, which is useful for aspiring golf tycoons.

As the gameplay systems expand, you’ll be able to tweak membership, decide on prices, course opening hours, all sorts of little things through this main building, as well as expand it, change its appearance and whatnot.

For 0.3, I’m working on the saving system and on blending the player golf gameplay with the AI golf gameplay. Your character will have to queue up for the hole like any AI character does, and you’ll get a notification letting you know when your turn is up! With the save/loading, you’ll be able to continue working on your course as the alpha progresses too!

That’s all for now, folks! Hope you have a great new year!

Golfer AI Sketching: State Machines

Golfer AI Sketching: State Machines

Hello folks!

To break the silence today, I’ll talk about the sketching of the AI of the golfers in Boss Golf, something that I’ve been working on over the past week!

I have a great interest in AI, being an AI programmer professionally, so for Boss Golf I want to create some very interesting things with AI, to reinforce the living feeling of the NPCs, as well as give rise to the unpredictable events in the game.

To start off, I’ll describe the main backbone of the AI in Boss Golf: State Machines.

State Machines are basically a set of nodes that determine the current state of the AI (sleeping, idling etc), and how they transition into each other based on set instructions. How/when these transitions happen are decided by the programmer.

For Boss Golf, since gameplay is very segmented, state machines will be used to determine the basic state that the AI is in. Some of these states include, but are not limited to; teeing, putting, approaching, idling, waiting, interacting, resting, moving. The more expanded the state machine is, the more different and interesting behaviors we can get out of the AI.

For example: why separate the act of playing golf into three separate states? (Teeing, Approaching, Puttting) They could easily be condensed into one “playing” state since the actions that the AI will perform are very similar. (moving and hitting the ball)

The answer is that by adding this degree of separation to the behavior, we can have the AI interact and respond differently to events that happen at different points of play, in a more neat or organized way. If rain interrupts play during teeing off, it’ll have less impact on a golfer’s mentality than if he was putting; the stakes are different. Instead of having to keep track of how many strokes he has and how close he is to the hole, we can simply query the current state, and make the AI react accordingly.

And that’s just on one particular possible event. When you combine with other events, and add layers of actions and behaviors, you end up with a more interesting AI rather than one that simple goes around hitting the ball.

We can even add some variety to the transitions based on randomness or the attributes of the AI character. A golfer with poor health/lower stamina may have a bigger chance of switching to the rest state after a hole than a golfer in better health; a golfer with more aggressiveness maybhave a bigger chance of switching to a raging state after a failed easy shot than a calmer golfer.

And that’s the basics of it. I’ve sketched out some basic states that need to be in the game, and am in the process of implementing them. With state machines, we can also add new states at any point in time since they are self contained, so expanding the AI can be done quite easily.

Next time I’ll talk about another aspect of the AI that requires more difficult work to get it working correctly: Utility Functions.

That’s all for today folks!

Linux Demo Added!

Linux Demo Added!

Hello folks!

I’m happy to announce that the Boss Golf demo is now also available for Linux!

There’s version for both x86 and x86_64.

Download information, as always, available on our Demo page.

Any issues you find, don’t be afraid to contact us either using the contact form, or by visiting our subreddit.

Now, back to work!