Ад это в Лондонском метро: половина ветки может повторять совершенно другую половину ветки метро; перед тем, как сесть в электричку, удостоверяешься, что она едет в нужную тебе сторону и на нужной ветке(прямо как автобуса дожидаешься); а также разная стоимость в зависимости от зон, а также разная стоимость в зависимости от времени суток.
И самое ужасное: нет действительно хорошего приложения для смартфона, чтобы этот ад как-нибудь разрулить
А можно посмотреть на ваш поиск в ширину? Что-то мне подсказывает, что вы неправильно его реализовали и вместо фикса начали изобретать неоптимальный велосипед. При правильной реализации 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 вычислением названия файла в зависимости от андроида, айфона.
Пользовались ли вы видеорекламой? Можете ли сравнить interstitial и video ads?
И самое ужасное: нет действительно хорошего приложения для смартфона, чтобы этот ад как-нибудь разрулить
Я сам был олимпиадником и сейчас работаю в геймдеве. Знаю кучу людей, которые являются спортивными программистами и делают успешные продукты.
«И собрали игру за n дней» стоит воспринимать как собрали прототип, где можно потестить геймплей. И это правильное решение, особенно в геймдеве.
Что делать, если тебе нравится процесс, но результат будет неинтересен? Стоит ли в таком случае вообще начинать?
2. Если для чтения, то да. Но таких кейсов, когда бд используется только для чтения и обязательно нужно использовать бд очень мало, поэтому я ими и пренебрег.
>пользовательские директории приложения на разных платформах отличны
вот именно поэтому и хочется писать код, которому будет все равно на запускаемую платформу. Я положил файл в ресурсы и забыл. Я не парюсь, что на blackberry у меня не работает, я не буду искать это место в коде, когда надо будет портировать под win8.
2. Без копирования никак. Но вычисление по имени файла в зависимости от платформы, обрезание по имени файла — это непонятно, если потом надо будет поддерживать новые платформы, то надо будет искать это место, добавлять еще ifdef-ов.
Более независимым решением является копирование с ресурсов:
А еще можно держать шаблон вашей бд не в стриммингассетс, а в ресурсах. тогда при копировании в persistentDataPath не надо делать изврата c вычислением названия файла в зависимости от андроида, айфона.