Frictional Games Forum (read-only)
Blog:"On Versioning (or how the simplest thing can save you from the hardest pain)" - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Frictional Games (https://www.frictionalgames.com/forum/forum-3.html)
+--- Forum: Blog (https://www.frictionalgames.com/forum/forum-23.html)
+--- Thread: Blog:"On Versioning (or how the simplest thing can save you from the hardest pain)" (/thread-3103.html)



Blog:"On Versioning (or how the simplest thing can save you from the hardest pain)" - Luis - 12-22-2009

New blog post, this time about the importance of knowing your versions:
http://frictionalgames.blogspot.com/2009/12/on-versioning-or-how-simplest-thing-can.html


RE: Blog:"On Versioning (or how the simplest thing can save you from the hardest pain)" - WindexGlow - 12-22-2009

While I don't program, I code in Wc3 which supplies it's own language (jass).

Tracking down a bug can be extremely annoying; half the time I'll just remake the entire system to wipe it out.


RE: Blog:"On Versioning (or how the simplest thing can save you from the hardest pain)" - Luis - 12-23-2009

Yeah bugs are annoying, but when the project you are working gets big enough, you are pretty much forced to go hunting them down. Having to rewrite stuff is something you want to avoid at all costs, and always have it as last resort.
Never checked WC3. Does it provide any means of debugging?


RE: Blog:"On Versioning (or how the simplest thing can save you from the hardest pain)" - WindexGlow - 12-25-2009

Most of my systems rarely get past 300-500 lines so it isn't terribly difficult.

You can debug it; but no default debugging is available. The game is extremely stable but if you do something it doesn't like (reference coords outside map) than it crashes.
I have a ton of scripts which look for anomalies in single player though, which helps things out.
if z.NumberOfZombies == -1 then
call BJDebugMsg("z.NumberOfZombies is wrong. Checking if spawned..")
if z.IsSpawned == 0 then
cal BJDebugMsg("z.IsSpawned has not spawned.")
endif
endif

It does give a syntax (especially a user made one called NewgenJass which offers tons of functionality) which catches most errors.

I do eventually want to learn C or C++ and make my own game, but I'll stick with sc2 when it comes. It's language (Galaxy) is based on C so it'll help me get started on it.