New Home Page!

New Home Page!

Hello folks!

I’m pleased to announce the release of our new home page: Boss Golf

This page will now strictly become the development blog for the game. Our home page will now contain more information regarding release dates, testing, rewards etc.

In anticipation for the release of the AI demo, I’ve also decided to improve the pipeline for testing the game. Moving to a closed alpha system so that I can keep better track of how things are, and get better feedback from the fans.

If you are interested in alpha testing Boss Golf, please check out the information on our closed alpha page!

That’s all for today, folks!

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!

Golf Gameplay: Character Automatic Movement

Golf Gameplay: Character Automatic Movement

Hello folks!

For today’s golf gameplay-related dev update, I’ve added automatic movement to the character, for reaching the ball and sort of positioning himself to take the shot!

It was easier than expected, thanks to some foresight of past Gus when coding the game. I simply moved the function to shoot the ball away from instantaneous execution after releasing the mouse button over the desired location, and put it in another action executed by the golfer character once it has reached the calculated point of shooting.

This calculation is a bit dirty now, as it only tries to get position slightly away from the ball and perpendicular to the direction from the ball to the desired target. For the current prototyping purposes it works.

The golfer also slightly delay the shot when he arrives in position, in order to “think” about how to hit the ball. I’ll add some animations and fluff to this step later.

You can see the execution of a hole with the new system below:

Golfer walks to the tee and drives the ball.
Golfer teeing off!

 

Chip shot on the edge of the bunker
Chipping it in closer to the green!

 

Little golfer chips it home for a par.
Sweet chip in, Payne!

And that’s it for today’s update on golf gameplay! Still need to automate the moving to the ball more, so that the doesn’t wait for your to finish deciding on the stroke before taking position. And the shot visualizer thing is still broken, giving out NaN results depending on the slope. I’ll make a better fix for that later!

That’s all, folks! Keep on teeing! And may your strokes never slice!

(Also, starting from today, I’ll drop the numbered update from the format and put in a more relevant title off the bat. This will give you, readers, a quicker idea of what the feature is relevant to straight off the title. Categories like Golf Gameplay, Tycoon Gameplay, Management Gameplay etc will make it easier for navigation!)

Demo Updated with Day-Night Cycle

Demo Updated with Day-Night Cycle

Hello golfers!

I’ve updated the game to add the day-night cycle feature, as well as fixing an issue where the ball would be shot into oblivion if you shot it uphill/at an incline or something.

The shot curve visualizer thing isn’t perfect; but the shots no longer bug out. Or shouldn’t!

In any case, go ahead and try out the demo! Available here as usual! Both Mac and Windows versions available.

Oh and we’ll be adding Linux support for the demo pretty soon!

Here’s two nice holes I built with the current version of Boss Golf!

Fear of the Dusk

fearOfTheDusk

Morning Glory

morningGlory

Next on the list is a reworking of the play/golf hole panel, giving you better/more interesting information regarding the hole, as well as the possibility to open it up for AI play. Which will be implemented later this month, at least at a basic level!

Anywho, enjoy!