RPG - Languages? Engines?

Started by
4 comments, last by Looniper 13 years, 1 month ago
I know the questions are asked so often they are in FAQs all over the net - What language to use, what Engine(s) to use (if any) etc..
But I have a more Narrow need and specific existing skills.

What I know---
I am not new to programming, I began with the requisite BASICs in school, and later decided to learn to really program so I taught myself Assembler for the x86 using Turbo Assembler.

So the trouble isn't that I don't understand programming, but that my language of choice isn't a viable option. Assembler lets me push the processor around in ways you just can't do in those high-level languages, but it also keeps me from developing anything that is flexible in regards to hardware, OS, etc. I'm very much trapped on the x86 processor running MS Windows.


What I have---
A fully functional game - already, but limited to Single-Player, DOS-PC, and shoddy 2D graphics because I have no idea how to do 3D in assembler.
It runs and plays just fine, if not pretty. I developed my own AI for the mobs and NPCs - and even created a genetics system so that rather than just "spawning" creatures the game has them "reproduce" offspring which carry traits from their parents - and some tweaking to make it faster/slower based on existing populations, etc.
So I've done the Dev work...

What I need---
A way to bring it into the 21st century. :lol:
I have looked at more than a dozen programming languages - C++ looking strong, but they all have points that make me wonder if they're "The One"
C++ for example.. I don't think learning it would be difficult at all, but I would have to learn to "Render" 3D , to sweep visual ranges, collision detection and physics... all before I could even begin working on the Game aspects.
How does one explain in C++ that if the mouse clicks - in a 3D viewport, if they have clicked this object or that? Or if a stone they throw will hit a target or fall short/hit a wall?

So I wonder about Engines - Torque is the only one reasonably priced - or Free ones for which I can't find Good Examples of their use - They handle the "junk" that I don't really want to bother with, but will I take months to learn one - and the associated programming language, just to find that they discontinue development so I can't Advance the game as technology improves unless I start over from the beginning?


I'm not trying to make a Wow clone or anything similar. Truthfully, what I am aiming for is more like the Realm (realmserver.com if you don't know what it is) but rather than Rooms, a Worldmap and separate maps for buildings, caves, etc.. and using 3D models instead of the 2D cartoon artwork.
Advertisement
Hello,

I am not sure about what do you want to do. Learning C/C++, developping a game engine, developping a game, choosing between existing engine?

What is your goal?
If you are more intersted in game logic programming go with a graphics engine like Ogre 3D (free and open source cross platform rendering engine in C++) and you can get a jump start on deveopment (this is what I did).

Saying somethin gis a negative because it will take months to learn is a bad line of thinking. Your RPG may take years! So what is a few months, nothing. If you are going to go for it, go for it with the mindset of long term.
Visit http://www.VoidDestroyer.com to check out my space sim project - Void Destroyer
[color=#1C2837][size=2]
How does one explain in C++ that if the mouse clicks - in a 3D viewport, if they have clicked this object or that? Or if a stone they throw will hit a target or fall short/hit a wall?[/quote]
[color="#1C2837"]

[color="#1C2837"]The way to do things varies greatly even staying in C++. Sounds to me like you just need to sit down and patiently learn C++ and OpenGL or some other API, step by step.
[color="#1C2837"]

[color="#1C2837"]
Assembler lets me push the processor around in ways you just can't do in those high-level languages[/quote]
[color=#1C2837][size=2]Haha ok.

What I need---
A way to bring it into the 21st century. :lol:
I have looked at more than a dozen programming languages - C++ looking strong, but they all have points that make me wonder if they're "The One"
C++ for example.. I don't think learning it would be difficult at all, but I would have to learn to "Render" 3D , to sweep visual ranges, collision detection and physics... all before I could even begin working on the Game aspects.
How does one explain in C++ that if the mouse clicks - in a 3D viewport, if they have clicked this object or that? Or if a stone they throw will hit a target or fall short/hit a wall?

So I wonder about Engines - Torque is the only one reasonably priced - or Free ones for which I can't find Good Examples of their use - They handle the "junk" that I don't really want to bother with, but will I take months to learn one - and the associated programming language, just to find that they discontinue development so I can't Advance the game as technology improves unless I start over from the beginning?


So, the question is: what experience are you hoping to gain from this? That of designing and building a modern game? That of learning a new language? That of learning a new API? That of learning an Engine? Choose any combination you like, really, but its hard to make concrete recommendations without knowing what you're after.

As far as learning to render, or to do collision detection and physics -- what you have to learn is basically unaffected by the language you choose. Its true that a higher-level engine might provide some or all of these things, but languages do not. Doing any of these things you listed always comes back to math and logic (in other words: programming) -- there's nothing mystical or magical about it, and tons of information is freely available, its just a matter of implementing it. Usually, things are straight-forward to implement, even if they do get a bit fiddly when you get down to the corner cases. Many of the techniques are (or can be) approximations of the "real deal" as well, which often simplifies implementation, for example, collision doesn't usually have to be perfect to the exact geometry of a model, but is often calculated with boxes, spheres, capsules or highly-simplified models.

If you want the quickest path from where you are now to a working game, then an engine is probably the way to go. If you want to learn about the lower-level details involved in implementing a game engine, then choose an engine and API -- if you want "industry-like" experience, C++ with OpenGL or DirectX is the way to go, if you're not necessarily looking to make this a career, then something like C# with XNA or SlimDX is viable (which is not to say that there are *no* industry jobs in C#, just that there tend to be fewer currently).

throw table_exception("(? ???)? ? ???");

Based on the specific things you mention as your problems.. I think I understand the issue.

You know how to program, and are willing to learn new programming languages, but the MATH of some things is beyond your goal or your willingness?

I know I can sit down with any of a dozen languages, and without a reference of any kind, build an IM/chat or similar program in a few hours (at most). But I have never had the drive to spend literally Years learning the math needed to handle collision detection or rendering. That is why we have the APIs and libraries to handle those things for us.
Allegro, OpenGL, DirectX.. there are any number of things to consider to shorten your workload and eliminate the complex math.

I'm sitting with a new-similar difficulty myself. I have the tools to handle the math intensive things, but trying to process for 3D model animations in my client is proving just as bad... if not worse, and I can't find any corresponding Help like I did with the physics and graphics.

This topic is closed to new replies.

Advertisement