Game structure

BlitzMax Forums/BlitzMax Programming/Game structure

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

This was a very useful discussion for me.

I do both:
I start with a monolithic, monster file that has everything in it. all types, all functions, etc.

when I encounter my first bug (usually very fast), I split the proggie into files:

ThisType.bmx
ThatType.bmx
MathRoutines.bmx
Funcs.bmx

It does make things alot cleaner.

As for Versioning, I use a very sophisticated and complicated versioning system:

1. my files are named "filename-yymmdd-letter.bmx"
TVector-070421-a.bmx
Tvector-070421-b.bmx etc...

when I make a major change, I save-as to the next letter ("c" for instance) then i just change the import statement:
import "TVector-070421-c.bmx"

2. before I start a new programming day, I "roll-up" all import files to the current day's "a" file
Tvector-070421-g.bmx becomes Tvector-070422-a.bmx
(I never work directly on a. i test it then immedietly save-as "b" so I can easily roll-back to that days "a" file)
and change my import statements accordingly.
this only takes 3 mins.

It's no CVS but it works ok for me. call it "Ghetto-CVS"

EDIT: changed the date format (from Flameduck).