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

Dev Update #3: Automation and Refactoring

Dev Update #3: Automation and Refactoring

Heyo!

Today’s update is pretty much what I had announced on the previous update, plus some work moving certain methods to better locations in the code.

So now the base shot will be automatically updated as we modify the landscape surrounding the course. This will only work if the hole is closed, so that you can’t modify the hole as players are playing it. (This may be revised later if it proves to be more fun to allow you to grief the AI)

Also optimized the process by making the course cache the nearby tiles once the course is created, and then further process to calculate the base shot become a lot faster and cheaper since we don’t need to do raycasts every time we update. It also allowed me to add more precision by refining the raycasts and adding the neighbours of the tiles to the cache as well. Here’s some pictures explaining the process:

Start off by placing the Tee and the Hole tiles, the base shot is generated. No fairway, so it is happy to find a random grass tile somewhere:

hole01

Then I begin adding some fairway to the course. You can see the path change, and become incomplete. That tells you that this course isn’t really eligible for the public since it can’t find a proper Par without having to resort to landing on grass, and that is bad mkay.

hole02

On the next patch of fairway, the course becomes doable, as it can finally reach the hole:

hole03

Needs more challenge, though, so I add some bunkers here and there, and modify the overall base shot:

hole04

That’s more like it. That first stroke is treading dangerously near the bunker, which is great. So on to continuing my edit:

hole05

A short Par 5, which could easily be completed in 4 for a nice birdie, or even for an eagle if your chipping game is strong. Still could do with some adjustments here and there, but it’s a nice start. And all done dynamically, so I don’t need that “refresh” button anymore! Progress++!

Next step will be taking hazard into account when making the base shot. Now the function will only seek to land in fairway or green, which is what we want. But if there’s a tree in the way, it won’t care and draw the path right through it. That’s NG, as we say in Japan. This might be a stroke for a better golf player; but the par is calculated based on the handicap 0 player, who likely wouldn’t try such a risky move! So that’s the next issue to tackle on my list!

Hope you enjoyed the break down! Any questions/suggestions, don’t be afraid to comment!

Dev Update #2: Refreshing the Base shot

Dev Update #2: Refreshing the Base shot

Hello folks!

Tonight I’ve finished the first pass at implementing the function to refresh the base shot, for use when you are landscaping your beautiful course. Right now it needs to be triggered manually via a button, but once I refine it a bit it will happen automatically if you place a tile in the “path” of the course. Time for pictures!

Here we have a first pass at refreshing the base shot of the course. The origin point of the red/blue/yellow lines are the end/begin point of every stroke. These lines are the directions we cast a ray when trying to find eligible tiles for the shot. It looks only for green/hole/fairway tiles at the moment, as that’s where the player would be regularly aiming for:

firstPass

With 441m for a Par 5, this is slightly on the shorter end, so it could theoretically land on the green with 3 shots without a terrible amount of effort.

Next I tweaked the fairway a bit, and refreshed the course again:

secondpass

The slight change in layout produced a slightly larger course in the same area, rising up to 450m. But this shows one limitation of the current system: If the angle of the yellow/red lines was smaller, we would have been able to hit the green in our third shot, instead of necessitating a fourth shot to be in a better range. Or even, upon finding the hole, exploring the nearby tiles to find the extent of the green, so that we could have a better decision. Maybe I could reduce the angle of the check/tweak number of rays based on distance to the hole. So further away strokes can explore the area better for possibilities, while nearby strokes need to be more specific towards the hole. Or even simply adding the neighbours of the tiles to the list would suffice. I’ll test this tomorrow!

Still, I didn’t really want the course to fall down that side, so I changed it once again:

thirdTry

This produced an even shorter course (potentially), much more straightforward, and easier. A very short Par 5, barely a Par 5 even. Extremely easy, but I like it, as it provides some good base to increase difficulty, specially on the first stroke. It barely lands on the fairway, so less confident golfers might instead burn a stroke on getting to the earlier fairway patch first, to get into a better position. And I could add a bunker at the entrance, like below:

thirdB

Now this would really discourage less confident golfers, as the position of the bunkers ups the stake in case of a mistake, and would reward confident golfers who were able to land the shot, making them feel great and more willing to pay the price of membership. Capitalism, yo!

That’s it for today! Tomorrow I’ll automate the base shot generation process, to reduce clicking amount, and improve the function further so that it can make better decisions when mapping out the course. Afterwards, I’ll make it detect if there’s hazards on the way, so as to avoid and look for a better alternative. Maybe ace golfers would try the hazard shortcut, but the base shot isn’t for them anyway!

Til next time!

Fore!

Fore!

Welcome to the dev blog for my new game, Boss Golf!

It aims to be a spiritual successor to the excellent Sid Meier’s SimGolf of the early 00s. Been working on it on and off for the past two months, and progress has been a bit slow as I also work full time in the game industry.

So hopefully, keeping this blog updated will give me the kick in the butt I need to speed up progress and get an awesome game out!