PDA

View Full Version : Will I suck at programming



Baelfael
March 4th, 2007, 06:21 PM
I plan on someday coding an MMORPG in Java or something. However I am not very good with Math or Algebra. However I have the feeling I'd be good with Physics, and I am very good with Geometry. Will this hinder my dream of coding an MMORPG?

Oh and the MMORPG is going to be 2D isometric if that helps...

tbodine
March 4th, 2007, 06:34 PM
Math and physics especially have nothing to do with programming, unless you're programming something like a math application or a graphics application maybe..

Baelfael
March 4th, 2007, 06:39 PM
Surely Physics and Mathematics play a part in game programming. >_>

Sefrin
March 4th, 2007, 06:39 PM
Math and physics especially have nothing to do with programming, unless you're programming something like a math application or a graphics application maybe..

Sorry, but I have to disagree with you, unless you're just programming GUIs and not any of the underlying code for what you wish to accomplish. Of course, maybe I'm biased as I went to a math oriented University for my Computer Science. When you get to the good stuff it's all math.

Baelfael: Physics is all math. :guitar:

Programming and math really depends on what your end result will be. Usually the surprises come when you get into the middle of a project. Good luck!

tbodine
March 4th, 2007, 06:42 PM
Sure you have to know the basics of math, but you don't need to be good at it to create an application, unless of course it's math oriented.

Baelfael
March 4th, 2007, 06:51 PM
Sorry, but I have to disagree with you, unless you're just programming GUIs and not any of the underlying code for what you wish to accomplish. Of course, maybe I'm biased as I went to a math oriented University for my Computer Science. When you get to the good stuff it's all math.

Baelfael: Physics is all math. :guitar:

Programming and math really depends on what your end result will be. Usually the surprises come when you get into the middle of a project. Good luck!
Did you, by chance, go to Cambridge in England? Cause that's where I plan to go for Computer Science.

hellraiser_rob
March 4th, 2007, 10:41 PM
You seem to have set your programming targets rather high, which might not be a bad thing, however you could be dooming yourself to failure. How about a more realistic target?

All programming does of course require an understanding of math.

speedingbullet
March 4th, 2007, 10:46 PM
well an MMORPG involves leveling up, so theres a place your have to use math. Im actually like you in this situation, im just starting as well, and im good at basic math.... but im not really good with anything beyond that.....

also, ive heard Java graphics are pretty limited.... Runescape is made in java, but at the same time I guess thats not much a fair statement because Runescape is designed so dailup users wont have lag.

Lux Perpetua
March 4th, 2007, 10:47 PM
I plan on someday coding an MMORPG in Java or something. However I am not very good with Math or Algebra. However I have the feeling I'd be good with Physics, and I am very good with Geometry. Will this hinder my dream of coding an MMORPG?

Oh and the MMORPG is going to be 2D isometric if that helps...Programming is logic, logic, logic. If you're no good at logic, then you're short of luck. Otherwise, it's all good. (Of course, there might be specific projects you want to pursue that require more specialized mathematics. I don't know what an MMORPG is, so I can't give an opinion on that one.)

Mr. C.
March 4th, 2007, 10:50 PM
I plan on someday coding an MMORPG in Java or something. However I am not very good with Math or Algebra. However I have the feeling I'd be good with Physics, and I am very good with Geometry. Will this hinder my dream of coding an MMORPG?

Oh and the MMORPG is going to be 2D isometric if that helps...

I find these questions typically to be rather odd, but feel compelled to add my 2cents.

Physics requires extraordinary math skills - leading edge physics today is pushing mathematics into new, highly complex territories. If you do not have the aptitude for math, do bother with physics.

Programming requires an ability to think linearly, and often very abstractly. It requires intense focus, concentration, and dedication. It requires a very good grasp of boolean logic, and yet also requires intuition at times to break beyond the obvious problems.

Why someone feels they need to program a this-or-that without knowing the basics confuses me. Its like saying, I'd like to build a skyscrapper, having never pounded a nail.

MrC

Wybiral
March 4th, 2007, 10:53 PM
I plan on someday coding an MMORPG in Java or something. However I am not very good with Math or Algebra. However I have the feeling I'd be good with Physics, and I am very good with Geometry. Will this hinder my dream of coding an MMORPG?

Oh and the MMORPG is going to be 2D isometric if that helps...

A 2d game will NOT require that much math... 3d is where the fun stuff comes in (matrices and vectors) but an average 2d game will not require much.

Just some simple logic and some made up battle algorithms. RPG's don't really require much math at all.

iAlta
March 4th, 2007, 11:08 PM
Programming is logic, logic, logic. If you're no good at logic, then you're short of luck. Otherwise, it's all good. (Of course, there might be specific projects you want to pursue that require more specialized mathematics. I don't know what an MMORPG is, so I can't give an opinion on that one.)
Mathematics in it's purest form IS logic.

So, I'd say it does require some math.

Wybiral
March 4th, 2007, 11:11 PM
Mathematics in it's purest form IS logic.

So, I'd say it does require some math.

Well... Math requires logic, but that's not a prerequisite for logic requiring math.

pmasiar
March 4th, 2007, 11:52 PM
I plan on someday coding an MMORPG in Java or something. However I am not very good with Math or Algebra. However I have the feeling I'd be good with Physics, and I am very good with Geometry. Will this hinder my dream of coding an MMORPG?

Oh and the MMORPG is going to be 2D isometric if that helps...

As i answered the other guy in thread "Linear Algebra....how I hate thee", same can be applied to you:

We had similar discussion in thread so is programming pretty much math?? (http://ubuntuforums.org/showthread.php?t=371096) less than a week ago.

Big part of programming is is being detail-oriented, accurate. Algebra is good training for it IMHO. Another important part is being able to learn enough from whatever area you happen to program, to be able to solve problems for your users. That's why they need you - and often programmers are not willing to learn, and users better learn some programming (which is not that hard after all - it is mostly logic) and solve problems for themselves, without bothering lordly programmers. And yes, they will solve it NOT in C++: they will use Perl or Python instead.

So you better wake up soon. Not all programmers code MMORPG games - and those who do, are often paid peanuts, because many college kids will go in and work for peanuts to program games, instead of solving tough real-world problems, where the real money are.

hod139
March 4th, 2007, 11:52 PM
Mathematics in it's purest form IS logic.

This isn't quite true. Predicate logic is its own science and is a tool used by mathematicians (among others) for formalisms. I usually don't link wikipedia articles, but the article on predicate logic (http://en.wikipedia.org/wiki/First-order_logic) isn't too bad. When I took a course on logic, it was taught by the philosophy department, not the math or CS department.

Baelfael
March 5th, 2007, 12:13 AM
So you better wake up soon. Not all programmers code MMORPG games - and those who do, are often paid peanuts, because many college kids will go in and work for peanuts to program games, instead of solving tough real-world problems, where the real money are
When did I say I was going to code it for money? I want to code it for fun and the feeling of accomplishment.

Thanks for all your replies. I really feel that I could be good at math, it's my teacher. He doesn't teach well at all. My friend who is 2 grades higher than me who went to the same school agrees; he retook the class in 9th grade and said he understood it so much better and found it more fun than frustrating.

azazel00
March 5th, 2007, 02:40 AM
I don't do game programming. My work so far has involved moving processes, that are done by hand, to the computer and developing algorithms to facilitate and simplify those processes. I also suck at math in college (I did ok with physics thought).

I like to consider myself a 'decent/good' programmer. I think that a good programmer needs a great capacity for solving problems a lot more than he needs an aptitude for doing math.

Some can argue that math is about solving problems, and they could be right. But then again, the fact that I sucked at Calculus hasn't been a factor in my capacity to solve problems in other fields.

Game programming is a complex field, but don't let that scare you. What one cant do intuitively, one can learn to do by repetition.

On a side note, dont develop your game with Java ;)
It's slow!

Mr. Picklesworth
March 5th, 2007, 03:13 AM
If you worry about it, you won't do well. Just dive in and you will be amazed at what is possible in a short amount of time.
One of the biggest mistakes that people make is the belief that programming is purposefully made to be as scary and confusing as possible. This isn't a conscious belief, but it happens because you have become used to just not understanding the stuff. All this code (with a few rare exceptions) is made with the goal somewhere to be easy to use and easy to understand. It isn't perfect because it is of course difficult to join consistency, predictability and readability for both computers and humans. The two think very differently :P
However, it does make as much sense as it can and folks generally do try to help make it easier. For example, just today I bit the bullet and took my first steps to learning how to develop software for Gnome. I immediately found some great resources at Gnome.org and within a few hours I had read some excellent tutorials and I now have a pretty good idea of what everything does.

I would not recommend Java to create an MMORPG, though :b
It's not your fault; some maniac(s) have probably convinced you to Java's capacity to do these things. Java is for databases, some particular kinds of applications, web applets and highly portable applications like cell phone games. For something where speed is not an issue over having cool code, Java is handy. Anybody who uses it to build a desktop environment, a word processor or a first person shooter is obviously insane.
Java is an interpreted language, which means that a Java program is actually running via another program that runs it. This is, in my opinion, a very silly way to go because the operating system already does that same job! The difference, and the reason why interpreted languages can be a very nice thing, is that this Java program is easily portable to any platform and some fancy features are possible there that can't be as easily done with compiled languages like C.

The language I started with is BlitzBASIC (and their current big thing, BlitzMax, is cross platform). It is not free, though, so be aware of the alternatives.
I bet some other people here have good suggestions. I have seen a lot of free programming languages aimed at being easy to use for game development, though I only remember them vaguely...
(And if you really feel like just hopping right in, I recommend C, C++, maybe D, as fine starting points though a lot more gobbledygoopish than the rest. I've heard good things about Python as well. It's pretty cool, though C is handy to learn because its conventions happen pretty much everywhere).

As for MMORPG: May I recommend just a standard RPG? Morepigs, as I like to call them, are HUGELY difficult both to design and to build and the concept is really getting a bit tired. Besides that I'll bet you have some great ideas for it and my findings say that single player RPGs can have much more character than massive multiplayer ones. Single player RPGs can have events of epic proportions creating some amazing story, while multiplayer ones can only manage tiny events that affect single people (the quest taker), with no impact on anything remotely large or interesting. (And as a result, they have to have a lot of these pitiful little microquests).
Besides that, you won't need to pay for a dedicated server. Big plus!

Physics and math are important for the general understanding. General math concepts (logic) are important, and there is almost always a trigonometry problem, but the more convoluted stuff (Calculus?!!) seems to really only creep up on the people who go out looking for trouble :b
For physics, there are many many real time physics engines out there (ODE, Newton, Havok, that PhysX one which has a free license now). You usually don't need to know much on the topic as long as they are there to help you; they tend to do all the work. Of course, again, some physics understanding is certainly helpful just to know what is going on, and what the physics engine is talking about in its documentation.
Math can creep up in funny places, but another thing to keep in mind is that it really works differently than paper math. This is computer programming math, where you get the luxury of If statements, loops and brute-force tactics to find solutions, and where you don't punch in 39=6x to get x.


Anyway, stick with it, be confident and go at it bit by bit. If you ever think that your efforts are going nowhere, look at this (www.worsethanfailure.com) and feel your confidence instantly rejuvenated.

Wybiral
March 5th, 2007, 03:48 AM
I wouldn't recommend an MMORPG at all!!!

Make a regular one player RPG first.

Then make a networked game, something simple.

If you can't do either, you probably wont want to jump in and attempt both of them!

Sefrin
March 5th, 2007, 03:57 AM
Did you, by chance, go to Cambridge in England? Cause that's where I plan to go for Computer Science.

University of Waterloo, Ontario, Canada. :mrgreen:

Cambridge, Ontario is pretty close too.

Good luck with the RPG. For a first endeavour may I suggest something top down with sprites, ala Chrono Trigger? Those can be fun to do.

SlCKB0Y
March 5th, 2007, 04:30 AM
A 2d game will NOT require that much math... 3d is where the fun stuff comes in (matrices and vectors) but an average 2d game will not require much.


And how will mapping a 2d RPG NOT require matrices/2d arrays?

SlCKB0Y
March 5th, 2007, 04:31 AM
Math and physics especially have nothing to do with programming, unless you're programming something like a math application or a graphics application maybe..


This is totally wrong. You *CANT* program without an understanding of maths. Of course we may be talking about different levels of maths, but it IS needed.

Wybiral
March 5th, 2007, 05:34 AM
And how will mapping a 2d RPG NOT require matrices/2d arrays?

Seriously?

Theres a HUGE difference between a two dimensional array (tilemap) and matrix mathematics...

You aren't going to be multiplying or inversing tilemaps... And you aren't going to need transformation matrices to concatenate with your tilemap...

mr_niceguy
March 5th, 2007, 07:24 PM
...if you are just willing to learn what it takes to reach them. That WILL require some math, how much depends on your final goals.

First of all, you're not going to need advanced physics unless you plan to build your own game engine. And I can't imagine why you would re-invent that wheel considering there are good, cross platform engines already available for 2D game development. e.g. here (http://www.garagegames.com/products/torque/tgb/)

If you specifically want to use Java, rest assured Java is not only capable for game development, it IS used even in a number of commercial titles. Just be aware that Java's automatic garbage collection is often not enough for intensive applications. Be intentional about freeing memory resources as much as you can. Amazon has some titles on Java game development (http://www.amazon.com/s/103-2506602-4982264?ie=UTF8&tag=mozilla-20&index=blended&link%5Fcode=qs&field-keywords=java%20game%20development&sourceid=Mozilla-search).

Otherwise you can also look at using Python which has libraries useful for 2D games. Amazon has titles on this too (http://www.amazon.com/s/103-2506602-4982264?ie=UTF8&tag=mozilla-20&index=blended&link%5Fcode=qs&field-keywords=python%20game%20development&sourceid=Mozilla-search). Google for other resources.

yaaarrrgg
March 5th, 2007, 07:59 PM
I'm not sure you want to think about a MMORPG until you've written a few simpler games first... MMORPG is very complex and not the place to start. A more realistic approach would be start writing games in an order like this (simple to complex)

puzzle game (with little or no animation, but can use some ai)
pong style (learn about basic animation and collision detection)
space-invaders shooter (manage simple sprites with finite resources)
pac-man style grid game (multiple ai sprites, levels with different behaviours)
1d scroller (like a sideways scroller, manage an offscreen world, sprites)
2d scroller (like a platform jump game, or rpg)
3d game, or first person pov (optional).
multi-player online game, with machine ai, MMORPG

Baelfael
March 5th, 2007, 09:59 PM
As a side note, I AM NOT planning on starting an MMORPG right away. I'm not an idiot. I know what I'm up against, too. I'm going to start writing simple apps and games, and then work my way up until I'm prepared to create my dream game. When I'm about ready, I will most likely start with a single player RPG, and then make a game where several players can interact on a network, and then I'll have some background knowledge on how to code it efficiently with the game I'm planning on creating.

I also want to thank Andrew Gower for inspiring me to be a programmer. Not only because of RuneScape, but because of all the other things he created back in 98-99, before RuneScape. Particularly his solo MMORPG he was making called DeviousMUD.

Wybiral
March 6th, 2007, 12:58 AM
RPGs (and a lot of MMORPG's) do NOT require physics!

Even a lot of the 3d ones... They often don't allow for the types of motions that action games require physics for, such as: jumping, projectiles/particles, 3d collision detection, accelerated motion...

A 2d RPG is going to require a tiny pinch of math... Basic motion and stuff. Nothing complex, you can get away without using vectors and you shouldn't need matrices at all unless you plan to do more complicated graphics (which might require transformation matrices)

I was making simple overhead RPG's when I was like 12 in QBasic. I didn't know anything about physics and had a sub understanding of math.

If you can do simple 2d parallel box collision... Render sprites (which is exceedingly easy with a lot of 2d graphics libraries)... Control the position of objects (mostly just characters... Handle their X,Y and render them there). You can make an RPG.

The more complex parts will be logic and design oriented... The user interfaces (dialog boxes and item selections)... The battle engine. The AI (moving the non-human characters is about all you'll need. You may need to think harder to get the non-humans to battle competitively)

But, matrices... Physics... Calculus... ???
For a simple 2d RPG project... Absolutely not.

Understand basic algebra, logic/design, and programming. Thats it.

rplantz
March 6th, 2007, 05:29 AM
Thanks for all your replies. I really feel that I could be good at math, it's my teacher. He doesn't teach well at all. My friend who is 2 grades higher than me who went to the same school agrees; he retook the class in 9th grade and said he understood it so much better and found it more fun than frustrating.

One would expect that the material would be easier to understand the second time you take a class. :) I recall a class that I retook in graduate school. It was on system theory. The first professor was one of the world's authorities on the subject. I thought he was not a very good teacher. So I took more math and retook the system theory class from another professor, learned a lot more, and enjoyed it. It also made me appreciate that the first professor was actually pretty good, but I wasn't as well prepared the first time.

During my two decades of teaching computer science, students often told me that they found a book that was easier to understand than the one I had selected for the class. Early in my career that bothered me because I wanted to use the best textbook. Then it dawned on me that the second book on a subject is almost always easier to understand than the first.

When I was interviewed for my teaching job, I was asked if I thought math was important for computer science. I answered "no." (I got the job even though some of the hiring committee members were math professors.)

After teaching CS for a few years, I realized that math is the basis of computer science. Since I was always good in math and like it a lot, it didn't occur to me that I was using it all the time. It's not necessarily explicit use of math, but it's the same precise way of thinking. I never studied the correlation, but I got the impression that my better CS students were also good in math.

By the way, I have also noticed a correlation (again, anecdotal) between programming and music. But, of course, music is very mathematical.

pmasiar
March 6th, 2007, 02:19 PM
It's not necessarily explicit use of math, but it's the same precise way of thinking.
exactly


I have also noticed a correlation (again, anecdotal) between programming and music. But, of course, music is very mathematical.

IIRC Brooks says in "Mythical man-month" that in '60 one way of distinguishing good system programmers was: programmers who like classical organ music. I can agree, it is acquired (== learned) taste, but when you get it, you see how some nice Bach's fuga has very precise and multilayer design.