It's time for a September update, and a new development log! Not a ton of progress this month, but I thought it would be interesting to share some information on the goals I have for customizing Going for Gold
Development Log 5: Adding New Sports into the Game
One of my goals for this game is to make a flexible enough infrastructure that users can easily edit the game to add or change events, giving them opportunities to customize the game as they see fit. At present this is done via editing text files, though I would love to get the game to the point where users can work within the game to achieve the customization options that they would like to see.
To that end, I'd like to talk you through something I've been doing recently: adding new sports into the game. As I'm preparing for next summer's Olympics, I am needing to modify my events and schedules from the 2016 Olympics in Brazil. Part of the issue is that new sports have been added in, including baseball and softball, which I have been working out for demonstration purposes.
At present, the system is a bit unwieldy, as I have to edit something like 15 different text files? In the process of doing that, I establish a two-digit code for each sport, and then add data for each sport, such as each country's rankings and facilities values, as well as a general "age range" for the sport that establishes the minimum age for an international-level player of that sport, a maximum age, and a "peak age" whereby most players would reach their absolute best skill level (obviously, it's an average and not a hard rule)
After that, I have to put in place some event information for the specific events in that sport. (This is fairly simple for baseball and softball in particular, but other sports I have to end later, like Karate, will have different events and weight classes to deal with). As part of this process, I end up putting a decent amount of data into the text file. (As can be seen in the image file below)
In the file above, I've got each of the Baseball and Softball Tournaments placed with an event code, which gets repeated twice. It's a "Y" for team event, and each team has 25 players. 6 teams qualify for the 2020 Summer Olympics. There are a maximum # of teams that can qualify (again, 6), and the actual structure of the event is listed as "TBD", because I have yet to put that into the text files (because they are using an odd double-elimination format for baseball). Each country has a maximum of one team that can qualify, and a minimum of 0. Even with that little bit of information, I have a lot of customization potential- I can easily change the size or structure of the tournament, or the size of each nation's roster.
After that, I also put in information into a different text file about records/standard scores, so that the program can create an accurate result for the game. (That way you won't be seeing any 35-25 sorts of scores in a baseball game) Then, I have a few more text files to add that relate to the event structure being used in the Olympics. Baseball and Softball particular will involve new structures, as they are 6-team tournaments, which is rather unusual for the Olympics. But, for many sports, there are some fairly standard structures that get used again and again and again. (For example, 12 teams in 2 groups works for Olympic Basketball and Olympic Handball, and most timed events such as swimming/track and field/skiing/etc. can use the exact same general event structure as well)
I end up with new, customized sports and events that can be inserted into the game. As I said, I'm hoping that I can eventually streamline this process a bit so that anyone can easily do it, but for right now, it's at least possible. I figured I would take you under the hood a bit this month so you can see more about how I intend the game to work.
Thanks for reading, and I'll see you in another month with another update!