36
Сергей «WR» Трошин Руководитель команды разработки инструментария www.mail.ru Между Дизайнером и Программистом

Между дизайнером и программистом: инструментарий в «Аллодах Онлайн»

  • Upload
    -

  • View
    493

  • Download
    3

Embed Size (px)

DESCRIPTION

Докладчик: Сергей Трошин, глава команды инструментария на проекте «Аллоды Онлайн».

Citation preview

Сергей «WR» ТрошинРуководитель команды разработки инструментария

www.mail.ru

Между Дизайнером и Программистом

Зачемнужны тулзы?

(И нужны ли вообще?)

www.mail.ru 2

Запчасти гейм-механики

class Spell {Impact[] impacts;

void run ( Creature target ) {for ( Impact i: impacts ) {

i.run ( target );}

}}

class Damage implements Impact {int damage;

void run ( Creature target ) {target.health -= damage;

}}

www.mail.ru 3

Заклинание = набор импактов

Импакт = данные + код

Java-классы

Ресурсы

class Spell {Impact[] impacts;

void run ( Creature target ) {for ( Impact i: impacts ) {

i.run ( target );}

}}

class Damage implements Impact {int damage;

void run ( Creature target ) {target.health -= damage;

}}

www.mail.ru 4

(de)serialization

Java-классы Ресурсы

?

XML

class Spell {Impact[] impacts;

void run ( Creature target ) {for ( Impact i: impacts ) {

i.run ( target );}

}}

class Damage implements Impact {int damage;

void run ( Creature target ) {target.health -= damage;

}}

www.mail.ru 5

(de)serialization

Java-классы XML-файлы

<Spell>

<impacts>

<item type=“Damage”>

<damage>10</damage>

</item>

<item type=“SayText”>

<text>Die!!! :-E</text>

</item>

</impacts>

</Spell>

Программист и Дизайнер

www.mail.ru 6

Дизайнер

10 dmg

Программист и Дизайнер

www.mail.ru 7

ДизайнерПрограммист

<Spell>

<impacts>

<item type=“Damage”>

<damage>10</damage>

</item>

</impacts>

</Spell> WTF?!

А нужны ли тулзы вообще?

www.mail.ru 8

Предмет

экипировки

2 Кб

А нужны ли тулзы вообще?

www.mail.ru 9

Заклинание

5 Кб

А нужны ли тулзы вообще?

www.mail.ru 10

Участок карты

500 Кб

А нужны ли тулзы вообще?

www.mail.ru 11

ДизайнерПрограммист

<Spell>

<impacts>

<item type=“Damage”>

<damage>10</damage>

</item>

</impacts>

</Spell>

10 dmg

Тулзы спасут мир!

www.mail.ru 12

ДизайнерПрограммист

<Spell>

<impacts>

<item type=“Damage”>

<damage>10</damage>

</item>

</impacts>

</Spell>

Тулзы

10 dmg

Какмы это делаем?

www.mail.ru 13

Архитектура БД (ресурсной системы)

www.mail.ru 14

XML DB

Server(Java)

Tools(C#)

Client(C++)

«Разрезалка» БД

www.mail.ru 15

Mechanics Visuals«Общая»

БД

Server(Java)

Tools(C#)

Client(C++)

Серверная БД

Клиентская БД

Архитектура тулзов

www.mail.ru 16

File System

Client (C++)

Wrap

Tools (C#) WinForms / WPF

DLLExport / PInvoke

3D Scene

DB

XML

Sound

БД

www.mail.ru 17

XML-файлы

types

• Классы

• Поля классов

index

• Список файлов по классам

XML DB

Client Code Disk

LibDB

Game

Tools

~300к штук

ЭволюцияЧто мы успели понаделать

www.mail.ru 18

Notepad

www.mail.ru 19

+ быстрый

- только простые

структуры

- легко набажить

PropertyGrid

www.mail.ru 20

+ универсальный

+ безопасный

+ встраиваемый

- не наглядный

Кастомные редакторы(инсайд!)

www.mail.ru 21

MapEditor

www.mail.ru 22

ModelViewer

www.mail.ru 23

ItemsEditor

www.mail.ru 24

SpellEditor

www.mail.ru 25

ClassEditor

www.mail.ru 26

TheBrowser

www.mail.ru 27

Designers’ Dream

www.mail.ru 28

Mysterious Editor 4.0

www.mail.ru 29

Как (не) профейлить

проект(с точки зрения тулзов)

www.mail.ru 30

Полезные советы

www.mail.ru 31

• Сервер и клиент важнее (а тулзы как-нибудь сделаем)

• Низкие требования и набор по «остаточному принципу»

• Совсем необязательно знать о юзабилити

Полезные советы

www.mail.ru 32

• Сервер и клиент важнее (а тулзы как-нибудь сделаем)

• Низкие требования и набор по «остаточному принципу»

• Совсем необязательно знать о юзабилити

Полезные советы

www.mail.ru 33

Дизайнер

Полезные советы

www.mail.ru 34

ДизайнерПрограммист Тулзы

Полезные советы

www.mail.ru 35

ДизайнерПрограммист Тулзы

Сергей ТрошинРуководитель команды разработки инструментария,

департамент клиентских игр

[email protected]

СПАСИБО!

www.mail.ru

Mail.Ru

Разработчик игр и сервисов №1

Крупнейший работодатель в отрасли

Работайте у нас!

[email protected]

http://corp.mail.ru/career/vacancies/voronezh