Life On The Farm - It's All About the Visuals
With the basic game dynamics working, it is time to get started on the visual elements of the game. The plan is to use openGL on a browser for the interactive/dynamic elements. During the first attempt at creating a game, this was killed the project. This time, I am trying to take a structured, building-block approach. Creating the elements has, so far, been fairly simple!
The must-have elements include some type of game board, pieces to represent each player and a path along which the pieces will travel throughout the game. To create 3D elements, I use Blender 3D. The game board is a simple plane. I used Multi-resolution and Displacement modifiers to 'paint' some terrain variations onto the plane. I used modifiers rather than sculpting to more easily allow changes during development. The final version will probably be sculpted at full resolution, but this method (hopefully) reduces the amount of wasted work.
An interesting side-effect, especially when using 8-bit images for the displacement is that it creates a digital/stepped look. I'm not sure I'll keep that for the final version, but so far, I like it.
Using just the game board, when uploaded and viewed with openGL, left the user looking out into a lot of empty space. So I added another plane to represent distant terrain. This terrain was very low-poly, so even though it tripled the land area, the additional resources required to display it were minimal.
I'm using an openGL library, three.js, to simplify many of the openGL work. One of the nice things with three.js is the loaders for loading various formats into the scene. One of these loaders is a GLTFLoader (gl Transfer Format ) class. Combining that library with a Blender add-on that exports items in the correct format, the transfer is very easy. I did add a second openGL canvas and camera (the small window in the upper right of the image to the right) to assist in trouble-shooting placement of various elements. Because openGL uses +Y up and Blender uses +Z up, I occasionally misplace objects. The extra camera allows me to look at the main camera. Very useful!
So with some basic 3D elements working, now I need to figure out how to have a player piece follow a path during the game!