I’ve finished adjusting the stroke mechanic to take advantage of the new club system. Had to do a bit of trial and error to get the proper values for the different clubs, based on their face head, their type, their maximum distance.
But now it all works! So each club should now feel different from the other club, and the AI will try and use the best one for each situation. (As it deems fit, of course!)
Began prototyping the new golf controls for the player too, should be done sometime this week. Then I’ll release 0.5 for your enjoyment!
In parallel, also began sketching out the necessary improvements for 0.6, which will come with an overhauling again of how you landscape the scenery, making a better distinction between holes and regular landscape, etc. You’ll receive better planning tools for plotting out a hole all at once and having the AI execute it, as opposed to the current system of sketching out zones and whatnot.
Together with that, a revamp of the terrain system, separating regular landscaping from water tools. As well as allowing for different kinds of grass, sand etc. Will need to separate the mesh by type, so that I can have better control over the mapping and overall behavior and whatnot.
Today’s update is about quality of life in Boss Golf!
One of the feedback we’ve received constantly regards the launching of the game. Since it goes pretty much from a black/white screen straight into the game, and the loading/processing of the terrain can take a while, some testers thought that the game had crashed upon loading. Which isn’t a very good impression!
To fix that, I’ve spread out the loading/generation of the terrain over more frames, which reduces the processing time by a bit and actually makes the whole thing responsive. And tucked it all away behind a nice loading screen, reminiscing of the Sim games of yore!
I’ve also decoupled the processing from the start method and put it in a proper component to manage the game state. This way, the resort can be reused whenever possible to illustrate other resorts you may visit/manage at the same time. Gives me more control over when things are supposed to load too!
Of course, no implementation is ever perfect! While implementing the new loading, I ended up forgetting a couple of functions that led to this very interesting albeit unpractical golf resort!
Walls, walls everywhere!
Though I’m certain a certain tycoon would be quite fond of this…
But that’s it for today!
Tomorrow I can finish off the contract/goal system, hopefully, then add in the new placement system for decoration, giving you more control over where you will put your trees. A couple of small tweaks here and there, and Alpha 0.4 will be ready to go!
I’ve implemented a system for tracking the finances of the resort, based on transactions and their types, and re-added the cost to placing tiles and playing the holes.
Now once the player approves a zone, the amount is charged to the bank account, and the landscaper goes to work. Players are allowed to go in debt (up to a point!), as long as they fulfill their contractual obligations!
Accordingly, players are now able to set the fee for their course. They’ll be able to choose green fees, hole fees, membership fees, and all other manners of income streams. Changing it too often might anger your regulars, though!
And for some polish, added particle effects whenever money is spent/gained:
(If you look closely on the first screenshot, you’ll see some new UI buttons!)
So now money is in, you have basic ways of earning it, plenty of ways to spend it. As I mentioned before, you can go in debt, as long as you keep to your contractual obligations. Therefore, the next step after implementing the money will be to implement goals! These are the conditions for” winning” in a scenario, and for continued work in the regular campaign mode. I plan to make them as varied as possible and easy to work with, so that creating custom scenarios will be a breeze.
This will also bring Boss Golf closer to what I envision to be the end of Alpha: when I’ll have a playable vertical feature complete slice of Boss Golf, which will serve as the demo version of the game. Still a couple of version until then, but progress is coming along well!
As part of slowing down the pace of gameplay and integrating the management aspect of the game in Boss Golf, I’ve finalized the primary implementation of the AI for the landscaper as well as changed the system for laying down tiles to make him place them!
Until now, you’d plop down a tile, and it would immediately affect the environment. This would let you create a massive resort at a too quick a pace. There was no incentive for careful planning, and it wasn’t an action you could think twice before committing to.
All of that changes now with the Landscaper and its AI. The new implementation, which will be rolled out to the other building features in the game, delegates the act of changing the landscape to the AI, and works on a system of orders.
Players will now draw the areas like they did before; instead of immediately affecting the environment, an overlay is added and an order is created. The players can then view this order’s characteristics: price, time to finish, area etc. They can modify this overlay/order with the bulldozer tool, to trim things they ended up thinking twice over. (Editing of the height of the tiles is still free and can be performed at any time, instantly. Since this is a very vital part of finetuning your golf course, I thought it better to keep it that way)
Once they are happy, they can simply Approve the order, and the landscaper will get around to effecting it once he has the time to do so. Like in the animations below:
Pausing and Resuming has also been reworked to match the new gameplay style. Time now flows at a constant rate, and can be paused whenever you wish. You can’t make time pass by faster; later, however, you’ll be able to go on “holiday”, and the Resort will autosimulate and resolve the events of the day until you come back, or while you are managing another resort. The timescale for the day still needs some tweaking, but that is simple enough! (Also, really cool to pause the game as the AI takes an awesome shot, and just seeing the ball lying in the air, waiting for time to unfreeze!)
Oh! And you are also able to set the working hours for your resort. This will impact your running costs later, but right now it controls when the landscaper will be at work, as well as when the golfers are able to be spawned on your resort!
That’s all for today, folks! Next up is connecting the money (receiving from the AI and spending on building), and adding more management. Perhaps the goals would be a fun thing to have!
It’s finally here! Alpha has now been updated to 0.3, allowing you to do the following:
Have a wall surrounding your resort to keep out “undesirables”
A Clubhouse has been placed, from where AI golfers will now spawn
AI golfers will either roam around or attempt to play any hole that is open
They will accordingly queue by the Tee waiting patiently by their turn
And so will you! You can also play as the AI is playing the course, taking your turn on the queue!
A handful of other under the hood improvements
Saving and loading! No more starting from scratch every time you load the game!
That’s it for this version. Now you’ll have a more workable experience and you can see how the AI tackles your golf course. I may release a tweak later on to modify the AI a bit, like a 0.31 or 0.3.1 or 0.3a, not sure yet. But this should give you some ideas about how the AI will react.
A word of warning: If you do attempt to edit the course as the AI is playing, you may make their ball disappear! If that happens, just relaunch the game. Will work on a fix for this later.
Ditto for if the AI falls through the ground. Haven’t improved the dynamic collider yet, so depending on your machine performance, hijinx might ensue.
Now on to 0.4! The details of which I’ll be sharing later this upcoming week! But for a sneak peak, think Time Management!
That’s all for now folks, please enjoy.
If you haven’t signed up for the Alpha, you can do so here!
Today’s update is about the clubhouse, the first building available in Boss Golf!
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!
After integrating the basic state machine for the AI, I’ve also added a function that allows it to take a very simple shot (basically, aim at the hole, hit as hard as it can inside the distance to hole) and, as a result, the AI in Boss Golf can now play golf!
For the test scene, I’ve built a course with 4 holes:
The holes are all connected by their tee at the center. Spaced them out this way to remove other potential interference. I also added two golfers: Liger Forest, and Ryu.
The holes now have an option to open or close them. Opening them tells the AI they can be used for play. The AI will then queue up for their turn at the hole, and play it when the player in front of them has finished. And it all works!
For debugging, you’ll see a yellow line which marks the path that the AI wants to take, and a purple line which marks the direction of the stroke.
Here you can see the Liger taking a basic strike:
And at another hole, Liger teeing off:
And here you can see both golfers playing on separate holes:
It’s in. Now there’s some work to be done on smoothing out movement and fixing some collision problems. But the basic skeleton of the system is there. Once I add saving/loading, I’ll update alpha to 0.3!
Today’s update for Boss Golf is about pathfinding. Well, part of it.
I’ve added a new tile type, Path, that allows you to build more scenic routes through your golf course, that the AI will use when deciding how to go from point A to point B. You can see the tile in the course below:
Next step is to add this to the pathfinding system, so that the AI actually prefers to use it. Should be done with that this week.
Under the hood I’ve also done some other improvements:
Created a vertex bank so that editing it is quicker, there’s no more issues of double vertexes, and is it far easier to save/load.
Changed the height system to one using an integer to decide the HeightStep of the vertex, and set a height modifier that I can change easily for tweaking that decides how much in Y each HeightStep is worth
Removed the current component for the decoration objects, which was causing some overheard when there were thousands of decoration objects on the scene. Instead, added a simpler class that pretty much works as a struct to keep information, and modified the way that the randomization of size/rotation/position is done to use integers so that I can more easily save/load the details of the decoration
Began reformatting a couple of things so that I can actually save and load the stuff that is being built
As such, the goal for Alpha 0.3 is:
Save and Load capabilities
Pathfinding system for the AI
Golf gameplay for the AI
Meaning that Alpha 0.3 will be quite a vertical slice! You’ll be able to build your course, play it, and watch the AI go around trying to score something good. The game is coming along well!
I’m getting my winter break soon as well, so expect a major rush of progress this coming week!
I’ve updated the Boss Golf closed alpha to version 0.2.
This version features golf gameplay, including the player character, basic idling AI that roams around your course, and a number of other small fixes.
Those of you who signed up for the closed alpha should get an email soon with more download information. Otherwise, just hit up itch.io and the build should be there.
Those of you who haven’t signed up for a club membership, you may apply for the closed alpha here!
We’re not at capacity yet for the closed alpha, but the spots will run out soon! So get that sign up going!
That’s all for today folks. For alpha 0.3, I’m aiming at basic play AI, better ground collision, basic pathfinding/avoidance, as well as paths that you can build to link your holes. As a stretch goal, basic save/load capabilities.
That’s all for now folks! It’s a beautiful weather out today. Get to that green!
Sorry for the lack of updates recently. Been swamped with stuff at my work, and had to fight off a nasty case of food poisoning. But now I’m better!
For today’s update, I’ve finished reimplementing the player controller for the little golfer in Boss Golf, and now it works much, much, much better. Plus it sticks to the surface! It’s the opposite of teflon!
Of course credit where it’s due, I’ve adapted Roystan Ross’ Super Character Controller which is simply awesome. Works like a treat. It was effortless to create the state machine and implement a “point and click” interface. As it is, the character will pretty much walk to where the mouse clicks. In a straight line. Further down the line I’ll make the pathfinding smarter, by utilizing the paths players will build across the course, which will make it avoid other things along the way. A* should suffice, made even easier since the whole game is in a grid.
I also have full control over the speed of the character, which can be changed on the fly. On top of this state machine, I’ll attach the AI controller I’ve been writing to handle the decisions that will affect the movement of the character, and change the state machine accordingly. Things are so much clearer in my mind now!
Now here’s some animations for you!
That’s it for today, folks.
Soon this will be integrated into alpha 0.2, and you’ll be able to shoot and play with your character on your course. Stay tuned for more! (And check out the closed alpha while you’re at it!)