This month we've put Andrew Vanbeck under the spotlight. Author of the great VSD Tracker, VanSeam and other popular DarkBASIC and DarkBASIC Professional utilities/games we thought we'd get an insight into what makes this developer tick.
Andrew, what first got you interested in gaming and creating computer games? How long had you been doing this before you found DarkBASIC?
I've been playing games for as long as I can remember, an uncle had a Commodore 64 and we'd visit every weekend just to play football tournaments on this ancient cartridge game. When I was about 7 or 8, my dad bought us a ZX Spectrum. Back then games were fairly rare so magazines would print games source code that you'd type in and end up with a usually non-working pacman game :) One day a neighbours son asked if I had a Spectrum - he was a professional games programmer and had his own company - (Carnell Software). Along with 5 of his games he gave me a copy of his book, which was a huge tutorial on making RPG style adventure games. I worked through that and soon realised that I could be doing my own things with BASIC.
I would spend hours in front of the computer making strange little text adventures and graphic demos, we got a C64 after that and I continued making strange little text adventures. I finally got my own computer when I was 15, an Atari ST and struggled with the terrible BASIC that was supplied with it until I discovered GFA Basic and started putting more thought into what I was doing. There was a cheap little add-on for GFA called Sprite Works, that really got me confident about my games presentation and speed, it allowed blitter commands and all sorts of cool features that were restricted to assembly programmers before then. Unfortunately after the ST popularity declined my brother and I bought a 486 DX33, programming in QBasic felt like I was using a C64 again, I missed the functionality of GFA.
What first drew you to DarkBASIC? Did you find the language easy to pick up?
I cut my teeth properly with PC game programming on Visual Basic, I'm a database developer by trade so was already confident in VB and started experimenting with the DX SDK's. I found them far too complicated and apart from making strange little screensavers I did very little with it. I think I discovered DB in the same way as a lot of people, doing an internet search for "3D game making basic". I downloaded demo v1.06 (I think) and was hooked. I'd used headache languages like COBOL and Pascal in college and BASIC was always considered an inferior language by lecturers, which I think is still common. However DarkBASIC suits me down to the ground, I spend 8 hours a day in front of boring database code, so DB is like a holiday for me! It's just so friendly and logical. Within an hour of downloading the DB demo I knew I needed this program.
How many projects have you started in DarkBASIC and then aborted? Will you revisit any of them?
I must have started a dozen projects before I actually finished one. My projects directory is full of 10% complete object-on-matrix things!. I still have a few nice test engines that deserve more attention, like a psuedo light sourced pool table, and a partially complete 3D chess game. I can't think of anyone who has stuck to the same project without diverging at least once. That's important though, it's the messing around code that teaches you what you need to know to make your ultimate game.
Where did the inspiration for VSD Tracker come from?
Back in the Atari ST days I got an ST Format coverdisk with a demo of TCB Tracker, after that I was hooked. I loved the simplicity of trackers. I'd used a couple of midi programs, but nothing that gave the same freedom. TCB was different from the standard tracker programs, it disregarded the standard .mod format and did its own thing. I'm a fan of retro computing and while trying to think of downloads for my ST emulator, I remembered TCB and decided to find it for a quick nostalgia fix. Playing around with that reminded me how complicated trackers still are, and thought about what benefits a home made format could hold. It's just a shame I have no musical talent! But VSD Tracker is my homage to the trackers of old.
Did you work on the project on your own or in a team?
VanSIMPLE Designs consists of myself and Tony Gooding, better known as 'Simple'. The tracker was developed so we could do some different things with in game music in our other projects, sick of instantly forgettable .mp3's that get repeated over and over. Tony has an amazing eye for quality, if there's so much as a pixel out of place he spots it!. I can draw and model a little, but it takes me ages, so it's great to have someone dedicated and concentrating on high quality all the time. Originally, the tracker was gonna be a little project with a basic GUI, I made up a basic GUI graphic set and emailed it to Tony. Then he sent back his version, after seeing the great work he'd put in we decided to develop it more and release it.
During development did you hit any significant problems that you found work-arounds for? Things that really got you stumped but you overcame.
Most of the tracker was written in the 2 weeks before Christmas, I was determined to get another project done before the New Year. For about 3 days there was a completely untraceable bug that made my life a misery. It would crash for no reason, randomly too - so there was no easy way to track it down. It turned out to be a weird sound existence check. The worst is when a source file corrupts and you lose a huge chunk of code, usually the functions!. I had this problem too, but luckily the day was saved by some sensible advice from forum user 'David89'. The worst thing you can do when a bug appears or you lose data is to panic. Stop and think about what's changed, if it appears the bug wasn't there before, reboot and try again, use the clipboard to gather live info, and backup regularly. Sometimes all you need is a little break, most of my most troublesome bugs are solved while trying to fall asleep, stop thinking about those bugs and the solution often materialises without warning.
The graphics and effects in VSD Tracker are very good - what tips or suggestions do you have for other DB programmers? Are there any things they can do to ensure their program looks good even if they aren't naturally artistic?
Well most of my techniques would be considered counter-educational, so if you don't mind, I'll ask Tony give some pointers:
"Patience! That's the best advice I can give. Take your time and always work in layers.
This can save you time if you make a mistake or don't like what you have just done ( just delete that layer ) Sometimes I can be working on up to 100 layers at a time.
The total build time for the VSD Tracker GUI was around 28 hours. Sometimes I'll just sit back and stare for an hour at what I have completed so far to try and draw inspiration for what I need to do next.
Even if I only designed for one hour per day on a particular project, it would always get finished in the end
. Well that's what I tell myself anyway."
Are there any other DB creations you've seen that really impressed you or spring to mind?
There's a few really nice projects nearing completion, Dead Glory's 'The Magic Land' looks great, and Yusaku's Shenmue Zero is a great example of what can be done with DB v1.13. Indi's 'Dwarven Tale' looks like my kind of game, I like immersive RPG's, DT looks like it's gonna be huge!
What would you most like to see added to DBPro?
SET OBJECT ALPHA! :)
And real-time sound output monitoring.
What's next? When can we expect another hit showcase entry?!
VSD's working on an entry for the retro competition. It's proving great fun, and Tony's working like a dog!. Hopefully, v1.02 of VSD Tracker will be released by the time you read this, forum user Hubdule kindly supplied me with some .wav exporting code, so you can convert your songs to .mp3 at last.
We have a big project in the pipeline, but I'll keep schtum in the meantime ;).
Any final comments you'd like to make?
Basically don't be afraid to experiment, work on test code before trying to bring your project together, then try and recode as much as possible. Enter competitions too, there's a sorta busy hum on the forums right now, which means some cool games really soon. It's great to have a deadline, without one a lot of games get abandoned and forgotten about, just ask my projects folder :)