GDS2015 spreadsheet_design

Post on 23-Jan-2018

621 Views

Preview:

Click to see full reader

Transcript

B E S T P R A C T I C E S F O R C O L L A B O R A T I O N

B R I A N D A V I S

Spreadsheet Design

Why?

My Background

My Background

My Background

T O O L O P T I O N S

S P R E A D S H E E T S A S A B A L A N C I N G T O O L

M A K I N G M O R E R E A D A B L E S P R E A D S H E E T S

C O L L A B O R A T I O N A N D E X P O R T

I M P R O V I N G P R O F I C I E N C Y

Topics

Tool Options

Building Systems in Excel

Balancing Without Spreadsheets

Playtest

Repeat

Guess

Balancing With Spreadsheets

Game Values

Game Data

.XLSX

Formulae

Balancing With Spreadsheets

Good for

Games with lots of content

Complex interplay

Games as a service

Not great for

Small games

Curated experiences

Games without currencies

Manual Automatic

Set Values

PlaytestRecord Income

Income per

session

Expected Play

Patterns

Income Estimates

Calculating Incomes

Manual Automatic

Guess

PlaytestRevise

Cost Formula

Compare with

income

Automatic Pricing

Calculating Costs

Application

Income

• Players make 10 coins per minute

Behaviour

• Players play 3 minute sessions

• Three times per day

Formula

• A shield should take 2 days to earn

Cost• A shield costs 180 Coins

Income

• Players deal 5 damage per punch

Behaviour

• Players can punch twice per second

Formula

• A dragon should take 15 seconds to K.O.

Cost

• Dragons have 150 health

Formatting for readability

Don’t exceed your screen width

Horizontal scrolling can be tricky

If each row is an item, you should see all of it’s attributes at once.

Hiding rows can make it hard to write formulae

Hidden rows also complicates error detection

Watch out for…

Only have one data type per column

This example is readable

Whitespace is the enemy

Makes it difficult to compare items

Useless Whitespace

Never merge cells

Lookup functions break

Formatting becomes more difficult

Only use as a last resort

Only for presentation documents

Formulas which break

=COLUMN()

=HLOOKUP()

=INDEX()

=LOOKUP()

=OFFSET()

=ROW()

=TRANSPOSE()

=VLOOKUP()

Never wrap text

Text wrapping on one column doubles your whitespace

Consider text keys or a separate document for long text strings

Comments

Comments can be placed in a cell by clicking Insert>New

Comment

These are good for long comments to describe a column

Comments can also be made in a formula using +N(“”) This formats the text as a number

which it reads as +0 so it will not change the outcome

[ A L T ] + [ ↵R E T U R N ]- O R -

[ C T R L ] + [⌘C M D ] + [ ↵R E T U R N ]

Writing Readable Formulas

S H E E T R E F E R E N C E S

• K e e p y o u r t a b n a m e s s h o r t

• 5 characters or fewer allows more tabs to appear on the bottom of the screen

• I u s u a l l y c r e a t e a c o n t r o l p a n e l s h e e t n a m e d “ C ” t o k e e p f o r m u l a s s h o r t

Nested IFs are hard to read

Above is a formula for rounding to 2 Significant Figures

Below is a more elegant solution

Formula

Intuitive formula building

=B8*86400/M8

=B8/M8*86400

=(B8/M8)*86400

=(B8/M8)*(60*60*24)

=(value/time)*day

=Income per day

Named Tables

A warning about names

Named Ranges != Named Tables

Names cannot be reused in Excel

Tables are obvious, ranges are hard to see and easy to break

Color Code Titles and Tabs

Color cell A1 to match the tab

A unique font turns it into a logo

Turn Titles Sideways

Use conditional formatting to hide useless data

Turning useless values white makes this table easier to read

The same can be done with expected error values

VS

Vertical Monitors

Collaboration

Data Validation as Spellcheck

Tokens

Exporting

Design .xlsx

• Standalone

Game Values

• Imports on build

Exporting

Design .xlsx

• Standalone

Export .xlsx

• References Design.xlsx

• Contains no formulas

Game Values

• Imports the export values

Game Values

Override.json

Export.xlsx Design.xlsx

B U I L D A C H A R A C T E R G E N E R A T O R

M A K E A F O R M U L A R E F E R E N C E S H E E T

B U I L D R E C I P E S

Improving spreadsheet proficiency

Build a Character Generator

Build a Character Generator

Make a Formula Reference Sheet

Build Recipes

When you find something that works make a recipe

=INDIRECT(“R”&MATCH($A1,Sheet!$1:$1,FALSE)&”C”&MATCH(A$1,Sheet!$A:$A,FALSE),FALSE)

=LINEST(knownXs,knownYs^{1,2,3})

=“x3”*lvl^3+”x2”*lvl^2+”x”*lvl+”b”*(max-min)+min

=Indirect Match Recipe

Contact Me

@BrianDavisM

briandavism.com

The End

top related