Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Spreadsheet Skills for Game Designers

Similar presentations


Presentation on theme: "Advanced Spreadsheet Skills for Game Designers"— Presentation transcript:

1 Advanced Spreadsheet Skills for Game Designers
Cary Walkin, CPA, CA, MBA @CaryWalkin Let’s be friends! © 2014 Cary Walkin CPA, CA, MBA

2 About Me CPA, CA, MBA Creator of Arena.Xlsm – RPG Made in MS Excel
Game Designer – 6 published games, 4 in development Director of Operations at Xenophile Media Game Consultant – Evaluation, Monetization, Training, Game Design, Financial Management, Production Management, and Business Advisory © 2014 Cary Walkin CPA, CA, MBA

3 Goals for Today Learn at least 1 new Excel tool and how to apply it to Game Design Become more confident with your ability to use spreadsheets to: document your designs communicate your designs iterate quickly and easily on your designs © 2014 Cary Walkin CPA, CA, MBA

4 Looking Forward The Value of Spreadsheets in Game Design
Interactive Spreadsheet Design Theory Spreadsheet Communication Tips Prototyping with Spreadsheets Advanced Spreadsheet Tools Spreadsheets and Game Engines © 2014 Cary Walkin CPA, CA, MBA

5 Games Are Spreadsheets
Product Layer UI/UX Layer Spreadsheet Layer Marketing Distribution Programming Art Design Sound Design QA © 2014 Cary Walkin CPA, CA, MBA Game Design

6 Interactive Spreadsheet Design
Static vs. Dynamic Spreadsheets Decision Variables Formula Design for Interactive Spreadsheets Static vs Dynamic Spreadsheets – Good spreadsheet designs are dynamic. A static spreadsheet may as well be a PDF and is only worthwhile for locked data. A dynamic spreadsheet design is easier to iterate quicker because: (1) All output is connected to update automatically and (2) the spreadsheet is designed with the expectation that underlying assumptions will change throughout the development cycle. Decision Variables are subjective values used for balancing and other decisions. They should be displayed prominently at the top of the spreadsheet so that users can manipulate the decision variables to make their decisions. Use a unique colour for input cells to indicate that they are decision variables. Formulas in interactive spreadsheets should be designed to link between all dependents and precedents with no values embedded within the formulas. This will allow you to reuse the spreadsheet quickly in the event that underlying assumptions change throughout development. © 2014 Cary Walkin CPA, CA, MBA

7 Spreadsheet Communication Tips
Just because you can understand it, doesn’t mean anyone else can. Titles Labels Conditional Formatting The spreadsheet should be able to be read and comprehended on its own. For example, when you read a book, you don’t ask to have a meeting with the author so that you can understand who the characters are. The same is true for your spreadsheets, if someone else had to use your spreadsheets, would you need to walk them through it? © 2014 Cary Walkin CPA, CA, MBA

8 Spreadsheet Communication Tips
Interactive Spreadsheet Design and Spreadsheet Communication – Example Spreadsheet © 2014 Cary Walkin CPA, CA, MBA

9 Logic Functions and Conditions
IF If a condition is true, result 1, else result 2 AND If all conditions are true, result 1, else result 2 OR If any conditions are true, result 1, else result 2 Logic functions and conditions are the foundation of an interactive spreadsheet. They allow us to display dynamic results. © 2014 Cary Walkin CPA, CA, MBA

10 Prototyping with Excel
Using Excel to prototype is a powerful tool to prototype systems to balance them quickly. Game Design is iterative: Fail Faster. © 2014 Cary Walkin CPA, CA, MBA

11 Prototyping with Excel
Battle System Prototype – Example Spreadsheet © 2014 Cary Walkin CPA, CA, MBA

12 Naming Ranges Drag select the range to be named.
Click in the Name Box to the left of the Formula Bar. Type the Name such as Player_Level and hit Enter. © 2014 Cary Walkin CPA, CA, MBA

13 Data Validation (Dropdown Lists)
Select the cell where you want the drop down list. Go to Data -> Data Validation In the settings tab, under “Allow” select “List” In the “Source” selection, put your range that you want to become your dropdown list. Ie. =Player_Level © 2014 Cary Walkin CPA, CA, MBA

14 Checkboxes Enable the Developer Ribbon
Excel 2010 and 2013: File -> Options -> Customize Ribbon -> Developer Excel 2007: File -> Options -> Popular -> Show Developer Tab in the Ribbon © 2014 Cary Walkin CPA, CA, MBA

15 Checkboxes In the Developer Tab, Select Insert -> Form Controls -> Check box Right click on the checkbox -> Format Control -> Cell link © 2014 Cary Walkin CPA, CA, MBA

16 VLOOKUP The VLOOKUP function finds a value in a table and returns a value in a corresponding column. Syntax: =VLOOKUP(value we want to find, table we want to search, corresponding column number where we want the returning value, True/False – Match Type) Note Match Type: 99% of the time, we want an exact match so the final parameter will be FALSE. Note: The value we want to find must be in the LEFT column of the table for a VLOOKUP © 2014 Cary Walkin CPA, CA, MBA

17 INDEX and MATCH Index: returns a value at a specific row in our range.
Syntax: =INDEX(range, row number) © 2014 Cary Walkin CPA, CA, MBA

18 INDEX and MATCH MATCH function returns the ROW NUMBER in our range where we find a value. Syntax: =MATCH(value we want to find, range we want to search, match type) Just like with VLOOKUP, the match type will usually be FALSE because we want an exact match. © 2014 Cary Walkin CPA, CA, MBA

19 OFFSET The OFFSET function returns a value in a range that is offset a number of rows and columns from another cell. Syntax: = OFFSET(Range Reference, Rows away from Reference, Columns away from Reference) © 2014 Cary Walkin CPA, CA, MBA

20 Using Solver for Quick Balancing
Solver is exactly what it sounds like. It will solve your math problems for you. To enable Solver, click on the Microsoft Office Button -> Excel Options -> Add-Ins. Then in the Manage box, select Excel Add-Ins. Click GO. Select the Solver Add-in Check box. © 2014 Cary Walkin CPA, CA, MBA

21 Using Solver for Quick Balancing
Scenario: We have received data that our game is too hard. We decided that in order to balance our game, the enemy HP should equal the player HP at level 10. Recalculate the enemy HP curve. © 2014 Cary Walkin CPA, CA, MBA

22 Linear Programming for Balancing
Scenario: We want to change the experience scale so that the experience curve is between xp. Decision Variables Constraints © 2014 Cary Walkin CPA, CA, MBA

23 VBA, Macros, and Simulations
© 2014 Cary Walkin CPA, CA, MBA

24 VBA, Macros, and Simulations
© 2014 Cary Walkin CPA, CA, MBA

25 VBA, Macros, and Simulations
© 2014 Cary Walkin CPA, CA, MBA

26 VBA, Macros, and Simulations
© 2014 Cary Walkin CPA, CA, MBA

27 Spreadsheets and Game Engines
Segregation of Duties Talk to your programmer, know what they need. Int – Integer Data: 3,6,23 String – Text Data: “All your base are belong to us” Bool – 1/0 Data: TRUE, FALSE Show of hands – Who is using a game engine such as Unity or UDK for development? When working on a team with a programmer, I do not want to have to be in the Unity file. Aside from the inevitable problems from having multiple people working on a scene file, My focus is on game content, the programmer's focus should be on game systems to utilize that content. This can be done by having unity add-on utility from the asset store (there are tools that are cheap such as GoogleFu) that import the game data directly from spreadsheet at compiling. Know what your programmer needs: int, str, boolean. When working on a game with a team, provide the team with the information in the way that makes their duties as simple as possible. When done correctly, this creates significant efficiencies as the designer can focus on design while the programmer can focus on programming. Note that this method has the common pitfalls of programming (syntax errors, typos) without the diagnostics within the spreadsheet so data integrity is absolutely critical for pulling this off. Similarly when making changes to a spreadsheet which is being automatically imported, make sure you are tracking your changes in a change log for the purposes of patch notes. © 2014 Cary Walkin CPA, CA, MBA

28 Spreadsheets and Game Engines
More advanced: Depending on the type of game, you can even do level design in a spreadsheet where the spreadsheet dictates an array of prefabs that comprises your level. PRO-TIP: Print out a visual reference guide for the prefab ID codes. © 2014 Cary Walkin CPA, CA, MBA

29 Goals for Today Learn at least 1 new Excel tool and how to apply it to Game Design Become more confident with your ability to use spreadsheets to: document your designs communicate your designs iterate quickly and easily on your designs © 2014 Cary Walkin CPA, CA, MBA

30 Thank You!  Cary Walkin, CPA, CA, MBA @CaryWalkin cary@carywalkin.ca
Questions? © 2014 Cary Walkin CPA, CA, MBA


Download ppt "Advanced Spreadsheet Skills for Game Designers"

Similar presentations


Ads by Google