What I've read suggests that there are a number issues and limitations in what can't be done with Aurora because it's written in VB6. Also, there are many advantages other languages have which VB6 lacks, such as the ability to be cross-platform. (I'm guessing there are a number of Mac and Linux users who'd love to play Aurora on their platform.) And some languages will allow the game to run much faster with the same hardware.
To be fair, VB6 is a very stable, usable version of Visual Basic. And I've heard some pretty bad things about more recent versions. The obvious solution seems to be to upgrade the programming language to something more modern and/or with better features. In the
Why not add feature that auto add dot as decimal separator when the game start thread viperfan7 observed:
in all honesty aurora should have been updated to VB.NET or C# long ago, I can see it being simple enough to recode for C#, but it would take A TON of time
Erik replied:
Agreed, but then you have the decision... "Rewrite VB6 code to current .NET, or improve/expand/fix the current code."
All comes down to how Steve sees the best use of his time.
That makes sense. And I'm sure this subject has come up before. However, I wanted to offer a few
alternatives that
you may not be aware of.
First, I've noticed these
same issues come up on other communities for popular games and programs written in VB6. Much like here, the typical suggestion is to switch to an entirely different language, such as C#, Python, Ruby, etc.
The problem, of course, is that these languages are
so different from Visual Basic that the conversion becomes a major, time-consuming task - intimidating, even. And this goes double or triple if you have to learn the new language or are very rusty in it. (And some languages, like C# or Fortran, are more difficult to learn than others. In comparison, Visual Basic is
easy.)
Also, programming languages are a lot like spoken and written languages - especially when it comes to learning them. I'm serious. The
first programming language you learn will stick with you. This isn't just me. Several computer instructors told me as much. Obviously, that's not to say you can't learn new languages. But when learning other languages there is a tendency to "think" in terms of one's first or "native" language.
A more reasonable solution might be to switch to a different flavor of BASIC. In most cases, the language and syntax will be almost identical. And conversion becomes much easier and less intimidating.
So some will recommend switching to languages like
FreeBASIC,
DarkBASIC, or
DarkBASIC Pro.
HOWEVER, these still differ from Visual Basic to a significant degree. For instance, while very popular, FreeBASIC is actually a continuation of QuickBASIC.
BUT, I did some digging and I think I've found a
better solution:
REALbasic and
kbasic are
both described as being very similar to Visual Basic - even to the point of being
somewhat compatible and able to use a lot of the code
unchanged. (Though, I was also impressed by the features and being described as "easy to learn".)
I mean, think about it: You'd gain a number of new features (including having Aurora be cross-platform) by upgrading to a more modern flavor of BASIC
and being able to do so while making only very minor, if any, changes to the code!
Porting Visual Basic Applications to Linux and Mac OS X: A How-To Guide for Visual Basic Developer...quite similar to Visual Basic. It could use much of my Visual Basic code unchanged, and it could read most of my Visual Basic forms.
I could port my Visual Basic code to REALbasic, and at the end, my application would work under Windows—just like .Net. More importantly however, my ported application would also run under all 32-bit Windows (98/NT/ME/2000/XP) without the .Net framework; Linux (any Intel-based Linux running GTK2.0+ like Novell Linux Desktop or RedHat Desktop) and Mac (Mac OS X and Mac Classic). As an added benefit, there are no runtimes or "frameworks" required for an REALbasic application. In addition, my ported application would include the native interface widgets required to look great. In Windows XP for example, I was surprised that my REALbasic application takes on XP themes automatically!
KBasic - World's most advanced open-source Basic...It is a new programming language, a further BASIC dialect and is related to VB.NET™, Visual Basic®, Visual Basic for Application® and Java™. It combines the best features of those tools and comes with built-in backward support for those tools and QBasic® as it is 100% syntax compatible to VB6, VBA and QBasic®.
Additionally, it comes with support for VB.NET™ syntax, functions and similar objects and classes.