Ад это в Лондонском метро: половина ветки может повторять совершенно другую половину ветки метро; перед тем, как сесть в электричку, удостоверяешься, что она едет в нужную тебе сторону и на нужной ветке(прямо как автобуса дожидаешься); а также разная стоимость в зависимости от зон, а также разная стоимость в зависимости от времени суток.
И самое ужасное: нет действительно хорошего приложения для смартфона, чтобы этот ад как-нибудь разрулить
А можно посмотреть на ваш поиск в ширину? Что-то мне подсказывает, что вы неправильно его реализовали и вместо фикса начали изобретать неоптимальный велосипед. При правильной реализации bfs на карте 600x600 найдет ответ почти мгновенно.
Боюсь, что в пользу Unity. В первую очередь потому что Unity создана для того, чтобы быстро делать игры с хорошей графикой и другими полезными плюшками. А учитывая, что совсем скоро выйдет Unity 4.3, нативно поддерживающий 2D(я имею в виду из-под коробки, а не плагинами), то клепание 2D игрушек станет чуть ли не «мышкопрограммированием».
В Москве тоже есть кружки по программированию, там тоже преподают сильные препы. Советую взглянуть на мцнмо, а также следить за новостями в вконтакте. (Сейчас там немного запущено, у преподавателей только начался учебный год, думаю, через недельку-две там информация обновится).
Не знаю, как другие делают, но у меня комментарий к коммиту отвечает на вопрос: что я сделал в данном коммите. Поэтому я все пишу в прошедшем времени. И использование/неиспользование заглавных букв — дело привычки. Тут уже все от принятых стандартов зависит.
1. Можете использовать json, он не раздут. Можете сделать, как сделано в локализации ios: ключ=значение. Еще проще и правильнее(если вы компания, а не инди разработчик) взять плагин за 50 баксов. Любое из этих решение будет удобнее, работать будет быстрее. Не надо придумывать альтернативу, которая заведомо хуже «стандартного» решения.
2. Если для чтения, то да. Но таких кейсов, когда бд используется только для чтения и обязательно нужно использовать бд очень мало, поэтому я ими и пренебрег.
>пользовательские директории приложения на разных платформах отличны
вот именно поэтому и хочется писать код, которому будет все равно на запускаемую платформу. Я положил файл в ресурсы и забыл. Я не парюсь, что на blackberry у меня не работает, я не буду искать это место в коде, когда надо будет портировать под win8.
1. Базу данных надо прикручивать когда много данных, данные постоянные обновляются или в приложении сложная логика (использование xml, json, <что там еще> причиняет большое неудобство). В конкретном случае локализации можно обойтись простым Dictionary, создаваемым из файла. Такое решение проще написать, работать это будет быстрее.
2. Без копирования никак. Но вычисление по имени файла в зависимости от платформы, обрезание по имени файла — это непонятно, если потом надо будет поддерживать новые платформы, то надо будет искать это место, добавлять еще ifdef-ов.
Более независимым решением является копирование с ресурсов:
string fileName = Application.persistentDataPath + "/database.bytes";
if (!System.IO.File.Exists (fileName)) {
var asset = (TextAsset)Resources.Load ("database");
File.WriteAllBytes (fileName, asset.bytes);
}
Тогда незачем такие ухищрения, надо просто сериализацию хорошую сделать.
А еще можно держать шаблон вашей бд не в стриммингассетс, а в ресурсах. тогда при копировании в persistentDataPath не надо делать изврата c вычислением названия файла в зависимости от андроида, айфона.
Как зарабатывать деньги на Android-играх
Как зарабатывать деньги на Android-играх
Пользовались ли вы видеорекламой? Можете ли сравнить interstitial и video ads?
Новый интерфейс Яндекс.Метро и технологии, с помощью которых он работает
И самое ужасное: нет действительно хорошего приложения для смартфона, чтобы этот ад как-нибудь разрулить
Простой конечный автомат на Unity
GameDev, игропром, игрострой, образование и вера в будущее
Я сам был олимпиадником и сейчас работаю в геймдеве. Знаю кучу людей, которые являются спортивными программистами и делают успешные продукты.
«И собрали игру за n дней» стоит воспринимать как собрали прототип, где можно потестить геймплей. И это правильное решение, особенно в геймдеве.
Как я искал работу в славном городе Нью-Йорк
ФСБ не относит Google Glass к специальным средствам
Алгоритм поиска путей в лабиринте
Место сценариста в команде разработки игр
Пишем платформер на Python, используя pygame
Набор в кружки 239
Как побеждают IT-чемпионы: про изнанку подготовки к ACM-ICPC
Google был вынужден передать властям США переписку двух волонтёров Wikileaks
Стиль именования коммитов
Стиль именования коммитов
Стиль именования коммитов
Как начать работать над личным проектом
Что делать, если тебе нравится процесс, но результат будет неинтересен? Стоит ли в таком случае вообще начинать?
Unity3d + SQLite
2. Если для чтения, то да. Но таких кейсов, когда бд используется только для чтения и обязательно нужно использовать бд очень мало, поэтому я ими и пренебрег.
>пользовательские директории приложения на разных платформах отличны
вот именно поэтому и хочется писать код, которому будет все равно на запускаемую платформу. Я положил файл в ресурсы и забыл. Я не парюсь, что на blackberry у меня не работает, я не буду искать это место в коде, когда надо будет портировать под win8.
Unity3d + SQLite
2. Без копирования никак. Но вычисление по имени файла в зависимости от платформы, обрезание по имени файла — это непонятно, если потом надо будет поддерживать новые платформы, то надо будет искать это место, добавлять еще ifdef-ов.
Более независимым решением является копирование с ресурсов:
Unity3d + SQLite
А еще можно держать шаблон вашей бд не в стриммингассетс, а в ресурсах. тогда при копировании в persistentDataPath не надо делать изврата c вычислением названия файла в зависимости от андроида, айфона.