Jump to content
  • Advertisement
  • entries
  • comments
  • views

[Tangling with the game episode 1] Cleaning up the mess, refactoring, completing documents

Sign in to follow this  


[font="arial, verdana, tahoma, sans-serif"] [/font][font="arial, verdana, tahoma, sans-serif"][size="2"][font="arial, verdana, tahoma, sans-serif"][size="2"][font="arial, verdana, tahoma, sans-serif"][size="2"][font="arial, verdana, tahoma, sans-serif"][size="2"][font="arial, verdana, tahoma, sans-serif"][size="2"]I started by gathering every bit of document/email/jabber talk and smoke signal that was related to game concepts and mechanics. This took a while since I have neglected it for about a year so it was all around the place. Some documents were on my mail, some were on my google wave, some on google docs, some in other weird places you do not want to know about. After 4 painful hours I ended having nice 43 pages long document that contains general ideas about every aspect of the game which means that there are no specifics there like "every-ship-detailed-that-will-be-in-the-god-damn-game", instead there are general ideas how ships should be constructed, how for example, combat should look and so on. This is a bit horrifying when I think how big will be this document in final version when all details will be put in there.
[/font]After that and a bit of valium I started to do the same with source code. This was a lot easier to collect, everything is either on my backup servers or local git repositories so this took maybe 15 minutes. Problems started later when I started porting stuff from old framework to current one (it evolved over time, take that creationists!). It did work but it was unclean, full of hacks and messy. With nothing better to do, I started working on it which resulted in some re-factoring, cleaning and bug-stomping. Which resulted in about 12 commits for just damn bug-fixes (granted that those were small, but catching this nasty pests took time) and 4 big uns (refactoring).
[/font]I had most fun when I took at look at old test suit wrote for the client. It was one big mess, to the point that test functions were launching in random order and it was unable to control. I decided to not bother to fix it and simply rewrote it from scratch + import payloads from earlier versions. It's simple and it works.[/font]
def exec_tests(self, test_list):[/font]
Test runner functions.
@param test_list:[/font]
run_lst = []
for func_name, func in test_list.items():
if func_name != 'self':
run_lst.append((func_name, func))

t = 0
speed_factor = 0.2

for t, func in enumerate(run_lst, 1):
reactor.callLater(t * speed_factor, func[1])

self.test_mode = False
reactor.callLater(t + 1, self.listen)

I've also came to a decision how to progress with my project. Decided to go with many small milestones approach with focus on "develop one thing - test it hard and then expand it". This should keep me motivated as I will see constant progress and at the same time, with constant testing, I won't be left with some annoying bug lurking to pop out later.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!