Tuesday, November 15, 2016

Family life mixed with game development

I think I have mentioned this before, but starting to make an overly ambitious game, when you start to raise a family, is not the smartest of choices :). I would have had plenty of other moments and opportunities in my life to do so. You can't change the past, but you can choose your future. I think going after your dreams and having challenges and goals in your life is important to a successful life and that is definitely what I have been doing. Though often doubting it and being tired also, but always pushing forward.

Freetime, what is that?

Trying to mix together my family (one 3½y old daughter and a wife) and full-time work does not leave a lot of time to develop a game. We also have to take into consideration, that developing a game on free-time for extended period of time is very creative work and requires yourself to nourish that creativity and keep the passion and drive to do a good game, be innovative and think outside the box. Now what happens when you go on for 3½ years and don't even have an engine completely ready? You can run out of passion and drive fast and you will be more like a raisin regarding creativity than a juicy grape and you might even have hard time believing in the project anymore. That is why you definitely need some real free-time to meet family, friends and do other stuff.

Around a month ago, I decided that because this is very stressful and it goes forward very slowly, I will drop one day of from my work (so 4-days a week working). We don't have car, we live a modest life, so financially it's ok, until our daughter becomes a teenager and starts draining all my money :D.

My normal routine is to wake up at 5:00 around every other morning to develop the game 1-2 hours, before I have to take my daughter to daycare or leave for work. I do development sometimes on weekends too. After I decided to take every wednesday off from work to make my game I have been getting a bit more motivation and development done. I feel now like I can actually finish the project and I have set myself some timelines for that.

What freetime feels like now

Can you imagine how great it was to just be with my close gamer friends on our already traditional cottage trip a week ago? The funny part is that I have spent so much time at home making the game and spending time with my family, that I actually even forgot what it is to have fun with friends. It's such a dangerous thing to notice. But I'm really really grateful to have this group of friends in my life, who have been there for a long time already and who I count to be there for a long time still. And to keep me sane.

So I have decided to start having more time for myself to basically boost my creativity and motivation. I am already pretty close to getting the engine done, few months and I should have developer-oriented prototype ready and that is when I really need to be sharp and creative. So far it has been a fun, easy and enjoyable ride, just coding and designing mostly, doing what ever I want mostly. But after this phase is over, the actual huge game design challenges await me. I have read so much about game development and still never really got the opportunity to challenge the knowledge I have learned.

Edit:
I actually forgot that there were couple really good inspirations to a situation of mine (family + game development), one that I really liked and care to share a link to: http://www.bluethumbsgaming.com/single-post/2016/06/06/Parttime-game-development-and-life-balance

Monday, April 4, 2016

Game programming is different and challenging!

Game programming, compared to average software development, pfff...

It has really surprised me. I know that if you go to physics engine level, then you have to be very fond of mathematics and algorithms, but even this level of quite simple game programming requires more and diverse skills than my normal project. The game engine I am making (https://github.com/Hachitus/FlaTWorld) presents tasks and interesting challenges that I really don't encounter in normal javascript software programming. I like it!

And I hate it!

Rambling about math

My mind is not math-oriented, I actually did like mathematics in elementary school, but after that I started disliking it. My mind does not bend on abstract concepts that well and when you get to higher mathematics (and talking about college higher class mathematics, which is not even very high), my mind has troubles processing the data. Normally in programming that is not an issue, my mind is able to process programming as the concepts are still pretty concrete and solid.

So why I started talking about mathematics, is because game programming requires it. In my case even as simple situations as calculating clicks on the screen, related to hexagons. That has been one of my achilles heels, in my game project. Other one was using ES6 modules. Or not really using them, but trying to bundle them for production. I spent ~50h and couldn't get the project running with it, so I reverted to globals. Not a good solution, but that was unfortunately my only option at that point.

But I get over them eventually, that is at least something I have learned in programming so far. You always get past obstacles, if you try hard enough!