ݺߣ

ݺߣShare a Scribd company logo
Сергей «WR»ТрошинРуководитель  команды  разработки  инструментарияwww.mail.ruМежду  Дизайнером  и  Программистом
Зачемнужны тулзы?(И нужны ли вообще?)www.mail.ru2
Запчасти  гейм-механики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.ru3Java-классыЗаклинание = набор импактовИмпакт = данные + код
Ресурсы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.ru4Java-классыРесурсы?(de)serialization
XMLclass  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.ru5Java-классыXML-файлы<Spell><impacts>	<item type=“Damage”>		<damage>10</damage>	</item>	<item type=“SayText”>		<text>Die!!!:-E</text>	</item></impacts></Spell>(de)serialization
Программист  и  Дизайнерwww.mail.ru610 dmgДизайнер
Программист  и  Дизайнерwww.mail.ru7<Spell><impacts><item type=“Damage”><damage>10</damage></item></impacts></Spell>WTF?!ПрограммистДизайнер
А  нужны  ли  тулзы  вообще?www.mail.ru8Предмет экипировки2 Кб
А  нужны  ли  тулзы  вообще?www.mail.ru9Заклинание5 Кб
А  нужны  ли  тулзы  вообще?www.mail.ru10Участок карты500 Кб
А  нужны  ли  тулзы  вообще?www.mail.ru11<Spell><impacts><item type=“Damage”><damage>10</damage></item></impacts></Spell>10 dmgПрограммистДизайнер
Тулзы  спасут  мир!www.mail.ru12<Spell><impacts><item type=“Damage”><damage>10</damage></item></impacts></Spell>10 dmgПрограммистДизайнерТулзы
Какмы это делаем?www.mail.ru13
Архитектура  БД  (ресурсной  системы)www.mail.ru14
«Разрезалка»  БДwww.mail.ru15Tools (C#)Server(Java)Client(C++)«Общая» БДСерверная БДКлиентская БД
Архитектура  тулзовwww.mail.ru16
БДwww.mail.ru17Game~300к  штукLibDBXML DBToolsClient  CodeDisk
ЭволюцияЧто мы успели понаделатьɷɷ..18
Notepadwww.mail.ru19+быстрый только простые  структуры легко набажитьPropertyGridwww.mail.ru20+ универсальный+безопасный+ встраиваемый не наглядныйКастомные  редакторы(инсайд!)www.mail.ru21
MapEditorwww.mail.ru22
ModelViewerwww.mail.ru23
ItemsEditorwww.mail.ru24
SpellEditorwww.mail.ru25
ClassEditorwww.mail.ru26
TheBrowserwww.mail.ru27
Designers’  Dreamwww.mail.ru28
Mysterious  Editor  4.0www.mail.ru29
Как  (не) профейлить  проект(с  точки  зрения  тулзов)www.mail.ru30
Полезные  советыwww.mail.ru31  Сервер  и  клиент  важнее (а  тулзы  как-нибудь  сделаем)
  Низкие  требования  и  набор  по  «остаточному  принципу»
  Совсем  необязательно  знать  о  юзабилитиПолезные  советыwww.mail.ru32  Сервер  и  клиент  важнее (а  тулзы  как-нибудь  сделаем)
  Низкие  требования  и  набор  по  «остаточному  принципу»
  Совсем  необязательно  знать  о  юзабилитиПолезные  советыwww.mail.ru33Дизайнер
Полезные  советыwww.mail.ru34ДизайнерПрограммистТулзы
Полезные  советыwww.mail.ru35ДизайнерПрограммистТулзы
Mail.RuРазработчик  игр и сервисов №1Крупнейший работодатель в отраслиРаботайте у нас!job.gamedev@corp.mail.ruhttp://corp.mail.ru/career/vacancies/voronezhСпасибо!Сергей  ТрошинРуководитель  команды  разработки  инструментария, департамент клиентских игрtroshin@corp.mail.ruwww.mail.ru

More Related Content

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

Editor's Notes

  • #9: Хотя бы «блокнот»Есть несложные объекты (например предметы экипировки), которые можно запросто редактировать прямо в нёмСтруктура итемов практически неизменна, запомнить названия тегов и всёПосчитать на калькуляторе формулу бюджета
  • #10: Есть сущности посложнее: заклинанияСтруктура более полиморфнаяНужно помнить названия импактовПрототипы: каждый ранк – отдельный файл.Общая часть заклинания собрана в одном месте, числа – в разных
  • #11: Терминальный случай – картаТут уже ну совсем ничего не понятноНе расставлять же координаты объектов вручную?
  • #12: И тут-то и дизайнер и программист понимают, что им нужен кто-то, кто бы помог найти общий язык и понять друг друга
  • #13: Но к счастью есть мы, тулзы,которые всегда готовы спасти коллег и помочь им обрести взаимное счастье и гармонию :)
  • #15: Так уж сложилось, что Аллоды – проект большой, и разные части написаны на разных языках.(пять языков, но два других неинтересны)А ресурсы одни и те же.Поэтому пришлось написать одно и то же (загрузчик ресурсов) аж три раза!Ну а при добавлении новой фичи... Ну, вы поняли.
  • #16: На самом деле – ресурсы не общие. Распил!!!Есть разрезалка, которая делит мух и котлетСлучай с читовыми спеллами
  • #17: Тулзы на шарпе являются вехнем уровнем иерархииЧерез прослойку используют клиентский рендер и звук
  • #18: БД на диске – не просто пачка XML файлов, но ещё и два служебныхtypes – список классом и список полей у каждого класса – чтобы знать что имено читать и писать в XMLindex – список файлов по классам – чтобы быстро получать список объектов указанного типа
  • #20: Самое простое – блокнотМы им без шуток пользуемся когда надо быстро поправить, известно что, известно где
  • #21: Наш собственный PropertyGridОбёртка над XML, позволяет открывать и редактировать что угодноне набажить с разметкой и типамиВыбирать запчасти из списка а не из головы, etcПроблемы всё те же: не наглядно