Saturday, March 30, 2013

KNBLive "Инди-шминди"

После просмотра KNBLive "Инди-шминди" я понял, что термин "инди" довольно аморфен для большинства игроков и я решил внести ещё большую смутуясность в сознание граждан. И таки написал статейку в паб Канобу.


Sunday, March 24, 2013

CodeReview: Chest Work by Muir Dragonne

I've did a review for Muir Dragonne's game for 1GAM March. Theme for this month is roguelike. The game is ok. It deals with theme good.

How ever my task not in review gameplay but code.

So here we go. I've found 11 issues. Some of there simple hacks, some take us a topic to discuss.

  1. Classes should be in separate files (h/cpp).
  2. Classes are used as structs. KISS use structs.
  3. Usually for consants values uses #define. const int - java style.
  4. Some global variables.
  5. There is short init for srand - srand(time(NULL));
  6. Hack for screen clear.
  7. wasd sucks for such kind of games. Use arrows.
  8. A lot of magic numbers. #define it.
  9. There are many classes but no OOP. It's almost C but with classes.
  10. Too much routine in main. I would like to cut it in a functions.
  11. Classes Trap, Chest can be merged in one class Object.
Link to reviewed code.

After all it has good code style, vars naming and such stuff. And also it's simple and not big.

Muir's post about game. It's kinda fun so check this out.

Saturday, March 16, 2013

Out of Another World post-mortem by Eric Chahi

В 1989 французский парень Eric Chahi в возрасте 22 лет вдохновился научно-фантастическими книгами и кинофильмами, и решил создать игру, о далёком непознанном мире - Out of Another Wolrd.

Через 21 год, после начала работы, он рассказал о своём опыте на GDConf 2010. Рассказал, что такое Pixagon и как использовал их в своей игре. Рассказал о своём инструментарии и о само-писанном интерпретируемом языке, чем-то среднем между asm и basic. Показал дизайнер уровней который предоставлял лишь 16 цветов на сцену, но при этом вы могли редактировать всю сцену динамически и изменения сразу же транслировались в код.

И самое важно замечание. У протагониста-то красные волосы, если вы конечно понимаете о чём я :)


Приятного просмотра и хороших воспоминаний об игре, ставшей культовой.

GDC Vault. Another World post-mortem

Tuesday, March 12, 2013

Bad programmer about programming

Кто такие хорошие и плохие программисты? Как быть успешным? Сколько можно зарабатывать если выучить js, cxx, java, asm? На эти и другие вопросы даёт ответ Thomas Figg, с его слов - "плохой программист".

Отличное выступление на EMFCamp2012 в стиле stand-up на темы программирования, образования, языков, что лучше подходят для изучения программирования, а не языков.



Tuesday, March 5, 2013

Какой язык изучать и почему не схх?

Многие товарищи, что хотят начать изучать программирование, долго выбирают язык, технологию, платформу. Долго думают, а правильно ли они поступают выбрав cxx/Java/C$/something else. Затем долго расспрашивают знакомых программистов, читают форумы, собираются с духом, поступают в университет на специальность включающую программирование, идут на работу связанную с изученной технологией... И начинают сомневаться в правильности сделанного выбора.

В этой статье jsonmez очень хорошо описал почему не стоит выбирать схх(ещё один вариант написания C++).

"Ну и что? Очередная статья ни о чём..." - подумаете вы.

Статья очередная, но не бесполезная. В ней написаны 36 вопросов, которые, по моему мнению, очень даже помогают оценить ваши знания в сфере схх. Либо хотя бы понять к чему стремиться, если вы всё же решились изучать "самый сложный язык с ООП".

Можно мысленно разбить схх на уровни по сложности задач.

1ый уровень: высокоуровневые задачи, такие как ввод, вывод данных и сообщений, работа с составными частями системы, работа с библиотеками, оптимизация на уровне логики.
2ой уровень: работа с железом через драйвера, посылка сообщений железу напрямую, в обход системы, работа с API системы.
3ий уровень: низкоуровневая оптимизация программы с применением inline, запечатыванием operator= и copy constructor, оптимизация выделения памяти через placement new, изучение работы компилятора для ускорения работы программы и тп.

Вопросы из статьи относятся в основном к 3ьему уровню. Можете проверить себя и доучить неизвестное вам.

И в конце небольшая хохма. Мой друг работает в большой конторе в Минске и получает что-то в около 600$. За спиной у него около года Java. Я же подался в indie game dev. Заодно подрабатываю в институте проблем информатики за 300$. Я занимаюсь схх 4 года, уже 5ый идёт. Я знаю ответы на все 36 вопросов.

Делая выбор технологии, которую хотели бы изучить отдавайте себе отчёт в том, для чего вы это делаете. Хотите ли вы зарабатывать деньги или создавать нечто, чем можно гордиться.