[MUD-Dev] New Beginings II [Not GC]
Sean Kelly
sean at hoth.ffwd.cx
Tue Jun 11 11:27:04 CEST 2002
On Sun, 9 Jun 2002, Drylar Levre wrote:
> C++ has power and versatility, and has been cross-platformed
> decently. The drawbacks include the fact each native system has
> design differences. (I've ported my old linux/gcc to win32/vc++
> and saw quite a bit not work the same). Also, in C/C++ it is
> difficult (but not impossible) to optimize for less memory loss.
I would say that cross-platform code requires the deisnger to build
a framework that abstracts the core code from platform differences.
Neverwinter Nights is a great example of this, it runs on Win32,
MacOS, BeOS, and Linux. As for memory loss -- as with all things,
C/C++ requires more of an active effort to design a system that
suits your needs. However there are a number of freely available GC
libraries for C++ that abstract most of the issues.
> Java on the otherhand, compiles and runs on the JVM, which has
> been ported to many systems. What I have learned via asking a few
> friends who work with it, there are some, but very few differences
> in code between different OS's. (Apparently Macs don't like java
> all that much). As per memory optimization, it is easier to work
> with than C/C++.
Agreed. Java hides most of the details of resource management, etc.
And its cross-platform support has dramatically improved since 1.0.
> Other than that, I didn't hear many other languages even
> mentioned. As per library resources, I was directed to a site
> which handles 2D. Warcraft was a bad example on my part. AOE2, and
> I'll say Command and Conquer are better examples in that both
> handle 3D, with terrain heights, shadows, objects blocked from
> view by other objects, etc.
Python would be a likely alternative. And Objective C perhaps.
> What I'm wanting my 'finished' product to look like:
- isometric/3d graphics
- menu system
- music
- serializable model format
- network transfer of said models, textures, etc.
> I could keep going, as I have in mind what I want the finished
> product to look like, hopefully now you all have enough
> information to point me towards the right direction on what
> language and resources to use, etc. As per garbage collection, as
> long as it's present.
...
> As per my thoughts, I'm leaning more towards sticking with C/C++,
> in that it's what I know. I'll just have to learn differences in
> each platform's flavor of C/C++. As per librarys, programs,
> resources, anything to incorporate in that would make my overall
> product easier to accomplish, I'd love input.
Purely for the graphics and media aspects, I'd recommend C/C++.
Java is fairly slow when it comes to graphics, and I'm not sure
about Python's 3d/media support, especially multiplatform... Obj C
either. That said, C/C++ has a ton of multiplatform graphics/media
solutions. OpenGL runs on just about every platform out there, if
you want to do true 3d. A tile-based/isometric solution would be
simpler to implement... you could even do that in pure OpenGL
also... I don't have any pure 2d libraries to recommend offhand.
And compared to graphics, the music should be a breeze, even if you
have to write platform-dependent code to do it.
My advice, start small and make it a design that you can extend as
you go. Doing the project that you're suggesting all by yourself is
a ton of work -- you're more likely to stay focused if you have
something to play with as you go.
Sean
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list