I’ve completed a touch table version of the board game Notre Dame. In Notre Dame, players add influence to different sections of their city by playing action cards. Some sections give the player additional influence or money which can be used later while others are better for generating the prestige needed to win the game.
Category: Programming
SimRetirement update and release
When I quit my job in 2011 I wrote a program to simulate retirement and give me a feel for the odds that we would be able to survive on the money we’d saved. The program used a Monte Carlo approach to simulate thousands of possible market scenarios and had logic for how we would spend money, collect social security, pay taxes, etc. At the time the program said that we had an 85% chance of outliving our money. That was good enough to quit; knowing that we could go back to work if we had to.
Since writing that program I’ve come back to it every few years to put in more recent data and make improvements. Once my spouse and I got married, I took out a bunch of code that split expenses and taxes between the two of us.
A few months ago I decided to give the program a full makeover and add features to make it useful to more people. The original program was very specific to our situation and didn’t handle account types, expenses, and investments that we didn’t have. Along with adding new features, I needed to make the program much more user friendly and error tolerant.
I’ve completed this project, and the program (and source) are available for download. It still doesn’t handle nearly as many situations as I’d like, and it has very little support for people who are still working, but it is good enough to release.
Touch table Broom Servce
I’ve completed my touch table conversion of the game Broom Service. We were introduced to Broom Service at Essen. One of the many good games that we learned about on that trip.
In Broom Service, the players compete to gather resources, move around the map and deliver potions. The interesting mechanic is that in each round, players select four of ten cards to play. When you play a card you can play it bravely, betting that other players haven’t selected that same card, and get a bonus. Or you can play it cowardly.
Moving data from MySQL to Google Sheets with PHP
I recently needed to pull data from a database and add it to a google spreadsheet. Google provides an API for working with Sheets, but like many of their APIs, the documentation isn’t great. I’ve got my program working and figured I’d document my steps for future me and anyone else who needs it.
Continue reading “Moving data from MySQL to Google Sheets with PHP”
Board game programming tutorial – Part 3
This is the third part in my tutorial for converting a board game for a touch table using Unity.
The first part covered all our reuse code and conventions, setup the project and created a main menu.
The second part built the UI for a very simple game called “No Thanks!”.
This part will write the events to control the game, add buttons to the UI for the players to use to play the game, and finally add animations to the game.
Board game programming tutorial – Part 2
This is the second part in my tutorial for converting a board game for a touch table using unity.
The first part covered all our reuse code and conventions, setup the project and created a main menu.
This part will build the game and player UIs for a very simple game called “No Thanks!”.
Board game programming tutorial
Now that I have created several board game conversions in Unity, I thought that it might be useful to create a tutorial that describes the process that I go through to make a game.
In this tutorial, I’ll start with a common set of code from prior games and some basic art. I’ll create a new Unity project, import all the reuse code and plugins that I use, and make a complete game.
There is a set of videos to go along with this post which show all the steps that I perform in the Unity game builder.
I’ve also saved my Unity project at a few points along the way so that you can skip ahead or make sure that your project matches mine.
In this post, I’m going to cover all the reuse code and the reasoning behind it. I’ll setup the project, import all the plugins, scripts and assets that I’ll need. Then I’ll build the main menu.
In the next post, I’ll build the UI for the game itself and create the scripts for modeling the game. In the third and final part, I’ll add game control events and animations. Continue reading “Board game programming tutorial”
Touch table Village
I’ve completed a touch-table version of the board game Village.
Village has an interesting mechanic where you manage the life and death of your workers. All your workers start as farmers and can be trained as specialists. Actions take “time” to perform, and when enough “time” has passed, a worker dies. A limited number of each type of worker is rewarded with fame and victory points upon death while the rest get an anonymous grave. The key is making the best use of your workers and their time while trying to arrange a good death.
Websocket server for remote connections to touch table games
I am considering creating a system for touch table games so that they can be played both by people sitting around the table and by individuals at their own computer.
This post will talk about what I’d like to do and show the steps that I’ve taken to setup a websocket server on my domain and to connect to it from Unity.
Continue reading “Websocket server for remote connections to touch table games”
Age of Discovery and more about complexity
I’ve completed the touch-table version of Age of Discovery and this article compares this project to my previous project which was Medici.
For both being touch-table conversions of board games, they were very different projects. Medici was small and took less time than I expected it to. Age of Discovery was a large project, and it ended up being even longer than expected.
Continue reading “Age of Discovery and more about complexity”