What programming language is Eschalon written in?

Movies, politics, the inevitable collapse of our universe... whatever we're talking about, you're welcome to join the conversation!
Post Reply
durzagott
Initiate
Posts: 6
Joined: October 21st, 2008, 8:49 am

What programming language is Eschalon written in?

Post by durzagott »

I would love to be able to write a game like Eschalon. My friends and I have ideas for cRPG's falling out of our ears all the time. To put some of them into practice would be very awesome.

Is the game written in C++? What skill level would you say you have to be to write a cRPG like this? (Intermediate/Expert/God) Have you got any tips for a budding novice? :mrgreen:

PS: Eschalon rules!
User avatar
BasiliskWrangler
Site Admin
Posts: 3833
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Re: What programming language is Eschalon written in?

Post by BasiliskWrangler »

Language: BlitzMax

Skill level: Expert. Think about it- not only must you make the game engine but also the rules system, the map editor, dialog system, and all the other elements that come together to make an RPG. I don't want to discourage you, but start by making a small prototype game to see what I mean before attempting to create a World of Warcraft killer. In fact, if you consider yourself a "novice" programmer, you should start by making a Bejeweled clone or something like that to better understand the structure of a game engine.

Good luck, and please keep us informed of any project you begin work on! :)
User avatar
Getharn
Marshall
Posts: 108
Joined: October 8th, 2008, 8:37 am
Location: Cambridge, UK
Contact:

Re: What programming language is Eschalon written in?

Post by Getharn »

EDIT: Oops, missed the post above before I added this one. I'll leave it here anyway in case it's interesting. At least I got the language right! :-)

I'd also love to work on something like this, but I suspect the biggest problem for most "hobbyist" coders wouldn't be the application itself, but rather the resources like graphics, sound effects and music. Certainly that's the one thing that's stopped me trying to start a project like this - I'm not even slightly artistic. Of course I might be a bit biased, since I'm a software engineer, so naturally I'm going to think of that as the easiest part... ;-)

There are free graphics out there you can use, but they're hard to find and often not hugely expansive. Alternatively, you can pay for them on a contract basis, but creating a good tileset alone is probably a very skilled task, and you'd probably rack up quite a big bill before the job was done.

I'm fairly new to Eschalon, but from what I've read on other sites it was written in BlitzMax, which appears to be a scripting language which is a distant descendant of BASIC. This presumably makes it a lot easier to be cross-platform - writing a game like this which ran equally well on Windows, Linux and OS X would be a slightly daunting prospect in pure C++, I suspect, due to differing graphics interfaces.

Disclaimer: I'm not a games programmer, I'm new to the community and game here, and I don't know anything much about BlitzMax. All in all, if I've got anything right, it's probably more through luck than judgement... But unfortunately that doesn't stop me putting in my two pennies' worth. Sorry! :-)
User avatar
macdude22
Council Member
Posts: 178
Joined: November 8th, 2007, 8:20 pm

Re: What programming language is Eschalon written in?

Post by macdude22 »

I miss the Coldstone Game Engine. This was great at the time, but alas Beenox moved on to bigger (though I say not better) things. I've still got an idea on the back burner for a unique RPG, but alas I haven't the time or the skill to code a full game myself. Something mod able would be nice, unfortunately my idea isn't set exactly in a fantasy setting so BoA doesn't lend itself to it.
durzagott
Initiate
Posts: 6
Joined: October 21st, 2008, 8:49 am

Re: What programming language is Eschalon written in?

Post by durzagott »

Thanks for your reply, BW. I appreciate you taking the time to answer.

I realise that making a game as quality as Eschalon is no mean feat. Like you say, there are a great many number of things to take into consideration. So starting small (very small) is definitely how I need to go about things.

Hopefully in a few years I will have the skill, and sheer determination, needed to cobble a cRPG game of some sort together. I definitely feel inspired to every time I fire up Eschalon!

Congrats on a making a brilliant game. Please hurry up with Book II so I can give you more money ;-)
User avatar
CrazyBernie
Captain Magnate
Captain Magnate
Posts: 1473
Joined: November 29th, 2007, 12:11 pm

Re: What programming language is Eschalon written in?

Post by CrazyBernie »

Probably one of the "easiest" platforms to make an RPG on would be RPG Maker. I messed around with RPG Maker XP a few years back when I was feeling all ambitious and creative about making my own RPG. Alas, one person can only amount to so much 0_o... One of the most well known games out there made with RPG Maker is the Aveyond series, which has gotten excellent reviews.

The latest version is RPG Maker VX, which has a nifty new feature: automatic dungeon creation!! ^_^ (almost makes me want to give it another go.... :roll: )

http://tkool.jp/products/rpgvx/eng/index.html

There's a decent sized community out there for the engine with lots of free graphics and sounds kicking around if you look for them.
realmzmaster
Officer [Gold Rank]
Officer [Gold Rank]
Posts: 429
Joined: November 21st, 2007, 6:32 pm
Location: Chicago

Re: What programming language is Eschalon written in?

Post by realmzmaster »

Even RPG Maker requires a considerable amount of work to create an RPG. Definitely the best way to start is small. Investigate the different languages. (Yes , I know many game designers and programmers will say learn C++, because that's the "gaming language".) Pick a language you can be comfortable with and want to learn. Write a simple PONG like game for two people to start. Do not laugh! It is not as easy as you think! Add some AI so that the computer can be your opponent. Improve the graphics. Then move on to a little tougher project. This way you can discover if you can commit the time and desire to keep going.
History is written by the winners!
User avatar
Getharn
Marshall
Posts: 108
Joined: October 8th, 2008, 8:37 am
Location: Cambridge, UK
Contact:

Re: What programming language is Eschalon written in?

Post by Getharn »

realmzmaster wrote:Definitely the best way to start is small.
Seconded!
realmzmaster wrote:Yes , I know many game designers and programmers will say learn C++, because that's the "gaming language".
Speaking as a C/C++ programmer, I would strongly discourage anybody from learning a C-based language as their first foray into software design, whether it's for gaming or any other application. To put this into context, C was the first language I learned from the age of 12 (well, aside from a scattering of BASIC before that), and I know how many headaches it caused me. Luckily I studied Computer Science at university, so I managed to unlearn the awful habits I'd picked up without too much pain.

In pure C, pointers and memory allocation issues make it easy enough to shoot yourself in the foot. When you add in C++'s multiple inheritance, templating and operator overloading, it even hands you the shotgun, points it downward and says "hey, do you want me to pull the trigger for you?"

This is not to say that C++ is a terrible language by any means! It makes it possible to write efficient code that runs damn fast. But it's a lot easier to learn to build flat-pack furniture as a first step to DIY, rather than just turning up to a forest with a saw and trying to assemble a chest of drawers.

Wow, I truly do have a talent for terrible analogies, don't I? Sometimes I even impress myself.

If you want a clean language to learn the basics of coding, I'd personally recommend Python - it's a very clean language, which handles some of the trickier low-level stuff for you. You're not going to write the next episode of Half Life in it, but the pygame libraries look like they offer some potential for basic games. Not that I've used those libraries myself, but I've written a fair bit of Python code.

Many of the principles of writing software are similar across most "normal" languages (Prolog notwithstanding), and you're usually better off learning a higher-level language that takes care of some of the complexity for you so you can pick up the underlying concepts. Even if you need to progress to something like C++ later, you'll certainly benefit from the firm grounding you'll have gained.

As an aside, if you've got any C++ or Python questions, feel free to drop me a message or something - I can't promise I'll have time to help out, but I like a challenge! :-)
MaximB
Senior Steward
Posts: 94
Joined: January 2nd, 2008, 3:05 am

Re: What programming language is Eschalon written in?

Post by MaximB »

I'm not a programmer, just learning Java from time to time.
I can make "Hello world" programs and some numeric stuff, but that's it for now.

In the company I work for there are a LOT of Java programmers and some C++ programmers.
I really recommend you to learn Java, it said to be one of the easiest computer languages to learn and it's free and cross platform.

BlitzMax costs money to license and it isn't nearly as popular as Java.
Why popularity helps ? well with popularity comes community, comes faster development and most important - support - guides, books, videos, material.
User avatar
Getharn
Marshall
Posts: 108
Joined: October 8th, 2008, 8:37 am
Location: Cambridge, UK
Contact:

Re: What programming language is Eschalon written in?

Post by Getharn »

I never really got on well with Java.

It's certainly a popular language, and increasingly so as time goes on, but I must admit that as dynamic languages such as Python and Ruby become increasingly accomplished, it's getting harder to see the advantages of Java for many software tasks. Admittedly the performance is still somewhat better with Java, though still quite far off well-written C++ code, and static typing has some advantages in more critical software, but the lines are getting fuzzier.

I had a few brushes with it during university, and indeed wrote a shared whiteboard server and client in it for my second year project. I found the core language was really quite clean (save for a few odd omissions like multiple inheritance), but it was badly let down by the standard library, which I found awkward and idiosyncratic. It probably didn't help that we had to use AWT since we were using Java 1.1 and Swing wasn't until 1.2, but I've dabbled a little more recently and still found it all a bit too much hassle.

I think it's probably the obsession with making everything an object for the sake of being an object that annoys me. You want to twiddle something? Heaven forbid you write a twiddle() function, it's far better to create a class mylibs.twiddling.ThingTwiddler and call a twiddle() method on it. Or was it called go()? Or run()? Or doYourFunkyThang()? Ahh, I forget, but that's what javadoc is for, right?

Also, the garbage collector makes life rather tricky if your software needs to make quality of service guarantees, but let's not get into that - I've already drifted far too off-topic and ranty.

So, yeah, Java isn't really that bad, I'm probably being quite unnecessarily harsh on it here. But it's worth remembering that there are other options. I think some Java programmers forget that sometimes... ;-)
User avatar
Devon
Initiate
Posts: 9
Joined: February 5th, 2009, 1:45 pm

Re: What programming language is Eschalon written in?

Post by Devon »

I've used pygame a couple of times and I personally think it is a great starting point for games programming. I've only recently moved on to c++ now after going back to school, and it made c/c++ much easier to learn. Technically an engine like Eschalon could be made with it as well, although pygame uses sdl so it is all software rendered and that means anything high resolution and highly animated will probably be slow. Of course you could use opengl to render pygame's surfaces if you knew what you were doing..

As far as c++ goes I've used sfml (simple fast multimedia library, it also has a python, C, C#, or D flavor) http://www.sfml-dev.org/ and found it to be very simple and well-designed, not to mention portable to linux and mac. It wraps opengl for its drawing library so it is sufficiently fast. Gosu also looks like a good library, it has c++ and ruby versions, but I've never used it.

There's always C# and Microsoft's XNA :twisted:
User avatar
Getharn
Marshall
Posts: 108
Joined: October 8th, 2008, 8:37 am
Location: Cambridge, UK
Contact:

Re: What programming language is Eschalon written in?

Post by Getharn »

Sure, it's always going to be effectively impossible to beat C/C++ at raw speed, assuming your code's well-written. It's just the extra trickiness of porting to multiple platforms, and the fussiness of the code itself. Cross-platform libraries help a lot, but there are bound to be awkward occasions where you need to conditionally compile bits in and out on certain platforms where the libraries don't quite handle it fully.

Recently, however, I was reminded of the dangers of C++. I was looking at some C++ code that had acquired a fairly hefty memory footprint (over 10GB of resident size), and it would sometimes lock up for minutes on end. This only ever happened after a few weeks of running, however. This really puzzled me, so I profiled the live system, and I discovered it would lock up spending 99% of its time in malloc!

It took a little while to track this down, and it turned out to be that we were hitting a pathological case in the normally competent Linux allocator. However, it was use of the STL which lead to this case - the coder had used lots of STL structures on the stack, but they were all allocating certain fixed-size chunks on the heap, and when lots of these were freed at once they would swamp the free list in the allocator. This lead to slow downs in further allocations until the list was cleared.

My point is that even though there are things like the STL to make C++ coding a bit more bearable and take care of some of the smaller details, you still need to be careful how you use them and understand how they work. Otherwise, when you start to push your code further, you'll find things that'll bite you in the rear.
There's always C# and Microsoft's XNA :twisted:
Bite your tongue! :-)
User avatar
Sslaxx
Council Member
Posts: 169
Joined: April 28th, 2008, 3:53 pm
Location: Malvern, UK
Contact:

Re: What programming language is Eschalon written in?

Post by Sslaxx »

Quite impressive what BASIC can do, isn't it? I'm more inclined towards FreeBASIC myself (beside the fact it's free, it's quite a nice (and powerful) BASIC, following more the QBASIC/QuickBASIC syntax stylee), with bindings for SDL, OpenGL etc.
Stuart "Sslaxx" Moore.
Post Reply