We are certainly in agreement here. Unicode conversions, memory management
and all the other things are certainly a pain which I guess is why we are
writing engines. Smile. Luckily AngelScript has built in garbage collection
so I didn't have to worry about that part, but I did have to write a small
converter function from char* to WCHAR* etc. Not a big deal if it is called
behind the scenes by the scripting engine but if you need to actively use it
while programming, that's not so good.
As for .net, I dislike it for a few reasons. First of all, it is huge. Huge,
bulky, and constantly being updated so you need to download new versions of
the thing. There is no reason why a few programming components should be
that large, in my opinion. Granted Windows Vista and above are including
.net, but then there is the issue of extra dependencies, like to play
certain games you need to install not only .net but also this extra wrapper,
and then a wrapper for that wrapper. Not something I'll cheer for. When I
download a game, I just want it to run. I don't want to care about what it
uses internally. See my drift? I also don't like the fact that .net programs
are so easy to reverse engineer, and to protect yourself you need to get yet
another extra add-on. Not nice. Oh I don't have a problem that a high level
language compiles into mid-level byte code, .net does it and so does
AngelScript and Lua and what have you, but the environment should take
measures to secure the byte code. I use strong encryption to protect mine in
BGT. Oh I'm sure it can be cracked, but at least I am trying and not making
people get an upgrade just to have basic security features.
How come you decided to switch from .net to C++? What were your main
----- Original Message -----
From: "Thomas Ward" <thomasward1...@gmail.com>
To: <phi...@blastbay.com>; "Gamers Discussion list" <email@example.com>
Sent: Friday, January 28, 2011 4:40 AM
Subject: Re: [Audyssey] Game Engines was Heli
You definitely have a point. Although, I know C++ fairly well myself I
don't like using it as much as something like C# .NET just because its
a little too low-level for my liking. As author Jesse Liberty put it
in his book Teach Yourself C# .net in 21 Days, "going back to C++ is
like pulling teeth." He has a very good point as C# .net via the .NET
Framework wraps all that low-level stuff in a high-level interface.
For example, as you know and I know, a lot of the Windows API
functions take Unicode character strings. Well, if you have a lot of
anci strings you have to convert them to an unicode wide character
string before passing them to the API function. That's a pain in the
butt. In .net languages you don't have to worry about that problem
because the System::String class can convert between ansci and unicode
Then, there is the issue of memory management and garbage collection.
To be honest the garbage collecter is one of the strong advantages to
using .net languages rather than C++. With C++ you are on your own
unless you write your own garbage collecter to manage garbage
collection in the background.
Anyway, I agree with you. For various reasons writing games in C++ is
a pain. There is no doubt about that. Using a scripting language like
Angelscript or using a .net language as a high-level interface is
obviously a much easier solution all things considered.
Although, I'm curious to know why you don't like .net. There is a lot
i personally like about it, and for Windows programming it makes my
life as a programmer much much easier. There is also Mono, a Mac/Linux
implamentation of .net, which really makes cross-platform development
fairly straight forward for a lot of apps.
As for the BGT documentation I can't honestly remember when the last
time I looked at them was. It was well before 1.0 came out. Maybe beta
3 or beta 4. Something along that lines. As you said, a lot has
changed since then, and I should have looked before saying what I
On 1/27/11, Philip Bennefall <phi...@blastbay.com> wrote:
I don't know when you last viewed the BGT documentation but until fairly
recently, the more advanced object oriented parts of the language were not
covered at all in the tutorial. AngelScript has inheritance, polymorphism
through interfaces, overloaded functions and class operators, and even
things as function pointers. So while not quite a programming language it
comes very close while stil being extremely simple, and I would never go
back to writing actualg ame logic in C++ again. I'm all for using C++
speed/performance is concerned, but equally as convinced that high level
game logic should be written in a high level language. And since I am not
fan of .net, I ended up using a scripting solution. This way I don't even
have to initialize anything, no need to open a device, set up DirectInput
even worry about creating the window or setting up the timer threading
model, all this is done behind the scenes for you. Similarly, everything
properly destroyed even if a script exception occurs.
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
All messages are archived and can be searched and read at
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.