Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Space Sim Programming

Author
Message
SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 7th Jul 2010 02:13
Hello

I'm a complete programming noob, experienced artist and animator ( I work in the product prototyping and patent consulting industry ). I work with programs like 3D Max, Zbrush, photoshop..etc . I have much of the game art done, but I'm looking for the best programming language and engine to put it all together.

I intend to create an open ended, sand box Sci-Fi Space Sim MMORPG, with elements similar to EVE Online, Freelancer, Elite..etc The difference however, is that players will have Avatars,and will be able to walk around in their ships, space stations / cities / colonies, transport other players, form ship crews and fleets. Atmospheric planertary flight, landing on planets, colonizing planets, building structures, cities..etc

It will be the Sci-Fi MMORPG that geeks like me dream about, but unfortunately large game studios fail or refuse to create. For some odd reason they just don't want to put all of those elements into one game. They just don't get it.

So as ambitious and unlikely as it may seem, I'm going to do it. Im looking for the best language and engine to create this game. Can I accomplish this with DarkBasic Pro? Or do I need to learn C++ and maybe combine that with the DarkGDK..What route should I take.

It may take me two or even four years or more to finish this project, but I have all the time in the world. I work at home, I'm handicapped and I do nothing but sit in front of my computer all day. I would dedicate my self to this 100%.

I look forward to your feedback, thank you very much for taking the time to read the above.

Juan
Zotoaster
21
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 7th Jul 2010 10:27
You're definitely the first person ever to want to make an MMORPG. I mean it's more difficult than what most experienced teams can do - but hey, you're "going to do it"!

No but seriously. You need to know a lot about programming. You need to know about algorithmics, memory management, software engineering, just to name a few high level things that take a long time to master. It's not going to happen mate, not yet. Sorry.

"everyone forgets a semi-colon sometimes." - Phaelax
BillR
23
Years of Service
User Offline
Joined: 19th Mar 2003
Location: United States
Posted: 7th Jul 2010 11:12 Edited at: 7th Jul 2010 11:16
I admire your enthusiasm, but an MMORPG does really take a TEAM of programmers a couple of years to make.

DBPro will get you results faster, and be much easier to learn.
But...it won't be as fast as C++ with DarkGDK, and you won't get to have as many users playing at the same time with DBPro.

But, you should start with programming smaller, simpler games BEFORE you try to tackle something as massive as am MMORPG project.
Learn from the DBPro tutorials in the forums, code snippets, HELP examples in DBPro, and every piece of code you can get your hands on the learn from.

I don't know if a single programmer (especially a noob) can ever make an MMORPG by themselves.
I would suggest learning DBPro which will return some programming satisfaction quicker, and help you learn programming style along the way.
This will probably take a year.

Then I would suggest putting a TEAM together to work on your MMORPG project. Maybe the first version would be a DBPro version of your MMORPG.
This will take a second year.

Then build a faster, more capable C++ version using DarkGDK. Probably another year.

There are many people in the forums who are more than willing to help you learn along the way with both DBPro and DarkGDK.
I think you have the desire and drive to make this happen, just be realistic with the effort and time it will take to make this happen.

This is just my 2 cents, best of luck to you!
Plotinus
17
Years of Service
User Offline
Joined: 28th Mar 2009
Location:
Posted: 7th Jul 2010 13:09
You can do pretty much anything with DBPRo, at least in theory.

The above comments regarding the virtual impossibility of MMORPGs are probably accurate, but don't be completely put off. My advice would be to begin by learning to program much less ambitious things. Then, when you feel it's time to start on your dream project, you should try to program just small bits of it, with an eye to making a very cut-down version. For example, try to program a simple one-player game with spaceships, stars and planets. When you've done that you can try adding extra elements to it, to bring it closer to your dream game. If you plan your work carefully and set yourself realistic goals for each segment there is no reason why you shouldn't, over time, build up a good and complex game. Whether it will be a MMORPG, I don't know; I would aim to think in terms of a single-player game that you might make multi-player in the future. Certainly the multi-player aspect would be one of the hardest parts of such a game to write.

You do have a head start, though, being an experienced artist. It seems that everyone on these forums is into programming (obviously) but people with artistic ability are in relatively short supply. If you can make your own quality media for your game then that's a real bonus.

Also, check out the Evochron games, which are written with DBPro. Evochron Mercenaries has just been announced and will be out later this year, and it includes many of the features you're interested in (although not, I think, human avatars).
SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 7th Jul 2010 13:20
Thanks for the advice Billr. I plan to make a single player prototype first, something simple, and develop that into something worth presenting here on the forum. Get others interested in working with me on the project, once they see the graphics and a few elements of the game come to life...

This is definitely a long term project.

Zotoaster, anything is possible, when someone is willing to put forth the time and effort. I actually appreciate your flippant smug attitude, it motivates me to succeed even more.

Peace
SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 7th Jul 2010 13:31
Thanks Plotinus, that's exactly what I have in mind. Start small..build little segments of the game and eventually put it all together.

I found the Evochron Mercenary game it looks great. Artistically, I work with Solidworks, 3D Max and a few other major programs..I just discovered Genetica on this website, and I'm going to start using that too, along with Photoshop.

Thanks for the feedback.
Zotoaster
21
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 7th Jul 2010 17:43
SciFiGeek,

Sorry, I was cranky. But if you were on this forum long enough, you'd understand how many people come by intending to make the next big MMO, and then they are quickly forgotten. We even have a banner for it!

I don't deny that you probably do have the motivation and enthusiasm, but you don't yet have the knowledge, and it's not something you can just pick up.

For example, you want to make seamless movement into planets. What if I told you you can't do that without a fast LOD system, which you must implement using a dynamic quad-tree (which DBP can't do natively), and then map a variable amount of vertices onto the relevant patches. Does that make any sense to you, and if it does, would you know where to start? Probably not.

If I was to tell you that rendering all the objects in the game will take O(n) time to do, would you understand? Maybe you should implement a scene graph (again, DBP can't really do this), to speed the process up, but this isn't a simple task. Do you know how to do it?

Of course it's possible you can do it mate, but I'll tell you that you will be here for many years, and 90% of that time will not be working on the game itself, it will be learning theory and practice. There's a lot you need to understand about programming before you can make such a massive piece of software work - because it's not just a game, it's an architectural, engineering masterpiece, and unless you don't even know what a concept of a class is (which, yet again, DBP doesn't support), you will have yourself a very, very hard time.

But, I wish you all the best. I recommend you learn some basic things in DBP, like the idea of a variable or an if-statement, etc. Learn to make some cubes fly around, etc, then, if you're really serious about this - and I mean really serious - go learn C++. You can use the DBP engine with it, it's called DarkGDK. It's not as fast as most other engines because it handles all rendering for you (which means it takes linear time, as opposed to a possible logarithmic time if you do it properly). But that's the correct way to do, because DBP isn't able to handle such huge pieces of software gracefully.

Good luck, and I wish you all the best.

"everyone forgets a semi-colon sometimes." - Phaelax
KISTech
18
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 7th Jul 2010 20:03
See www.worldsapartonline.net.

It's an MMORPG that's been in the works for just over 4 years, and it's written in DBPro by me. It's based on an idea I had for a game 25 years ago, and has elements from Trade Wars, EVE Online, DarkSpace and others.

I've had 25 years experience in programming, starting with making modifications to the old Trade Wars ANSI graphics BBS game back in 1985 all the way up to programming for the IRS on their IBM 370, and Unisys 2200 mainframes in 1996. Even for me, game programming has been quite a challenge.

I'll never tell you that you can't do something, because with enough determination I believe you can make anything happen. However, if you are new to programming, finding some willing participants in your project isn't going to be easy. It took me a year to find a 3D artist. I have yet to find a sound effect and music artist, and the program is reaching a tipping point where another rewrite will be necessary. (there goes another 3 months)

Working with a small team to create something like EVE is going to take at least 5 years, especially if you're all doing it part time. I'm lucky enough to be a stay at home Dad, with a very understanding and patient wife that lets me do this full time. (Yes, I've been doing this 50-60 hours a week for 4 years..)

I just want to make sure your expectations are set appropriately. Keep the enthusiasm, restrain the excitement a little, and prepare for a long haul that will teach you more than you ever thought possible.

Neuro Fuzzy
19
Years of Service
User Offline
Joined: 11th Jun 2007
Location:
Posted: 7th Jul 2010 23:04
Also... networking stuff. A lot of the time it seems like a good plan to say something like "machine A sends info to machine B, stores data in database G", but it's hard to imagine all the layers of crap you have to go through to do each one of those tasks. The single player aspect is hard enough, but then there's proper database handling, dead reckoning, network bullcrap, synchronization stuff, encryption, security, etc.

I would recommend learning c++, practicing some basic algorithms (quicksort, recursive stuff), getting very well acquainted with that stuff, and then moving on to more 3-dimensional, game-like things (like zotoaster said - scene graphs; dynamic quadtrees/LOD terrain, AI, object management), then a small game or two, then start development on 3d, online, spacelike game engines.

but... yeah, there's a billion and one things that go into projects like this.


Is't life, I ask, is't even prudence, to bore thyself and bore thy students?
SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 7th Jul 2010 23:43
Kistech, I just took a look at your game it looks great, very nice.
SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 8th Jul 2010 04:42 Edited at: 8th Jul 2010 06:22
Kistech , Plotinus and Bullr, I hope to learn a lot from you guys. I appreciate your feed back.

The reason that most indie projects don't make it past a demo, if they even get that far..is due to lack of interest , investment and efficiency. Some indies pretend that they're going to develop a game, without investing any money. I often come across posts on gamedev forums where people are complaining about how hard it is to make a game, yet they aren't willing or can't afford to invest $1000 in their game, much less $10,000.

They own one computer and rely solely on open-source software / free ware, and then tell people how difficult it is to make a game. Not all, but many of them can only dedicate a couple of hours daily to their project if that.

If you have two or three computers, and the right software and skills, you can make a great game. It took me two weeks to learn 3D-Max ( some people learn it in a few days ). And a couple of months to get good at it..It can take hours to render an asset, texture it..etc and while you're waiting for it to render on one computer you're coding on the other.

Why is that so hard? You can buy a sound effects mixer, good mic and some recording software and produce your own sound effects. It will take you a few days to figure out how to use the equipment and software..maybe a bit longer.

You can buy sound effects..hire someone to do it for a few hundred bucks. Contract someone. But some indies aren't willing to invest $1000 or $5000 in their project..or to multi-task..So it's true, it's impossible to produce a great game.

They then come here and when they find someone that is motivated and enthusiastic, they try to level him, bringing him into their reality..which is one where there's a budget of maybe $50.00 a month, if that..they work on one computer. They use freeware and don't want to learn how to do the artwork or use a 3D modeling software..

I appreciate the technical advice, as to what the requirements are..I don't appreciate anyone projecting their circumstances, their reality on me, as far as what is and isn't possible. We should have candid discussions here, and I appreciate the technical info.

Peace
KISTech
18
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 8th Jul 2010 06:50
Thanks. Like Neuro Fuzzy said, there's a Billion and one things that go into these kinds of projects. I'm just about done with the first 600 Million.

Zotoaster
21
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 8th Jul 2010 15:46
SciFiGeek,

You're absolutely correct. Lack of interest is an important factor, but it's not the only factor. The other big part of it is that people will typically learn to do a few basic things, such as loading a model, assigning an object ID to it, and learn to move it around using the arrow keys. That's good, but then people think "Okay! Part way finished!", which isn't true, because even though they've got it to do something, they haven't organised their code properly, which will cause huge problems in the future. Organisation is key. I recommend an object oriented language for something like this, such as C++ or even C#, because they encourage expandability.

"everyone forgets a semi-colon sometimes." - Phaelax
SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 8th Jul 2010 23:56
Hi Zotoaster

I'm pretty much sold on the idea that I will eventually have to learn C++. I figure I will have to learn C before C++ , although that isn't necessarily true, based on what I've been reading.

Evochron is a game that I believe was written purely in DBpro..I might be wrong, but that's what I was told by the developer when I asked him on You-Tube. I posted a comment on one of his videos asking him what language he used, answer : " DBpro ".

For now, I'm going to concentrate on learning DBpro and creating a prototype, a simple scaled down version of my game. Based on what I've seen of Evochron, I might not need C++ to make more or less what I want.

In the future if I face a problem that I can't fix my self, due to lack of skill or I just can't find anyone in the forum to help me..I'll hire a coder online..to deal with that particular issue . Might cost me a few hundred buck, even a bit more..at $35 an hour. You can sometimes find C++ coders from eastern europe, that charge less and know what they're doing.

Thanks for the advice..I definitely need to learn come C.
Neuro Fuzzy
19
Years of Service
User Offline
Joined: 11th Jun 2007
Location:
Posted: 9th Jul 2010 06:05
well... keep in mind this is coming from a programmer with no professional c++ experience but...


Quote: "Thanks for the advice..I definitely need to learn come C. "

definitely not... c++ is object oriented, C is procedural. It took me a while to understand the difference between OOP code and procedural code... but here's the gist of it (not sure if you'll get it or not - I didn't until I was ~proficient in basic and c++)
In procedural code, you have a procedure that's generally straightforward. IE (in pseudo-code)

A language designed for Object Oriented Programming can and does contain procedural code, but it is all contained within methods. For example, in java (which is an OOP language), you have your program "class" (imagine it as a box full of code), and its "main" method (a method is a function, or a little compartment in the box filled with more code). The compiler searches for the method called "main" and starts executing the code there (basically). In procedural code, you start at the top of wherever you're programming, the code isn't necessarily contained in a vessel/box of any sort.
Now, why OOP is useful - say you have a class called "tree", that has a function called "dropApple", which returns an "Apple" (described below). Also say you have an object "Food", which has the method "beEaten". Now say that you have a class called "apple". This apple "extends" food, meaning it is food. If you want Food, and you're given an Apple, you're happy (compiler works.) If you want an Apple, and you're given Food, you're not happy (because the food may not be an apple. Compiler is sad, because compiler likes apples, not pasta or whatever crap you're trying to feed it.) [this is and example polymorphism but that's not really the point] Also say you have an object "Person" (bear with me!) who has the method "eat", that takes in an argument "food" (an argument is an object passed in to a function/method of some sort). Now, you can say something like this (the "." command accesses a method):

Person.eat(tree.dropApple())

Now, that is very intuitive and sensical. What would you put for code in the method Person.eat? Something like this:

Even though person was passed an apple, it eats food. Even though it accepted food, it ate an apple. OOP allows you to ignore the nitty gritty of other "object"'s code, because the nitty gritty in other objects works fine, and doesn't really have to be dealt with. (don't get me wrong, you'll still be doing plenty of lower-level stuff, but you'll be programming one thing, then another, then another, and you'll be able to bundle up very complex actions into simpler, intuitive lines of code)

The point of all that is that c++ can be waay waay different in style than C code. Of course, any programming experience would help, but I wouldn't suggest even thinking about the idea that learning C would help you learn c++.

If you wanted to program the above procedurally, things would be way way different. If you really really want (IE. if you're engaged in what I'm saying, and are following along), I can write up some code in DBPro and c++ to show you the exact code for something like this. Otherwise, I suggest kind of thinking about what I've said, downloading Visual C++ 2008 express edition, and googling for some tutorials.


Is't life, I ask, is't even prudence, to bore thyself and bore thy students?
Morcilla
23
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 9th Jul 2010 11:34
SciFiGeek, you should be fine starting with DBPro and see how basic programming tastes.

Your project is definitively too ambitious for a rookie programmer, but you could start with simple scenarios.
No doubt that the learning process will maintain you entertained for a while, but if you have the time...

SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 9th Jul 2010 12:07
Thanks Neuro and Morcilla..I have a bunch of C++ books in my Amazon wishlist, that I will be purchasing after I learn DBPro. Those books will probably be sitting there in my wishlist for a while, until I get profecient with DBPro.

That MPL3D game looks really good.
Syncaidius
21
Years of Service
User Offline
Joined: 22nd Mar 2005
Location: United Kingdom
Posted: 9th Jul 2010 12:55 Edited at: 9th Jul 2010 12:59
I wouldn't say MMOs are impossible for a single programmer any more... at least not in this day and age. I've played one called Wurm Online. It's an mmo created in java, where you get to terraform, create mines for resources (10 or so metals and rock shards), cut down trees, construct buildings, seige equipment and craft pretty much everything, right down to the parts needed to make tools, weapons, armour, etc. The game has a standalone client and the graphics are actually much better than WoW once you turn them up, unless you count the lack of animations.http://www.wurmonline.com

That was created by one guy at the very start and only after he had all the core gameplay mechanics nailed out did he find a few other artists to fill out placeholder models after the game was up and running for people to play. Even to this day wurm online still has placeholder models left for some things (which is just a bag with a red "?" on the side of it). The game itself has been going for about 6 years now, after taking just over 2 years to develop as far as I know.

So my point is, even one person alone can create a playable MMO with a lot of depth in the gameplay.

SciFiGeek
16
Years of Service
User Offline
Joined: 6th Jul 2010
Location:
Posted: 9th Jul 2010 13:38
Hi Syncaidius

I remember seeing a video about WURM on youtube and I broused through their website..It's an interesting game. Open ended sand box...Whoever developed that game by themselves must be a very experienced programmer..It will take me several years to see my game, provided I dedicate my self to it 100%.

You're right, the technology is closing the gap..allowing indies to do a lot more. It's like broadcasting..you see professional looking videos on YouTube all the time, they appear like they were produced by a major studio, yet it's just one guy with a camcorder, and some good video editing software.

Login to post a reply

Server time is: 2026-07-25 08:13:40
Your offset time is: 2026-07-25 08:13:40