Thursday, August 1, 2013

9 months of being indie game dev

It was a long time ago, when I've decided to be an indie game dev. I've being working in a local outsource company. It was shitty job, but fine people. There was a guy, who was wannabe game dev. I can try to describe his love with Terraria, but I would fail. He was very proud of that fact so Terraria XNA based game and stuff. After code being decomposed he was terrified of shitty, ugly blobs in it.
Actually I like Terraria for it's mechanics, sprites, flying islands and meteorites. Playing it really is fun.
Anyway, it's not about Terraria or my wannabe friend. It's all about choices. And especially about one, which changed my life a lot. It's about writing games.
As many people of the industry I was that type of kids - sitting all free time in from of TV and playing some weird game. My parents was really upset about seeing their child spent hour by hour playing games.
So yeah. Working in that outsourcing company I've finally decided to be a game dev. It was sweet time of IGTM appearance. It so inspires me watching it. 3 unique stories of 3 totally different games. You would say - "Oh boy, it was just success story. Reality is much cruel". Yes I know it. Probably I wont make a lot money in next few years. It isn't important for me, 'cause I have another half-day job (some sort of outsource, but it's much better). I want makes games. It helps me understand how I am and where my place in life is.
So what have happened to for 9 months. A lot of stuff. I've met nice persons acting friendly to me. I was so new for me, I wasn't expect it. I've tried to write some games for 1GAM or Ludum Dare and I've failed it. Writing a game is hard. It's like the hardest thing for me since I've wrote FS driver for linux using fuse or learned how to do multithreaded code. Now I feel fine even when there is a hard task, I know there is no silver bullet but a solution. I can spent a few hours fixing some weird stuff but I'll do it. Actually I'm really good at debugging and tracing, but I'm still grow up. It's amazing to know that there is cool stuff you don't know.

Game dev helps me be me.

PS Fcuk you all, outsourcing companies of my country. You're fcuking piece of shit destroying people will.

It's good enough for 1st post I've wrote in English. I know my English kinda lame, but I'll learn it.

Monday, June 3, 2013

Bright and nice future

Наконец-то я переехал на новое место и заимел довольно хороший канал инета. Рабочее место пока временное, но лучше, чем нечего. Да и в связи с некоторыми причинами было принято решение сделать ремонт. Fast and dirty, но это лишь на некоторое время, я надеюсь...

Проекты нынче как горячие пирожки - только успевай снимать с противня. Всё развивается со скоростью света. Мой проект в ОИПИ требует времени и знаний, кои я сейчас и пытаюсь получить делая локальные исследования Qt благодаря книге C++ GUI Programming with Qt и локальных проектов. Нужно не отлынивать и делать по проектам всю необходимую работу - документирование, UML, разделение абстракций и кода и тд.

Я планирую в ближайшее время заниматься только дипломом и Qt. Затем быстро переключаюсь на Game Code Complete (4th) и OpenGL Insights, для того, чтобы наконец-то закончить игру для 1GAM и хорошо выступить на следующем LudumDare.

Планов много, но теперь и возможности есть.

Offtopic: I'm almost ready to do English posts. There is only one problem: I want to keep ru version also. So I'll try some ways and chose the best for me.

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 вопросов.

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