Sunday, June 8, 2014

A little delay

Like topic of post say there will be small delay with releasing of build. I initially planned to do it this weekend but well I didn't make it (in this moment I expect month to finish everything what I want ).

This post will be my summary what went wrong (-) and what went good (+) so it should be funny to read.

(-) Overestimating scale of changes
When I wrote that I finished switching on components I didn't took into account aftereffect of it. But right after I started to work more on game I found a lot of regression in features. Some of them were very easy to fix some not.

From bigger changes that I needed to do: 
  • character mechanics
  • items mechanic
  • cut scenes system 
  • detecting physics collision
  • objects edition
So people that work on games can say that weren't easy topics.

(?) Good approach

Well why (?) because for people that waited on release it's probably something bad :] This approach always add overhead to your work. I personally don't see this as a problem with this. 

But what I mean by good approach:
  • Don't jump into coding right away
    • This don't apply to simple re-factoring and some very simple problems
  • Delay coding if you don't have clear idea how to resolve problem
    • What I do then ?
      • I do some re-factoring and simple stuff that don't need too much thinking.
      • I talk with people about the issue very often exchanging thoughts help a lot.
    • What if I don't satisfy with result ? 
      • I just treat it as not done and repeat all process again.
  • Clean up of old code.
    • My code is not ideal - and it will never be.
      • There are bugs - sometimes I have problems with believing that I could write this code.
      • Coding convention - I change code so it fit current one which still evolving.
      • Refactoring  - I like to see how everything starting to creating one consistent system.
    • How to use it ? - if I think this then it mean that something is wrong and this part of code probably should change.
  • Start to organizing thoughts.
    • You can do it on paper I use yEd (thanks to that I have digital version of my ideas which I can easy share with other or extend in future) 
  • Create tools, scripts, plugins.
    • Auto build script - I think that everybody should have something like this. In my case it do :  
      • Verify environment
      • Generate projects
      • Rebuild tools
      • Rebuild project
      • Run unit tests 
      • Summary everything
There are probably other things that I forgot and you probably know a lot more. But still effects are pretty nice:

The funniest thing about this screens is that there were done in game running in Debug configuration which I use a lot in production :]

(-) Time of production
The 3 years of game development and 6 years of technology developments starting to show it's effects. The code is reflection of my skills from then and now. And a lot changed in them and my approach to coding itself. 

The (-) because the code I wrote some time ago very often need to be rewritten to fit new code. So I spend a lot of time on maintaining it which don't help to much in releasing build.

(-) Time of release
In future I need to better plan my release time. Picking terming that overlap with E3 wasn't good choice.

(+) Amount of coding
I don't think that in my case this was ever issue but well to be sure that I didn't slacking too much this year I checked git statistics:

The visible peak in April is change when I organized external libraries. Checking further this time number statistics we see:

  • Total commits: 168
  • Total files changed: 9020
  • Total changed lines not including added/deleted files: 123761
    • Added: 67207 
    • Removed: 56554
  • Total changed lines not including added/deleted files: 366954
    • Added: 158467
    • Removed: 208487
  • Commits each months:
    • Average : 33
    • Min: 11
    • Max: 55
Not to much of change lists (cl) but very often I combine few changes in one cl. So it's not bad.

(-) Frequency of publishing information
From things that must change is the frequency of publishing posts. I looked on blog and the delay was pretty great between few last one so I need to put more effort into writing next one :]

So I want to believe that I show you with this post that project is still alive and it starting to look a lot more realistic then before. I spend a lot of my time on development and polishing everything but still a long road before it.

1 comment:

  1. It is amazing! I hope you will finish it. Keep going. ;-)