Don’t tear down this wall!

Don’t tear down this wall!

Or do, it’s your golf course!

Anyway!

Hello folks!

Today’s update is a simple but functional one: We now have walls surrounding your golf course, which will let you know more clearly the limits of your course. The wall is generated automatically when the game starts, and it is updated automatically if you edit the terrain around it.

tear_it_down

However, because the AI pathfinding is still not completely implemented, the AI will simply walk through it. Like a Boss. Golf. That will be remedied over the weekend, as I integrate a simple pathfinding system to stop the AI from trying to go to places where it shouldn’t try to go, such as the water, through a tree etc. I’ll also create the path object that you can place on the tiles to allow your AI to make smarter decisions when navigating the course.

That’s all for today, folks!

 

Boss Golf Closed Alpha updated!

Boss Golf Closed Alpha updated!

Hello golfers!

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!

Player Controller has been implemented!

Player Controller has been implemented!

Hello folks!

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!

base_move

it_sticks

even_when_walking

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!)

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!

Interface Update for Terrain Demo

Interface Update for Terrain Demo

Hello folks!

So I’ve figured out how to improve the interface for the new terrain controllers for Boss Golf, and I added a button to display a grid overlay on top of the terrain, so that you can better gauge how it all looks!

Mainly, the painting tool now has an overlay on the terrain letting you know the area that will be affected. You can see it in action in the gifs below:

paint_brush_one

paint_brush_two

paint_brush_three

And the new grid overlay, which makes understanding the terrain slopes even easier:

terrain_editing_update

That’s it for today’s mini-update! There’s a holiday coming up this week, which I plan to take advantage of to further the development of the AI in the game. Still hopeful to have little AI golfers walking around the course and playing a nice game of golf!

Oh yeah, and as always, you can find the updated demo Here!

Enjoy!

Terrain Demo is Online!

Terrain Demo is Online!

Hello folks!

I’ve just about finished connecting the new terrain system with the UI. There are some nags here and there, as is expected, and the interface for the vertex editing doesn’t work perfectly, but it’s all operational.

For this demo, however, I’ve removed the golf playing feature as it is due for a revamp in order to accommodate the AI system. As a result of that, I’ve also left the previous demo online in case you wanna try that part of Boss Golf.

And you’ll find that your play area has been largely expanded from before. And you’ll notice you won’t be able to build everywhere: that’s part of the course being only allowed certain parcels of land when you start out, with more being unlocked as you buy them and whatnot. The new chunking system will allow for that to be done pretty straightforwardly.

Without further ado, you can download the latest version HERE!

And here’s some things I cooked up with it:

the_bumps

one_two_hills

tree_in_my_green

That’s it for today, folks!

Will continue working smoothing out the implementation (and damning Unity for not supporting gizmos in runtime! (probably with good reason)), tweaking the shooting mechanism, and getting the AI in there!

Enjoy!

Terrain Sculpting

Terrain Sculpting

Hello folks!

As I’ve said previously, while coming up with the concept and the systems for AI, I’ve also decided to rework a bit of the terrain features in order to make it smarter and improve performance.

So I’m almost done plugging in the new terrain system into the game. This time around, I went a bit smarter with my separation of concerns. The current system in the game features a breakdown of the mesh into tiles, quads, triangles, vertices, all controlled by a single TerrainController script which manages the actions on each tile.

It works ok, but it’s a bit overcomplicated in certain areas, and too simple in others. The point that really sticks out is when it has to update the mesh after any alteration is done to it.

Basically, it is currently rebuilding the vertice/triangle/UV list every time you do an alteration. This isn’t ideal, as it contains loops inside loops querying data that hasn’t been changed to find the ones that have been. Plus the current system is also less conducive to having multiple chunks and altering between them. It would be fine if we just stuck to one chunk and made it massive, but that’s not ideal specially if we want really massive levels and easier to manage data.

So, enter the new system! This time around, I have a SmartMesh class who holds the reference to the Mesh component itself, as well as a TerrainChunk component that holds it all together, managed by a TerrainBase class that can decide how many chunks will be spawned and the dimensions for each chunk. Reworking the input management as well means cleaner code and easier to expand. Most important is that all vertex data is held by TerrainVertice objects, which can be directly accessed either y the TerrainChunk or the SmartMesh. The SmartMesh also generates a mesh on startup of the position/index of each TerrainVertice. So what dos this mean?

It means that when a TerrainVertice is changed, it changes its position, and it tells the SmartMesh which index of the vertex list needs to be updated. This is done, and the new vertex list is assigned to the Mesh component. Hey presto; no more nasty loops within loops within loops!

Similar concept will be applied to UV and other aspects of the terrain. So the end result is a cleaner system that’s more manageable. I’ve also picked up more knowledge as I’ve progressed with development, and it has been ideal to implement it now.

Oh, and you’ll also be able to “sculpt” the terrain better, and I’m also reworking the height limitations of the course so you can have nicer features. Check out the simple demo below:

terrain_painting

You’ll be able to “paint” the heights with the new tool. (Also keeping the old options too for those who prefer them). And since the vertices are easier to manage, I’m also updating the height limitations to give you more freedom to build taller things, and smoothing out the process: if you move a vertice too far above a threshold, the neighbouring vertices will also move up, creating a more organic flow.

I should be done with this work by the weekend. At the same time, I’m also implementing the AI system, so stay tuned for that too!

Tomorrow I’ll make a post about the memory system!

Have a nice day, folks!