Jump to content

  • Log In with Google      Sign In   
  • Create Account


A Hello And A Qusetion that may have been asked


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
16 replies to this topic

#1 OMG_Crackers   Members   -  Reputation: 62

Like
-3Likes
Like

Posted 04 July 2013 - 11:38 AM

    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



Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 5790

Like
4Likes
Like

Posted 04 July 2013 - 12:00 PM

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.


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#3 OMG_Crackers   Members   -  Reputation: 62

Like
0Likes
Like

Posted 04 July 2013 - 12:25 PM

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



#4 Servant of the Lord   Crossbones+   -  Reputation: 17189

Like
8Likes
Like

Posted 04 July 2013 - 04:06 PM

With programming, there won't be any tutorial that teaches you exactly how to make the game you want. It'll take alot of determination, self-discipline, and focused attention to problem solve and develop the original and unique code that your game requires. You can't just glue together code others have written to make a great game - if you could, millions of people would have already done this. Instead, it takes alot of hard work over the course of years to make an MMO. sad.png

 

If you are willing to put in real effort, and do the work that is required, without asking others to do the work for you, then you need to start small and work your way up: small game by small game. There are exactly zero videos on "How to make a MMO in 10 easy steps without doing any hard work.". Instead, there are tutorials (yes, that involve reading, and yes, reading is a requirement for programming) that can teach you how to program in general, but never any that will teach you how to program your specific project.

 

I tried not to sugar-coat this post, because I feel like sugar-coating it could be counter-productive in this situation to you actually learning how to program. There is alot alot alot of hard work involved in what you want to do, and this is hard work that you yourself will have to overcome without being hand-held and without video tutorials or even written tutorials. You, yourself, have the capability of overcoming that hard work, and mastering the challenges that stand in your way - but you can't do that if you run away or avoid the difficult parts.

 

I'm not trying to be mean or anything, and here's a smiling face to prove it (smile.png <--- smily face). But this is the reality of the situation - it's an uphill journey, and you'll never reach the top of the hill (your destination) if you try to walk downhill (avoiding frustrating hard work). You can accomplish your goal... but you'll have to mentally struggle through it step by step. We're here to help you do that, by pointing in the right direction, but not by showing you how to avoid the challenge, and not by writing the code for you as a 'demonstration'. 

Programming is not writing down code exactly as someone else shows you. It's not magical commands that make a game.

Programming is learning the tools, and then using those tools to accomplish things in ways nobody showed you, and overcome difficulties unique to individual projects that nobody has yet experienced. You are able to do this; it does require work, but you can learn how to do that work.

 

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.

 

Almost any language can do physics. Almost any language can do 3D graphics. Almost any language can make RPGs, or FPSs, or racing games, or destructible terrain. If you already know the basics of Java, then stick with that for now, and complete some unique (but small!) project that nobody has taught you. It'll teach you alot more than you might think. wink.png

 

Tutorials and forums can teach you how to solve particular tasks (displaying graphics onscreen, managing gamestates, moving objects along paths), but you have to learn how to take the knowledge given to you and apply it to your game without copy and pasting (and without retyping exactly) the code. You have to learn the concept behind the things being taught, and not the lines of code that just happened to implement the concept for one specific project. This is very hard work - but you can achieve it and master programming if you are willing to embrace the difficulties.

 

We'll definitely cheer you on and offer advice along the way! smile.png


Edited by Servant of the Lord, 04 July 2013 - 11:47 PM.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

[Fly with me on Twitter] [Google+] [My broken website]

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal


#5 jbadams   Senior Staff   -  Reputation: 17251

Like
8Likes
Like

Posted 04 July 2013 - 05:50 PM

I'm going to warn you up front, but this post might come across as a bit harsh and discouraging.  I don't mean to discourage you at all -- you can do this if you put in the work -- but it really sounds like you need a proper reality check; from reading your posts I get the distinct impression that you've already been given all the right advice and are simply too lazy to follow it.  You're also very clearly over-estimating the abilities you already have.

 

 

No offence intended, but any sort of MMO is not a suitable project for someone who describes themselves as lazy, and even an extremely motivated beginner would still need to go through all those "boring" lessons and work their way up with smaller projects first.

 

 

What you want to do is definitely possible, and there's no reason you can't get it done, but:

  • You won't be able to do it if you're lazy.  Making a large game is difficult and takes a long time.  You need to be committed, hard working, and willing to stick with it even through the things that are less fun and interesting.  
  • You will have to read things.  You might be able to find video tutorials on some topics, but reading is really unavoidable.
  • There aren't tutorials that will just show you how to do everything; tutorials are good for learning about small, isolated subjects, but you'll still have to put everything together yourself, and you'll almost certainly have to do some of your own research to adapt tutorials that cover close-to but not exactly what you want to do.

 

If you don't have a great understanding of any individual programming language, then you do not have a great understanding of programming.  Programming is learned by doing, and all the theory in the world is no replacement for actual experience.  You need to go through all those boring lessons and write actual programs.

 

The so called "lazy answer you always get" is given to you constantly because it is the right answer, and the reason you "sound like you don't know programming at times" is because you don't know programming.

 

 

Almost any popular programming language should be capable of what you want to do, but since you've asked for some specific suggestions, here are some possible starting points:

  1. HeroEngine.  It's designed to be a turn-key solution to MMO-type games, and costs you $99 per year.  Scripting is done in a custom language called "HeroScript".  They have a wiki with plenty of content to help you get started, including a good introduction and lots of other content.  You will have to read that content to get anywhere.
  2. Unity3d.  You'd need a lot of work to coax anything resembling a true MMO out of it -- and I'll note that's true of any option -- but otherwise it's a very capable and beginner-friendly engine with a lot of documentation, some video tutorials and an active community.  You can program in C#, UnityScript (very similar to JavaScript), or Boo (similar to Python, not particularly popular).  
  3. jMonkeyEngine -- programmed with Java.  Learn Java from any regular source, and then learn jMonkey.

With any of these options -- or any other approach -- you will have to do your own research (including a lot of reading) and learn the basics before you can start working on a more complex game.  You have to put in the effort.  That's just the way it is; even simple 2d no-programming-needed options like Construct 2 take a lot of time and effort to learn if you want to use them well, and you have to start with the basics.

 

 

There are no shortcuts.  You can't just jump ahead to a complex 3d online game without learning the basics first.  You will have to do at least some reading.  You will have to do the hard work.  You can do it if you put in the effort!

 

 

Hope that's helpful! smile.png



#6 Toothpix   Crossbones+   -  Reputation: 810

Like
1Likes
Like

Posted 04 July 2013 - 08:10 PM

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.


C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.


#7 Paradigm Shifter   Crossbones+   -  Reputation: 5150

Like
1Likes
Like

Posted 04 July 2013 - 08:59 PM

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.


"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

#8 jbadams   Senior Staff   -  Reputation: 17251

Like
7Likes
Like

Posted 04 July 2013 - 11:43 PM


The first language you ought to be learning through-and-through is called English.

[...]

Whilst you do have a valid point, please try to be more polite when responding in the For Beginner's forum, where we try to provide a friendly and encouraging atmosphere.

 

The OP may well be very young and/or may not speak English as a first language.  Most of your post is fine and the message is a valuable one, but the overall tone is very unfriendly, which in my experience often just results in your valuable advice being dismissed as "mean" and ignored.

 

 

OMG_Crackers: MrJoshL may have been a bit harsh in his response, but he does have a valid point: game development is difficult, and effective communication is a very important part of development.  Taking the time to write proper English to the best of your ability helps to show dedication and ensures that people will understand you correctly.  It also shows some respect for those people who are volunteering their time to help you out by answering your questions.  

 

To reiterate some of what was said above, you absolutely can learn to make great games, but this isn't a pass-time for the lazy and you'll have to put in a lot of time and effort and work your way up from the basics.



#9 OMG_Crackers   Members   -  Reputation: 62

Like
0Likes
Like

Posted 05 July 2013 - 07:58 AM

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

#10 OMG_Crackers   Members   -  Reputation: 62

Like
-7Likes
Like

Posted 05 July 2013 - 08:02 AM

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

#11 jbadams   Senior Staff   -  Reputation: 17251

Like
6Likes
Like

Posted 05 July 2013 - 08:20 AM

Firstly, please take the time to try to type properly.  We can forgive some mistakes, but when a post that long (I'm specifically talking about reply #9) doesn't contain a single punctuation mark it makes it difficult to read and respond to properly.

 

 

 

 


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

[...]

just need to know the math and the syntax

 

You load whatever files you need.  You use whatever maths is required for your game.  The syntax will be the syntax of whatever programming language you are using.  If you had more specific questions (i.e. "I'm trying to implement [some functionality] using [some programming language] and [some particular engine], here's what I've tried, what am I doing wrong?" or even "I'm trying to do [some specific task] with [some engine] and have no idea how to start, help!") we could help you, but at the moment these questions are just so broad and general that they're completely meaningless and impossible to answer.

 

 

The fact that you're asking this very clearly shows that you have not yet learned the basics properly, and if we give you code samples or random instructions on the usage of an engine it will not be helpful to you.  You really should try actually making a simple 2d game -- just a game of Pong, with simple blocks and a circle for graphics so not having art isn't a concern -- but without using existing code.  

 

Pong is a really simple game, but it contains a lot of the basics you'll need for a top-quality MMOG: a game loop, input handling, basic collision detection and response, etc.  If you can't make Pong, you can't make your MMO.  I know it sounds silly.  I know it might not be exciting to make Pong.  But honestly, if you can't do that, you aren't ready for the things you're asking for, and it'll just be a lot of technical gibberish you're unable to understand.

 

 

Start from the basics.

Try to make Pong.  If you do it properly you'll actually have a much better understanding of what to do next.  You can't just skip over this basic stuff because you think you would be able to do it if you tried -- by actually doing it you'll learn the answers to some of your questions, as well as having a better idea of what specific questions you should ask next.

 

smile.png



#12 DareDeveloper   GDNet+   -  Reputation: 895

Like
0Likes
Like

Posted 05 July 2013 - 12:08 PM

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, 05 July 2013 - 02:24 PM.

Given enough eyeballs, all mysteries are shallow.

ProcGames.com


#13 ByteTroll   Prime Members   -  Reputation: 1168

Like
0Likes
Like

Posted 05 July 2013 - 02:21 PM

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, 05 July 2013 - 02:23 PM.

▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬
I see the future in 1's and 0's
▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

#14 _greyfox()   Members   -  Reputation: 1128

Like
0Likes
Like

Posted 06 July 2013 - 01:12 AM

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? 


“There are thousands and thousands of people out there leading lives of quiet, screaming desperation, where they work long, hard hours at jobs they hate to enable them to buy things they don't need to impress people they don't like.”― Nigel Marsh

#15 jbadams   Senior Staff   -  Reputation: 17251

Like
2Likes
Like

Posted 06 July 2013 - 02:15 AM


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.



#16 _greyfox()   Members   -  Reputation: 1128

Like
0Likes
Like

Posted 06 July 2013 - 09:44 AM

 


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.


“There are thousands and thousands of people out there leading lives of quiet, screaming desperation, where they work long, hard hours at jobs they hate to enable them to buy things they don't need to impress people they don't like.”― Nigel Marsh

#17 Servant of the Lord   Crossbones+   -  Reputation: 17189

Like
3Likes
Like

Posted 06 July 2013 - 01:03 PM

 

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)


It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

[Fly with me on Twitter] [Google+] [My broken website]

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS