Sign in to follow this  
OMG_Crackers

A Hello And A Qusetion that may have been asked

Recommended Posts

OMG_Crackers    62

    Hello GameDev.net I'm OMG_Crackers.tongue.png  I am a new Member but Have a Great understanding of Programminghappy.png  but no Great knowledge on programming Languagesunsure.png . so Bare with me when I ask and don't give the lazy answer I always get. Ex: "Here's where u learn If Statements methods and Variables. and these Charters || && =="angry.png (Java lol again no good knowledge on programming Languages). so now we hopefully on the same page I would like to know where I can find how to make a game engine with 3D (X,Y,Z) with the game style MMOFPS/MMORPG/Racing. With physics and all and I might need intermediate info along side but no this is how you make methods lol. also a good languages to use for my game idea. I would tell you guys what it is but I want to be the first to make a game in this style lol.tongue.png  so just to make it simple without all the unknown details. *I need a good programming Language for 3D MMOFPS/MMORPG and destruction/ Physics.*

 

    just to help I know java, DBC (I know it is Basic), and a little VB 2003 .net and I understand coding a lot better then some people.wink.png

Share this post


Link to post
Share on other sites
SimonForsman    7642

Use whichever language you know best (if you need low level access you might have to use a language that provides that though, atleast for those specific parts of the engine), if you got a Great understanding of programming it shouldn't be that difficult, a game engine is just software. (It is fairly complex software, but its still just software).

 

These days both 3D graphics and Physics are done on the GPU, so you need to look at OpenGL/Direct3D for graphics and either a complete physics engine like PhysX / Havok / Bullet or a GPGPU solution such as CUDA/OpenCL/DirectCompute. (These will work with pretty much any language allthough most APIs are written for C and may require wrappers for other languages)

 

For the Massive aspect you might want to read up on distributed simulations, the online multiplayer part can be done using the socket API for your chosen platform.

Share this post


Link to post
Share on other sites
OMG_Crackers    62

K Thanks Man do you know where I can Find a good video to tell me everything I need to know about these's programs I know I seem to sound like I don't know programming at times but its cuz I don't like reading I don't learn much from reading I have to see the code running and how its put in I know java from a intro level but if I wanted I could do a pretty complex program I just get lazy sometimes so ya thanks I kinda knew this but some of the programs u said to use I haven't heard but the name sounds like the same to the other programs so thanks a gain :-

) hope I don't sound stupid lol

Share this post


Link to post
Share on other sites
MrJoshL    810

The first language you ought to be learning through-and-through is called English. After that, I don't think I can help you, at all. No one understands what you are talking about, and the entire bucket of cringe we think you are saying really makes us want to decline in having a mature conversation with you, whom we can't even understand between all of the emoticons and "lols." All I will say is that there is no magic solution to anything, and you can't make an MMO.

Share this post


Link to post
Share on other sites

K Thanks Man do you know where I can Find a good video to tell me everything I need to know about these's programs I know I seem to sound like I don't know programming at times but its cuz I don't like reading I don't learn much from reading I have to see the code running and how its put in I know java from a intro level but if I wanted I could do a pretty complex program I just get lazy sometimes so ya thanks I kinda knew this but some of the programs u said to use I haven't heard but the name sounds like the same to the other programs so thanks a gain :-

) hope I don't sound stupid lol

 

There's only one way to make a pretty complex program, and that's to do it. Being lazy isn't going to get it done.

 

If I wanted I could become a concert pianist I know the names of the notes but I'm too lazy to practice or learn to read music.

Share this post


Link to post
Share on other sites
OMG_Crackers    62
Thanks I know what ur say I'm not asking all of the code just the process of how a engine should work like what files should be loaded and some of the math I could make a 2d game easily just idk how to draw graphics too well so I understand a lot of people ask for the code but I need it to just get started in how I should go about it I could also do forms easily now no issue with methods and if statements just need to know the math and the syntax again I know I said I'm strong in java but I am still learning I just need some code examples not code snips lol

Share this post


Link to post
Share on other sites
OMG_Crackers    62

The first language you ought to be learning through-and-through is called English. After that, I don't think I can help you, at all. No one understands what you are talking about, and the entire bucket of cringe we think you are saying really makes us want to decline in having a mature conversation with you, whom we can't even understand between all of the emoticons and "lols." All I will say is that there is no magic solution to anything, and you can't make an MMO.



Did I ask for opinions no so please leave ur thoughts to ur self all I need is sites and code examples I'm not going to use the code but I will learn from how it was made lol ig I'm better at coding than english lol

Share this post


Link to post
Share on other sites
DareDeveloper    1018

I kinda know what you are asking for.

I think your assessment that your know a lot about programming is not quite right, though. You probably have a solid idea of the basics, which certainly is not nothing, but there is still a lot of big picture knowledge you need to learn.

Usually I would agree that learning to program / thinking like a programmer in general is more important than examples of how something is done.

 

But I didn't make any progress until I found a follow-along-tutorial that happened to explain the thoughts / reasoning behind the taken steps.

So I actually like your take on learning. I read "The First 20 Hours" (first20hours.com/?) and love the message:

You should only learn enough theory that you can start doing something right away (and before that you should know your goals ... more detailed than you have outlined them).

You need to break your goals down into chunks, as many others here have said here. Making smaller games will help you get that big picture knowledge.

 

Unfortunately I don't know of any tutorials that teach the reasoning ... and I don't know of any source code on Github that you could analyze.

Maybe somebody can point something out.

Maybe you can also prove that you have the big picture knowledge that we think you lack.

 

I think Nehe might still be a place with some info on 3D Graphics programming (http://nehe.gamedev.net/). The codebase was improved ... not sure if all links point to that codebase. Maybe somebody here has an opinion on the state of those resources?

Edited by DareDeveloper

Share this post


Link to post
Share on other sites
ByteTroll    3035

Adams makes a bunch of good points and his answer is very honest and true.  I would take that answer to heart and start learning because you have a lot of hard work ahead of you.

Edited by ByteTroll

Share this post


Link to post
Share on other sites
Pufixas    1167

Writing code that someone else has already shown you is not programming.

Programming is writing your own code to solve your own unique challenges for your individual project.

 

 

I wanted to point out those 2 sentences because everyone tells me, and not just me, that you shouldn't reinvent the wheel, you shouldn't write what someone else already has written, to save time, and at some cases to save money. 

How would you respond to this statement? 

Share this post


Link to post
Share on other sites
jbadams    25676


I wanted to point out those 2 sentences because everyone tells me, and not just me, that you shouldn't reinvent the wheel, you shouldn't write what someone else already has written, to save time, and at some cases to save money. 
How would you respond to this statement?

I'm obviously not the person this was directed to, but if I might offer a response anyway...

 

There's a difference between getting things done and learning.  

 

Reinventing the wheel is (usually) a bad idea when you're trying to get things done.  You're spending time that doesn't need to be spent, and unless you spend a lot of time and effort and are very skilled will probably produce a lower-quality replacement for the existing functionality.

 

When you're learning however, it's an excellent idea to make your own version of things as a learning experience -- you can compare to a more professional solution to judge the quality of your work, and you'll learn from figuring out how to implement it yourself.  You'll also end up with a better appreciation for the existing solutions.

 

 

You don't learn by cutting and pasting someone else's code samples -- you learn by writing your own.  You will however still take advantage of existing libraries (rather than reinventing the wheel) such as SDL/SFML/Allegro, etc.

Share this post


Link to post
Share on other sites
Pufixas    1167

 


I wanted to point out those 2 sentences because everyone tells me, and not just me, that you shouldn't reinvent the wheel, you shouldn't write what someone else already has written, to save time, and at some cases to save money. 
How would you respond to this statement?

I'm obviously not the person this was directed to, but if I might offer a response anyway...

 

There's a difference between getting things done and learning.  

 

Reinventing the wheel is (usually) a bad idea when you're trying to get things done.  You're spending time that doesn't need to be spent, and unless you spend a lot of time and effort and are very skilled will probably produce a lower-quality replacement for the existing functionality.

 

When you're learning however, it's an excellent idea to make your own version of things as a learning experience -- you can compare to a more professional solution to judge the quality of your work, and you'll learn from figuring out how to implement it yourself.  You'll also end up with a better appreciation for the existing solutions.

 

 

You don't learn by cutting and pasting someone else's code samples -- you learn by writing your own.  You will however still take advantage of existing libraries (rather than reinventing the wheel) such as SDL/SFML/Allegro, etc.

 

Thank you. That's what I wanted to hear. Those are exact my thoughts.

Share this post


Link to post
Share on other sites

 

Writing code that someone else has already shown you is not programming.

Programming is writing your own code to solve your own unique challenges for your individual project.

 

 

I wanted to point out those 2 sentences because everyone tells me, and not just me, that you shouldn't reinvent the wheel, you shouldn't write what someone else already has written, to save time, and at some cases to save money. 

How would you respond to this statement? 

 

Yes, code reuse and not re-inventing the wheel are really important. But if someone's use of "tutorials" is not to learn from the tutorial, but to copy+paste the code and then smush it into place in their own projects, regardless of how well it fits, that's not actually learning the concept the tutorial is teaching. Sometimes people say with English, "Say it in your own words" to make sure you understand something and aren't just rehashing what someone else said. Well, if you understand the concept a tutorial teaches, you should be able to "write it in your own code" even if you choose not because of time/money/labor costs.

 

Copy+pasting tutorial code to help you learn the tutorial - compiling the tutorial's code and then modifying it to see how it works - is perfectly fine. Experimenting with code you don't understand is a good tool to help you understand. But googling for code to copy+paste when you encounter a challenge in your own non-practice projects is not fine, for several reasons:

A) It teaches you to avoid creatively thinking up solutions yourself, and instead using other people's code.

B) It's almost never a perfect fit, so it'll have to be kinda duck-taped together, likely resulting in bugs.

C) You won't actually understand the code, and since you'll need to modify to expand it's capabilities, you'll likely introduce bugs.

D) If you want to sell your game (or even just release it for free...), you'll have licensing issues over the copyright of the code you didn't write.

 

If there's a problem you don't understand, yes, researching the problem is very good! Trying to create your own solution without knowledge isn't good, but just copying someone else's solution without understanding it also isn't good. Using third party libraries or whatever is fine (even, and especially, if the 3rd party libraries make up 99% of your project), you aren't required to learn how the libraries work inside, but your game that interacts with those libraries shouldn't be just a frankenstein of sewn together flesh from other people's projects or tutorials. The code that you write, should actually be written by you.

 

If I'm using a 3rd party library, and using functionX(), I don't need to know how functionX() is implemented, but I absolutely shound understand what functionX() does. Otherwise programming just becomes alchemy ("If I mix X and Y, then Z is magically produced. But I don't know why, that's just the way I've "learned" (copied) it").

 

I'm probably not wording this properly. Using 3rd party code (libraries, tutorial/article code, code snippets from forums) is great! But make an attempt to understand programming, even if you don't have time to learn how every piece of code works, at least you should know how the code you yourself are writing works. Using 3rd party libraries is great. Copying a code snippet that uses 3rd party library, and being unable to rewrite that code snippet in your own code means you don't actually know how to use the 3rd party library.

 

Now, some amount of copy+pasting from tutorials is part of the learning process, especially for new programmers. The distinction I'm trying to make is, copy+pasting and experimenting with it to understand it is fine, copy+pasting and then just moving on to the next part of your project without even making an attempt to understand it, isn't fine. If that happens in a few places, well okay, you'll learn those pieces of code anyway over time. But if the entire project is like that, then that's not actually learning to program.

 

If someone needs a tutorial that says, "How to make my specific videogame, with feature X, Y, and Z", then they need to learn how to actually program. Part of that programming process is learning how to break down projects into tasks and subtasks so you can wrap your mind around it and code what you can yourself, researching problems you don't know how to solve, and using the acquired knowledge to write the solution in a way that meshes seamlessly with the rest of your code.

 

(Bleh, it takes me seven paragraphs to write what someone else could probably explain in two sentences)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this