15.79M
Категория: СтроительствоСтроительство

Plato's theory of objects in architecture and design

1.

Plato’s theory of objects in
software architecture and
design
Dmytro Shpetnyi

2.

What’s inside
Overview
SECTIONS:
-
Why the topic?
How naming affects our view;
Abstraction VS details;
Plato? Similarities in thinking;
Games vs other software;
What should YOU do? (spoiler - think)

3.

Origins
One liner of pain
Class is called MenuDiary.
- Should it know about the logic elsewhere?
- Do we rename or move?

4.

Origins
Selector
Gameplay splitted in Chapters
FEATURES
- 5 Locations
- 2 Clues on each Location
IN GAME
10 Clues in
1 Diary entry for
1 Chapter

5.

Origins
Diary
Shows progress of the
Chapter
FEATURES
- 10 Clues
- Chapter’s synopsis
- Miscellaneous art

6.

Difference?
OK so what
MAX_CLUES_WIDGETS_COUNT
Chapter->GetCluesCount()
Better informs about current implementation
Better informs about game logic and ideas
More technical details
Less technical details
Ingrained into menu
Flows with the game change

7.

Abstraction
Programming evolves into less details
VS
Abstraction as a way to reduce brainwork

8.

Thinking perspective
Idea VS Reality

9.

Plato?
YES. “Theory of forms”
Perfect form > Concept > Reality
What are we doing exactly?

10.

Reality
How much of it is needed
We are building castles in the sky that
actually are real

11.

Details
Games vs other software. Nuclear tech
-
-
Giga-real world. Can’t argue. Doesn’t change much
Price of mistake = enormous
○ People’s lives
○ Environment
destruction
○ …
Discrepancies = many
○ Laws of physics
○ Hardware
○ Processes
○ …

12.

Details
Games vs other software. Financial tech
-
-
Semi-real world. Can argue. Changes with people
Price of mistake = high
○ Part of people’s lives
○ Economic loss
○ Laws
Discrepancies = many
○ Laws
○ Correctness of
operations

13.

Details
Games vs other software. Games
-
-
Imaginary world. Can argue. Changes daily
Price of mistake = meh
○ Crash
○ Somebody rages
○ Bug in Jira
Discrepancies = controlled
○ In-game rules
○ Hardware

14.

Games
Mostly creation of a new world

15.

Action
How do we approach it then
-
Improvise
Adapt
Overcome
(Actually, just think)

16.

Think
Try to see what are you actually doing
-
Is it the idea?
Is it the implementation?
Is it both?
Our intents become our actions
which affect the whole project.

17.

Q&A
English     Русский Правила