GPWiki.org
GPWiki.org
It is currently Sun May 19, 2013 12:31 pm

All times are UTC




Post new topic Reply to topic  [ 17 posts ] 
Author Message
 Post subject: What do i need to know?
PostPosted: Tue Feb 28, 2012 1:46 am 
First of all, I'm gonna say that i'm 14. I also know that some of you may frown on that. I've started to learn basic Java, I don't know why I picked Java, but have done anyway. I've just recently got into Programming and hope to make 2D platformers within about a 3-4 years of learning Java and Obviously before I attempt to create my own game (along with a team) I want to dabble in modding Super Mario and/or Pokemon as practice?(is that a good idea). I have a question and statement?;
1. - Will I need to learn another language to "Mod" Pokemon/Mario?
2. - Teach me something about Java that I can carry on throughout my "Learning" of languages.

Thanks for your time, all reply's will be appreciated.


Top
  
 
PostPosted: Tue Feb 28, 2012 2:02 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Nathan wrote:
First of all, I'm gonna say that i'm 14. I also know that some of you may frown on that.

Nah -- we were all 14 at some point... in fact, I'm sure there are plenty of people around your age who frequent the forum. Everyone is welcome here, as long as they respect the rules, and respect the other users -- regardless of age. Likewise, if you're 34 and cause any problems, then you can begin to worry about being frowned upon. :)

Nathan wrote:
I've started to learn basic Java, I don't know why I picked Java, but have done anyway. I've just recently got into Programming and hope to make 2D platformers within about a 3-4 years of learning Java and Obviously before I attempt to create my own game (along with a team) I want to dabble in modding Super Mario and/or Pokemon as practice?(is that a good idea). I have a question and statement?;
1. - Will I need to learn another language to "Mod" Pokemon/Mario?
2. - Teach me something about Java that I can carry on throughout my "Learning" of languages.

Thanks for your time, all reply's will be appreciated.


1 - Something like that would be impractical -- if you want to directly mod these specific games, you need to work with their operating hardware (which is FAR different from any modern computer), either physically, or via emulator. And Java will not work well to that effect. (The games you mention specifically are written in 6501 Assembly and/or C.) However -- if you want to create a clone, or a game otherwise similar to these, then Java will work fine.

Modding games is mostly a separate discipline from game programming (unless you are targeting a game that is designed to be modded via scripting and such). When you get into hacking (basically modding games that weren't designed to be modded), things tend to become even more separated.

2 - Actually, programming in Java will teach you a lot of things that will "carry over" to other languages. Programming languages are self-contained, yet programming concepts are, for the most part, highly universal. Once you learn Java well, it may surprise you just how applicable most concepts are to other languages -- the semantics and approach may differ, but for the most part, things work pretty much the same under the hood.

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Tue Feb 28, 2012 2:05 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Also, Nathan -- you may find some interesting insights within this thread: viewtopic.php?f=1&t=11324

Different language, similar situation. :)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Tue Feb 28, 2012 4:45 am 
aha, thank-you rotInMilc, that forum topic you linked was rather useful but it also made me think about some more things:P so i have 2 more questions, sorry:P

1: - How do I know whether I've learnt a Language? Is it like speech, I know most words but I'll also learn more as well as some words will change over time (does that make sense?)

2: - Whats a GraphicAPI and how does it affect your code?

Thanks for the reply btw. :)


Top
  
 
PostPosted: Tue Feb 28, 2012 5:34 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Nathan wrote:
so i have 2 more questions, sorry:P

No need to apologize -- I've been programming off and on for the past 12 years or so, and there are still times I drive everyone else crazy with my nagging pleas for assistance. ;) :lol

Nathan wrote:
1: - How do I know whether I've learnt a Language? Is it like speech, I know most words but I'll also learn more as well as some words will change over time (does that make sense?)

Yes, a programming language is, in many senses, similar to spoken language. You will start off by learning a few words, then you will learn other words, then how those words work together in different situations... until, eventually, you go from "pidgin coder" to "fluent coder." :)

One major difference is that there are a lot of shared words common to most or all programming languages (such as 'if', 'switch', and 'while').

As to whether words change -- while words themselves typically do not change, there are times when new words are added, and times where old words are no longer used (this is called "deprecation" in programmer-speak). But, as far as words changing meaning, that is a rather rare occurrence.

Nathan wrote:
2: - Whats a GraphicAPI and how does it affect your code?

An API (the abbreviation for "Application Programming Interface") is a set of functions and such that allow a programmer to take advantage of a system someone else has implemented. For example, the Windows API is an interface that allows programmers to construct applications specifically geared to Windows, giving coders access to functions like drawing a window, navigating folder structures, interacting with peripheral devices, and so on.

So, a graphics API is similar, but is targeted to graphics programming. There are many, many graphics APIs. The two most common (and the two which most other graphics APIs rely upon) are DirectX, and OpenGL. Both APIs give you a set of functions that allow you to take advantage of hardware acceleration. They are used in simple, 2D games; large-scale, real-time 3D simulations -- and of course, everything in-between.

Java has its own basic graphics API (which was called Java 2D, though it's been a while since I've worked with Java). That will be *much* easier to use than a "naked" DirectX or OpenGL API. There are also a few 3D APIs for Java, most of which use OpenGL (though unless things have changed, Java3D gives you a choice between DirectX or OpenGL).

In any case, don't worry too much about graphics APIs yet. You'll want to get a good handle on how other things work first (such as functions). Many of us spend our first several weeks programming mostly console applications, and move up to graphical goodies once we have a basic grip on the "simple" stuff. :)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Tue Feb 28, 2012 7:25 am 
Thank-you so much!:) you've helped me quite abit!:D You're a great person, hope life treats you well throughout the years.


Top
  
 
PostPosted: Tue Feb 28, 2012 10:51 am 
Funky Monkey

Joined: Thu Sep 09, 2004 1:17 pm
Posts: 1538
Location: burrowed
Nathan wrote:
Thank-you so much!:) you've helped me quite abit!:D You're a great person, hope life treats you well throughout the years.


Quite the fellow ;)

Welcome a-board Nathan.

Looks like the milkbox already attended most of your concerns.

Quote:
I've just recently got into Programming and hope to make 2D platformers within about a 3-4 years of learning Java


Well, this is unusual. Usually people go like "I have this awesome RPG MMO FPS RTS idea, how can i do it?". 3-4 years is a bit of an overestimation. A couple of days/weeks to get to know the basics should be good enough before you can start your first attempts and graphics drawing and eventually building it into a game.
Especially if you target 2d platformers or top-down rpg-likes, similar from the NES/SNES era. These are (after Tetris and Asteroids and a few other really simple things) the easiest genre's to program. They have their tricky parts too, but generally it's a lot of fun :)

Well, if you have any further questions, feel free to ask.

_________________
Long pork is people!

wzl's burrow


Top
 Profile  
 
PostPosted: Tue Feb 28, 2012 5:15 pm 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Nathan wrote:
Thank-you so much!:) you've helped me quite abit!:D You're a great person, hope life treats you well throughout the years.

Haha, I can be nice -- but I also have a rather prominent dark-side. Just ask anyone who's seen it (which would include pretty much everyone who knows me). :lol

weezl wrote:
Quote:
I've just recently got into Programming and hope to make 2D platformers within about a 3-4 years of learning Java


Well, this is unusual. Usually people go like "I have this awesome RPG MMO FPS RTS idea, how can i do it?". 3-4 years is a bit of an overestimation. A couple of days/weeks to get to know the basics should be good enough before you can start your first attempts and graphics drawing and eventually building it into a game.
Especially if you target 2d platformers or top-down rpg-likes, similar from the NES/SNES era. These are (after Tetris and Asteroids and a few other really simple things) the easiest genre's to program. They have their tricky parts too, but generally it's a lot of fun :)

A complete, modest-scale game of any sort will probably come after the first year. Most people seem to think they can start on a large-scale project having no prior experience, and have it completed and making them money within a few months.

Of course, with more modest, realistic goals (such as Nathan suggests), I would say in a year or two he could make something significant (that of course depends on how "deeply embedded" he gets into his studies). I'm sure he could make a few very simple games with small scale (Tetris, Pong, yadda yadda) within a few weeks/months.

So it really depends on the scale of his project, and the amount of time he spends on it, that dictate how long it may take.

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Wed Feb 29, 2012 3:21 am 
I picked 3-4 years because that's when I want to start doing a good amount of programming, try to get involved with other people, start projects. 4 years just gives me enough time to learn more than one language hopefully:P

Also, yet another question:P Ermm, is there any good sources for learning Java? Videos, Websites, specific books?

I already know of thenewboston on youtube and have the "Learning Java for dummies" book which isnt very good and following new boston i learnt more within 50 minutes then i did reading 76 pages.


Top
  
 
PostPosted: Wed Feb 29, 2012 3:55 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Nathan wrote:
Also, yet another question:P Ermm, is there any good sources for learning Java? Videos, Websites, specific books?

I already know of thenewboston on youtube and have the "Learning Java for dummies" book which isnt very good and following new boston i learnt more within 50 minutes then i did reading 76 pages.

Hm. I don't know any books off-hand (there is a really good book -- Cadenhead and Lemay's "SAMS Teach Yourself Java in 21 Days: Professional Reference Edition" Third Edition -- but is geared to an outdated version of Java (Java 2 to be specific), and I don't know if the later editions are on par with the third edition).

If you haven't already, go to Amazon.com and do a book search for Java programming. Amazon has -- for the most part -- been the way I decide which books I buy. Be sure to read the reviews for any books that may pique your interest -- although their rating system is fairly good, there are many times where books receive "junk" reviews (such as someone rating the book 5 stars because it was shipped to them on time), and reviews that may not otherwise suit what you find valuable in a book. I find the best approach is to use the star-rating (as well as price -- some of these books get very expensive) to tell at a glance what may be worth looking into; and then use those results to determine the books for which you will bother reading reviews.

But I don't have much in the way of personal, specific recommendations, I'm afraid.

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Wed Feb 29, 2012 5:38 am 
rotInMilc wrote:

If you haven't already, go to Amazon.com and do a book search for Java programming. Amazon has -- for the most part -- been the way I decide which books I buy. Be sure to read the reviews for any books that may pique your interest -- although their rating system is fairly good, there are many times where books receive "junk" reviews (such as someone rating the book 5 stars because it was shipped to them on time), and reviews that may not otherwise suit what you find valuable in a book. I find the best approach is to use the star-rating (as well as price -- some of these books get very expensive) to tell at a glance what may be worth looking into; and then use those results to determine the books for which you will bother reading reviews.

But I don't have much in the way of personal, specific recommendations, I'm afraid.


I shall keep this under consideration, thanks! you've helped me quite abit, its great that you'd go out of you're time to help somebody else. You deserve a medal!


Top
  
 
PostPosted: Wed Feb 29, 2012 6:28 am 
Actually, I've asked quite a few questions so here goes another one!:P

I'm guessing a few of you know more than one language right? So do you ever mix codes from other languages when your writing?


Top
  
 
PostPosted: Wed Feb 29, 2012 6:56 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Nathan wrote:
I'm guessing a few of you know more than one language right? So do you ever mix codes from other languages when your writing?

Generally speaking, programmers do tend to have knowledge of multiple languages. (I have a veritable laundry list of languages I've used in the past.)

I could interpret your question about "mixing" code in a few different ways. That said, I will tell you that many language are compatible with one another. For example, if you have a language like C (or C++), you can write interpreters and compilers for any language (even one of your own design); or, you can get libraries that allow your application to use different languages for different things (for example, most games that are mod-friendly have their core architecture written in C++, but allow users to write scripts in a more user-friendly language -- like Lua, or Python -- for things such as AI scripting and the like).

There are also other methods -- for example, certain compilers allow you to write "inline assembly" in your code. In other words, you could write your code in <insert language here>, and then, with a compiler flag or a special function, write more code in assembly. And, then switch back to <insert language here> again. (I doubt you will find this necessary anytime soon -- this was common practice in the days where a lot of code was simply too sluggish at run-time when written in a compiled language, and so was written in machine language for optimal performance.)

Of course, if you are asking whether it is common for a programmer, who knows multiple languages, to inadvertently program things that work in one language, but not with the one in which he is currently writing -- then yes, it does happen. The more often you switch between languages, the more it will happen. It's not necessarily a major problem, though it can certainly get annoying at times. :)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Wed Feb 29, 2012 7:06 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Also:

Guest wrote:
you've helped me quite abit, its great that you'd go out of you're time to help somebody else. You deserve a medal!

If you really want to give me a medal -- when you are able to help somebody else, do it. That's the only reward I really care about.

I know that may sound corny... but I really am one of those "pay it forward" people. :)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
PostPosted: Wed Feb 29, 2012 5:12 pm 
Super-dooper pooper scooper
User avatar

Joined: Tue Oct 11, 2011 8:08 pm
Posts: 170
rotInMilc wrote:
Also:

Guest wrote:
you've helped me quite abit, its great that you'd go out of you're time to help somebody else. You deserve a medal!

If you really want to give me a medal -- when you are able to help somebody else, do it. That's the only reward I really care about.

I know that may sound corny... but I really am one of those "pay it forward" people. :)


Image


Top
 Profile  
 
PostPosted: Wed Feb 29, 2012 7:09 pm 
Bytewise

Joined: Sun Oct 16, 2011 3:09 pm
Posts: 276
Location: Here (where else?)
Hi Nathan,

Nathan wrote:
Actually, I've asked quite a few questions so here goes another one!:P
No need to count questions, we are happy to get you hooked on programming :D

Quote:
I'm guessing a few of you know more than one language right? So do you ever mix codes from other languages when your writing?
Some people do, other people don't. It just depends on what you like to do. If you want to explore programming in the broad sense, knowing several languages is very useful. If you prefer to write one type of applications, there is less need to know other languages if your current language suffices.

Personally, I think knowing several languages makes you a better programmer, as you get better equipped to understand both the strong and the weak points of languages. (If you only have a hammer, the whole world looks like a nail. If you have more tools, you get to understand when a different tool may be more useful.)

As for mixing languages, yes I use several languages in a single project normally. C/C++ when I want speed, Python when I want simplicity and fast programming. I also use many programs that come with a Linux system, as well as the more generic stuff, like issue trackers, and version control systems.

_________________
My project: Messing about in FreeRCT, dev blog, and IRC #freerct at oftc.net


Top
 Profile  
 
PostPosted: Wed Feb 29, 2012 10:47 pm 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3805
Location: Ferriday, LA, US
Alberth wrote:
Personally, I think knowing several languages makes you a better programmer, as you get better equipped to understand both the strong and the weak points of languages.

It also makes you more of an "asset to the workplace" as it were. Different companies all seem to have their own "pet" technologies (and some companies mix-and-match those technologies), so the more languages you learn, the more doors open up as far as jobs. (Not necessarily jobs at I.T. companies -- many industries are coming to realize over time that it can be very beneficial to them to have an in-house software developer.)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group