Разговор със Стойко Тодоров, който е част от Snaphot Games, и един от разработчиците на играта Chaos Reborn
Говорим си за Unity3D, как се влиза в game dev сектора, по какъв начин те правят играта, техническите предизвикателства, добрите практики и какво ли още не.
Директен линк към част 2 (mp3) (ogg)
януари 25th, 2015 at 20:47
на 28мата минута: да, имаме „празен обект“ в Unity (дори няколко) който движи евентите на клиента. просто не разбрах въпроса тогава… Да, той слуша за мрежови евенти.
януари 25th, 2015 at 20:56
В Unity може да направиш празен game object, който да има асоцииран скрипт към него. Когато се зареди сцената, този обект се изпълнява, нищо, че не прави нищо.Скрипра асоцииран към него обаче си върви нормално. Честа практика е да се създаде един такъв обект със скрипт, към който се обръщат останалите скриптове. Нещо като singleton шаблона.
януари 25th, 2015 at 21:03
надявам се Сергей да намине и да обясни за мрежовия протокол и сървъра. може и аз да науча нещо 🙂
януари 25th, 2015 at 23:08
относно инап пърчис: имаме „тайъри“ които сменят костюмите на човечетата. идеята е да има начин хората които искат да „подкрепят“ дева да го направят.
януари 26th, 2015 at 14:45
А имате ли GameLoop на сървърната част, или е само ивент базирана?
януари 26th, 2015 at 16:22
Vladimir нямаме класически game loop на сървъра. Играта е походова и по-голямата част от комуникацията е близка до тази с web server (т.е. заявка – отговор). Имаме обаче код, който може да накара сървъра да прати events без намесата на някой клиент като например turn timeouts, player inactivity timeouts, триене на стари асинхронни игри и т.н. За повечето от тези неща ползвам System.Threading.Timer от .Net.
януари 26th, 2015 at 17:09
Multiplayer сървъра по време на алфата беше на Game Cloud Continental (Made in Bulgaria :D), той има гейм лууп, за комуникацията използва метод наречен Context Serialization – http://game-cloud.org/docs.html#tut2
Интересно ми е дали все още ползвате този фреймуърк, дори и tweak-нат, или сте го сменили напълно?
януари 26th, 2015 at 21:15
По време на Kickstarter кампанията мрежата ни беше написана от хората от Game Cloud Continental, но когато почнахме с истинския development това беше първото нещо, което сменихме, защото създаваше повече проблеми от колкото решаваше.
януари 27th, 2015 at 16:24
Но така като слушам подкаста разбирам, че сериализацията е запазена, или е нещо друго?
януари 27th, 2015 at 23:13
Нищо не остана от GCC кода. Сериализацията ни се прави автоматично от една малка RPC библиотека лично производство.
януари 30th, 2015 at 10:12
Ча’й чъ̀га, аз като ербап пич да се насадя тук. Започнахте и… свършихте. Защо? Защо не се проведе задочният спор, пък бил и той с две изречения.
Стойко, гледам, че наминаваш, може би поне в коментарите ще ни удостоиш любопитните слушатели с отговор. Все пак това беше първата засегната тема.
Гошо дето не се знае дали е виновен, казва горе-долу така по смисъл: Единството не струва, защото не е с отворен код.*
*Тук уточнявам, че под отворен код не разбирам свободен софтуер, а точно, каквото означава — да имаш достъп до изворите, независимо дали това ще е под някакви страшни юридически клаузи.
Той казва, всички големи двигатели са така, но не и Единство. Как да си разработиш играта така? Нещо ще се скофти обезателно.
И действително, Стойко ти в разговора на няколко пъти спомена проблеми, които макар и да не открои конкретно, стана ясно, че са породени именно от това. А освен това даде пример с Хемимонт (които макар да са си го писали сами, похвали за което), точно поради този достъп могат да правят едва ли не немислими неща.
Благодаря!
февруари 7th, 2015 at 16:35
@Ждём конкретно за нашия проект Унити е идеален защото имаме 20на обекта на картата, накодени от 3ма програмиста за 6 месеца. това същото нещо върви на всички ОС + мобиле с едно натискане на бутон (буквално) за което плащаш с ограничения откъм функционалност. също прототипа вървеше в браузър. това помогна на кикстартер кампанията, понеже хората можеха да го играят безплатно директно от сайта на играта. времето за прототипване и релиз е много много малко. за тва плащаш с гъвкавост.