Smooth Terrain Testing

Smooth Terrain Testing

Hello folks!

Talking to a player of the game, he gave me the feedback that he didn’t quite enjoy the landscaping because the current terrain system looked a bit too unrealistic. Plus the looks of it looked a bit odd depending on the lighting conditions: the light would reflect too strong in certain areas, not strong enough in others.

So I went ahead an prototyped a simple replacement for it. Basically, I added a Terrain object to the game, and am using the existing systems for processing the information, while setting the height of the terrain based on it.

The results are here:

terraintest

I quite appreciate the smoothness of this terrain. With the proper texturing, it could look pretty sweet and clean. I’m studying how to apply the terrain textures to it (grass, gree, fairway etc), but since this has a decent support for normal maps too, it could add some much welcome depth to the terrain features.

It is, however, a trick. The mesh is still pretty much the same as it was before (at least at this stage), and you can see the difference when I turn on the wireframe mapping and some zones:

smooth_editing

But the smooth shadow makes it look a lot nicer. Playing around with some height limitations, I could make the height tools affect nearby vertices as well, to give a smoother climb. There’s no performance loss either at this stage, which is great.

I’m gonna prototype how to apply the terrain textures to it, but I have a hunch it would allow me to more easily use higher-res tiles. And for the zones, I can just keep the current system as they work decently enough as an overlay.

Considering some changes to the planning aspect of it too, but that’s for later!

That’s all for this microupdate!

-Gus

Needs, Moods, Confidence

Needs, Moods, Confidence

Hello folks!

Today I’ll expand upon the basic system driving the golfer’s state in Boss Golf!

It is very common for tycoon type games to have a sort of happiness/needs meter for the guests to your park/hospital/zoo/dinosaurland. This is one of the main aspects of gameplay in those games, and you as the tycoon have the sole objective to fulfill their needs while extracting the money out of them.

But in most of the games, guests are reactive actors. They go on rides, get their share of adrenaline, eat some food, drink some drink, spend some money, and go home. Most of their actions are reacting to their needs at any given point.

With Boss Golf, that wouldn’t work as well: we also have to factor in the activity of playing golf, the main driver of the AI’s state in the game.

Therefore, for Boss Golf, I’m implementing a system based on 3 “meters” of sorts: Confidence, Mood, Need.

Confidence

The confidence meter affects and is affected by the golf gameplay of the AI. However, instead of being a universal boon/curse, it is a double edged sword. Being too confident can lead to complacency; lacking confidence may lead to lucky breaks if your confident opponents get complacent.

In terms of affecting the gameplay, it works basically like this:

  • Higher confidence means attempting more difficult/risky shots if the AI thinks the payout is worth it
  • Higher confidence can also mean going on autopilot since the adversaries aren’t playing as great as the AI, so they think they can relax
  • Lower confidence means playing more safe/easy shots
  • Lower confidence can also lead to more consistency over the holes, as safe shots tend to land better than risky shots

In terms of being affected by gameplay, it works roughly like this:

  • Landing a good stroke, with little deviation, will increase your confidence
  • Landing in a lucky position will increase your confidence
  • Slicing/Hooking your shot will decrease your confidence
  • Landing in the wrong place will decrease your confidence

Other “passive” factors can also affect confidence, such as rivals playing badly/godly, external life events, divine inspiration…

And the increase/reduction isn’t on a simple scale. There are diminishing returns for increasing confidence depending on your current confidence level; there are also increasing returns for decreasing confidence depending on your current confidence level. Overconfidence and hit the bunker on an easy shot? Your confidence will shoot down. Unsure and hit a successful shot? Your confidence will increase well, as you played exactly the way you wanted. If it was a lucky shot, your confidence could remain the same or even diminish, as you wouldn’t believe it would happen again.

Mood

Mood is the overall happiness of the golfer as he’s visiting your course and playing the golf.

It can be affected by quality of play, by the environment, by special events, and mainly by the fulfillment of the golfer’s needs.

In Boss Golf, however, each golfer’s mood over the day is like a tiny “Hero’s Journey“. It isn’t important just to have a “good” experience on the course: golfers want a meaningful experience. And they each have their own idea of what their meaningful experience is, affected by their own personality traits and whatnot.

Basically, over the course of the day, each golfer has their mood map built. This is done by taking snapshots of the golfer’s mood every ingame half hour or so, and whenever a special event happens. This little mood map is available for the player to look at on the character’s panel in the form of a nifty graph. This graph will also show the “ideal” values that this golfer has for his meaningful experience.

So at the end of the day, the golfer mood map is compared to his threshold for a meaningful experience, and a rating is assigned to it, ranging from F to S. (S being Super Meaningful) (This is a good thing). Good ratings means satisfied golfers; satisfied golfers mean $$$!

This microgameloop will revolve around hitting as many of those beats as possible for the highest number of golfers. The more meaningful experiences your golfers have, the more likely they are to become members, make donations, spread the popularity of your course. Of course, you can’t please them all, so you’ll have to be careful when you build your golf course experience.

Need

Needs are the most basic and simplest feature to explain. These are the basic requirements that the golfer has to be an actual functioning boss person walking around your golf course. It is divided into 5 categories:

  • Social: contact with other golfers, with your character, with staff.
  • Food: golf is a sport, and practicing sports requires energy, and food gives you that. Can also poison you, though!
  • Drink: keeping hydrated is important, and the proper drink can give you an edge. Or take the edge off.
  • Energy: golfers are people too! And energy is required for performing actions. If your golf course is large, you’ll want to have carts available to help save some energy. If your golf course is small, you may want other activities so that the golfers can expend their energy.
  • Environment: no golfer likes a dirty, ugly, unsightly golf course. They want beautiful vistas, peaceful views, and consistency. You’ll need to wear your boss landscaper hat to fulfill their dreams.

Satisfied needs will increase the golfer’s mood. Unsatisfied needs will decrease your golfer’s mood. Other events can also happen depending on the level of each need’s fulfillment. You may end up with drunk golfers falling all over the course, passed out golfers, golfers who are depressed because they feel alone in your course…

And that’s about it for now. I’ve begun implementing this system this week, so this will be featured in 0.5, and your boss golfers will become more human. Or simmish. Each mood, need, confidence, will have an impact on the golfer’s thoughts, and you’ll have a direct window to each golfer’s mind. Kind of like Being John Malkovich.

Who knows, maybe I’ll even implement a feature that puts you inside the golfer’s mind, seeing things from their point of view!

Hope you enjoyed this writeup!

-Gus

Procedural Colliders and 0.44

Procedural Colliders and 0.44

Hello folks!

So, turns out implementing procedural colliders was easier than I had anticipated, so I did it! This should hopefully reduce the incidence of AI characters falling through the ground! At least during testings in the editor, I left the game run for a couple of in-game days, and there was no error messages of them falling through. So it should be good!

Here’s it in action:

procedural_collisions

You can see the grid of 9 or so cubes walking under the player character. This way the character is guaranteed to be standing on solid ground even as he walks.

So, NOW, I’m done with 0.4! And I can focus on 0.5. For real this time you guys. Already began scripting some of the new AI behavior that currently breaks the game because it’s not fully implemented! So, no turning back now!

In any case, enjoy! You know where to find the alpha by now, and if you haven’t signed up yet, you can still do so here!

-Gus

Good Path – Bad Path: Alpha 0.43

Good Path – Bad Path: Alpha 0.43

Hello folks!

Time for another quick hotfix for Boss Golf!

This one declutters a couple of things and improves others. Fixes include:

  • AI movement path display is off by default. To see where the AI wants to go, click on it! For 0.5, you’ll have a little display panel showing what the AI is trying to do, where it is trying to go, what it is currently thinking…
  • Disabled Water as an obstacle for the pathfinding of the landscaper. Now he’s allowed to walk on water.
  • Improved resolution of the text.
  • Added a safeguard in case the AI falls through the floor. Not 100% yet, as that will require proper implementation of a dynamic convex collider generation, which will take some time to implement

For an illustration, here’s what used to happen when the AI tried to plant grass over the water:

bad_path

It actually tried to create a path through 90 different tiles in order to get to the goal. Now with the water avoidance turned off:

goodpath

Much better! Later on I’ll add a little boat effect for when the landscaper dude goes into the water. A bit of a playful kind of thing!

That’s all for now. This should hopefully be the last little hotfix for 0.4, and now I can focus on doing 0.5 stuff! Stay tuned for some cool new features!

Enjoy!

Alpha 0.42!

Alpha 0.42!

Hello folks!

Thanks to some very quick feedback, I’ve done some fixes to alpha 0.4, bringing it to 0.42!

Here’s what’s changed:

  • Added a hashing effect to the planning tiles so you can better distinguish between them
  • Increased movement speed for AI characters
  • Reduced time for placing tiles/decoration
  • Balanced the scale randomizer of the decoration tiles
  • Improved the presentation of text in the UI, much more legible now!
  • Fixed issue with the ball being always visible even behind objects and stuff
  • Fixed not being able to place decoration pieces on planning tiles
  • Made some menus close when opening other menus, to reduce clutter on the screen

So quite a nifty list!

Still, there’s some issues with the AI simply stopping the play of golf. It could be that they accidentally fell through somewhere. In that case, simply restart the game and it should fix it. Since it’s a more difficult issue, I’ll need to take a closer look at how to work around it.

That’s all for now, folks!

Enjoy!

Boss Golf Alpha updated to 0.4!

Boss Golf Alpha updated to 0.4!

Hello folks!

It took a little longer than I expected, but the closed alpha for Boss Golf has been updated to 0.4!

alpha_04

Some of the changes included in this update:

  • Tile and decoration execution moved to the landscaper
  • Resort’s opening and closing time now matter
  • Bulldozer only affects planned zones (can’t remove decoration pieces yet)
  • Money and transaction recording system implemented
  • Spaced out the loading of the scene and added a loading screen
  • Decoration system reworked to allow for more freedom of placement
  • Order system revamped to work with decorations and tiles

Because of the array of changes in this version, your 0.3 save change won’t be compatible with this new release. It would take me a lot of precious time to create a save converter at this moment.

The changes in decoration are quite massive, though. The previous system will still be used for the scenario editor, where you just really wanna sketch out the level for your scenario. But this new one gives you a lot more control over placement, so that you can really customize things to your liking. If you have any request for tools or feedback, feel free to comment on our reddit or our discord!

So that’s it for 0.4. It drastically changed the flow of gameplay, slowing things down quite a bit, and implemented a host of systems that I’ll take full advantage of in development.

For 0.5, I’m going to focus on the AI again, giving them proper ways of evaluating/thinking a hole, more behaviors, more character generation, and a couple more things I wanna keep under wraps for now! Timing for 0.5 is early March.

Enjoy!

Assuming Control of Decorations

Assuming Control of Decorations

Hello folks!

Today’s update is one of the last big ones for 0.4! And it’s about Decorations in Boss Golf!

As you remember form the beginning of this update cycle, I mentioned how I wanted to take a turn to slow things down in the game. As part of that, I created a new system for placing the tiles, whereas the little landscaping guy would go and place the tiles after you finished setting up and approving your order. (If you need a refresh, you can read about it here!

Of course, this wasn’t going to be limited just to the tiles! Same will apply to buildings, facilities and, of course, decorations! In 0.3, you are able to place trees like you would any tile. Continue clicking and more trees will appear, and their position is randomized. You could also drag over a large area and place a bazillion trees at once.

This capability will be maintained in the scenario editor, where you will want broader strokes when building a scenario.

For the regular game, though, slowing things down is necessary. As such, I’ve altered the decoration system to bring you more freedom of placement, and work it into the current landscaping system.

For most decoration pieces, you the manager will place down the markers for where you want that decoration to be. Then the little landscaper that could will come and plop them down for you! As below:

placing_trees

So now you can place your decoration anywhere. Well, mostly. But feedback can always change one’s mind! But this will give you enough flexibility to really beautify your course. And you’ll be able to see your course grow over time and whatnot. Later on also planning on adding the possibility of moving a piece of decoration you placed, so that you don’t need to pay the extreme fees for new trees and whatnot. Saving is caring!

Together with this, I revamped the order system to make it more modular, so that I can more easily expand to accommodate different types of orders and whatnot, and revamped the decoration system to also make it more modular, with an eye for modding potential in the future.

All in all, a solid update. Now I need to readjust the save files to take into account the new changes, and 0.4 should be delivered to you guys soon!

(And if you haven’t signed up for the closed alpha, do so here! You kind folks who support the game at this stage will have some goodies and bonuses for believing in Boss Golf!)

That’s all for today, folks! Stay tuned for 0.4!