пятница, 21 июня 2013 г.
среда, 12 июня 2013 г.
Lugat sozluk
Do you remember our osman-turkish ios dictionary? I've been asked for android version many times.
To those people: there's android version with more than 50000 words! It's really cool app!
On these holidays I reverse-engineered it and now I have their words database. I just need to convert it to my own format, solve licence issues. I think to finish this by the end of June.
To those people: there's android version with more than 50000 words! It's really cool app!
On these holidays I reverse-engineered it and now I have their words database. I just need to convert it to my own format, solve licence issues. I think to finish this by the end of June.
пятница, 24 мая 2013 г.
Так, ни о чем
один файл, а внутри: два энама, три класса, две руками написанные стейт-машины, 400 строк кода. Здравствуй, быдлокод:
вторник, 14 мая 2013 г.
Some materials from knowledge sharing seminar
Two months ago we started our unity knowledge sharing seminars. I forgot to share materials I promised to, so let me do it here.
2D UI - NGUI (Presentation on russian)
2D in Unity3D from Рустам Ганеев
Useful links:
Useful links:
- NGUI: http://www.tasharen.com/?page_id=140
- Optimizations for mobile devices: http://docs.unity3d.com/Documentation/Manual/iphone-OptimizedGraphicsMethods.html
- Developing apps for different resolutions (russian): http://rustam-kot.blogspot.ru/2013/03/blog-post_25.html
- Cool plugin for NGUI speeds up development and make life easier: http://u3d.as/content/monster-juice/fast-gui-for-ngui/3vJ
Unity shaders (Presentation on russian)
Shaders from Рустам Ганеев
Useful links:- http://docs.unity3d.com/Documentation/Components/SL-Reference.html
- http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html
- http://cgcookie.com/unity/category/tutorials/shaders-tutorials/
UPD: Dustin Lee, the Unity evangelist kindly shared awesome slides about shaders, just check it out:
Unity Shader System Introduction from Lee Dustin
UPD #2:
Habr: 2D in Unity3D http://habrahabr.ru/post/122197/
46 advices on 2D game development. http://sicklebrick.com/?p=411
UPD #2:
Habr: 2D in Unity3D http://habrahabr.ru/post/122197/
46 advices on 2D game development. http://sicklebrick.com/?p=411
ex2D (http://www.ex-dev.com/ex2d/)
2D Toolkit (http://unikronsoftware.com/2dtoolkit/)
среда, 17 апреля 2013 г.
Dynamic texts in ngui
The only problem I have to deal with 2D UI in NGUI plugin is text fonts. In details, there's a bunch of problems:
- Dynamic font support (UPD: from NGUI 2.5 dynamic fonts are supported out-of-box)
- Localization(arabic, hebrew languages, chinese etc).
- Input texts
As I'm working on localization in deep, I found some useful things to solve problems described above:
- for dynamic font, use https://github.com/imkira/unity-sysfont. It seems to be out-of-date (it hasn't been updated for 9 months), but it works and you need just to tweak it for youself. Maybe I'll finish it in holidays.
- for chinese, japanese dynamic fonts works ok, use plugin above. If you intent to support arabic languages, use http://u3d.as/content/abdullah-konash/unity-arabic-support/2B8. This asset allows you to write in rtl mode. Now I'm looking for hebrew plugin, or if I find someone who can read hebrew, I'll write it for myself.
- Situation about input text is troublesome. Changing uiinput component will cause problems with supporting and I don't like to do it. But there's no other way to cope with it.
суббота, 6 апреля 2013 г.
Кто виноват и что делать?
Не знаю почему, но когда появляется проблема, мы задаем два исконно русских вопроса именно в таком порядке:
- кто виноват?
- что делать?
А теперь маленький лайфхак - инвертируем порядок. То есть сначала думаем, что делать, как решить вопрос, а потом уже ищем виноватых, если в этом осталась какая-либо нужда.
P.S. Мысль вроде как и капитанская, но, если применять в жизни, получается очень эффективно, намного эффективней первого способа.
пятница, 5 апреля 2013 г.
//TODO, //HACK, FIXME
В мире спортивного программирования всегда все просто: у тебя всегда валидные данные, обо всем позаботились организаторы. В промышленных масштабах это далеко не так: по закону Мерфи если что-то может пойти не так, так обязательно и будет. Поэтому ты тупо пишешь кучу проверок на случай ядерной войны. Или не пишешь. Оставляешь //TODO: check c надеждой на то, что когда будет скучно и не захочется ничего делать, будешь писать эти глупые проверки.
Сегодня запустили игру, она падает на уровне. Смотрим, где падает: null-reference exception. Смотрим код:
Падало как раз при присвоении, потому что t - null. Как говорится, без комментариев. Хотя есть один: "//TODO:" существует не для того, что его оставляли и забывали, а для того, чтобы это фиксили и делали это как можно быстрее. И для //HACK, //FIXME инженерный закон "работает - не трогай" не катит - это просто бомба замедленного действия, который когда-нибудь рванет в совсем неожиданное время и неожиданном месте(ну, к примеру, во время презентации или, не дай Бог, релиза).
Сегодня запустили игру, она падает на уровне. Смотрим, где падает: null-reference exception. Смотрим код:
public void DoAction(Transform t) { //todo check before setting t.localPosition = foo; t.localRotation = bar; t.localScale = foobar; }
Падало как раз при присвоении, потому что t - null. Как говорится, без комментариев. Хотя есть один: "//TODO:" существует не для того, что его оставляли и забывали, а для того, чтобы это фиксили и делали это как можно быстрее. И для //HACK, //FIXME инженерный закон "работает - не трогай" не катит - это просто бомба замедленного действия, который когда-нибудь рванет в совсем неожиданное время и неожиданном месте(ну, к примеру, во время презентации или, не дай Бог, релиза).
Подписаться на:
Сообщения (Atom)