Weekly Update #5: Very Important People

Weekly Update #5: Very Important People

Hello folks!

Time for this week’s update!

We start off with refinements to the employee system. There’s a brand new panel for management of the staff on your resort, combined with the option to hire new people, as you can see below!

hiringPeople

Prior to hiring, you’ll have an overview of the candidate, a little backstory on them, and their hiring fee. This is a percentage of their yearly salary that is paid upfront to have the privilege of hiring them.

For managing, as well, now you can set the tasks that a specific employee can perform. Want one landscaper focused on decoration and one focused on landscaping? You can!

manageTasks

Clicking on the employee will also open up a more detailed panel with relevant information on them, as well as the possibility to fire them/relocate them etc.

Next up, Very Important People!

And a messaging system.

As your resort reaches a higher star level, there’ll be more opportunities for VIP characters to want to drop by and play some golf, and maybe put in a good word for your resort.

To that effect, a messaging system has also been implemented providing you with more interaction with the game world!

messageInABottle

From here, you’ll get smaller missions, goals, and special offers to help improve (or hinder!) your resort’s profitability.

There are a lot of improvements under the hood too, specially when it comes to employee AI. Now they’re smarter in how they go about their job! Later on, I’ll add an energy meter for them, requiring them to take breaks every now and then to recharge. You’ll also have access to special facilities to build to improve their energy faster! (at a cost…. 😉

That’s it for this week! There’s a three-day holiday coming up, so expect a bigger update for next week!

-Gus

You’re Hired!

You’re Hired!

Howdy folks!

Today I’m gonna talk about a major addition for 0.6: Hiring and Firing employees!

Until now, in Boss Golf, you pretty much had your starting landscapers and that was that. From now, however, you’ll have more control over the people who work in your resort!

You’ll be able to hire new employees, fire old ones, and manage the finances of your resort up close! Check out the UI for it!

you_are_hired

Not only that, I’ve also implemented the experience system for employees! They will now come with a specific rank, and this rank will be improved as they do their jobs efficiently.

Of course, higher ranks not only means better job performance: it also means a desire for a larger salary! When an employee is promoted, his salary ambitions will raise to match the new rank. So you better keep an eye out, and increase the salary of the employee, or risk angering him which could disrupt your operations!

Down the line, I’m going to implement a perk systems in the form of “training”. Whenever a worker gains a promotion, he’ll receive a training point. This point can then be spent (together with money) to train the employee, by selecting a perk you wish for him to earn. Things ranging from faster movement, discounts on actions, better morale etc. The employee then will be sent to a training camp, for a specific amount of time (the duration of it means he won’t be able to work at the resort).

He’ll then come back with the perk, and a desire for more money! So pay attention to when you decide to train them!

Not only that, the pool of available employees for hiring is generated at the start of the game. Every month the recruitable pool is updated, and a fraction of the total pool becomes available for hiring!

This pool will be saved throughout your character’s career, meaning that the workers available in the game will improve in skill as you play the game. Any employee you fire will also return to that pool, and will be available for hiring again later down the line.

In this way, the gameworld will continue evolving and improving together with your character. The better you are at managing your employees, the higher the challenge will be at higher levels, since they’ll all be leveling up with you, gaining more skills, increasing their costs and whatnot.

There’ll also be employees who will decide to retire for whatever reason. Age, injury, boredom, whatever it may be. Whenever an employee retires, a new one will be created and added to the pool, ensuring that there’s always a constant “supply” of workers for your resorts.

So get ready for more depth in the management department! 0.6 should be out next week! Perhaps even this weekend if I can get in the flow!

-Gus

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!