Omnimaga

General Discussion => Other Discussions => Miscellaneous => Topic started by: Scipi on August 09, 2011, 03:35:28 pm

Title: Too many things
Post by: Scipi on August 09, 2011, 03:35:28 pm
These are all the things I am currently doing over the Summer, thing is, I am overreaching myself so I am cutting down on things and focusing on others.

So what should I focus on learning/doing.

So some context:

I am starting college in Fall for Computer Information Systems and I am focusing on C++, C#, and Assembly.

I want to be a Game Developer/Designer/Programmer when I graduate

Also, this is important to me so please no bogus suggestions like "go outside" and the like. Thank you.
Title: Re: Too many things
Post by: calcdude84se on August 09, 2011, 03:47:55 pm
Have you chosen yet yourself? None of those options are bad (except perhaps for the ones involving playing video games :P); it'd be hard to make a wrong decision.
Title: Re: Too many things
Post by: Munchor on August 09, 2011, 03:49:13 pm
A pure game developer :) Builderboy wants to be like that too. I suggest you go ahead and learn LÔVE Engine, to learn more about game making.
Title: Re: Too many things
Post by: yunhua98 on August 09, 2011, 03:49:19 pm
its your choice what you do.  You should do what you think will be good for you.  That said, I voted Axe and Daemons.  ;)
Title: Re: Too many things
Post by: calcdude84se on August 09, 2011, 03:53:38 pm
I suggest you go ahead and learn LÔVE Engine, to learn more about game making.
There's also XNA, which is already on his list ;).
Edit: The LÔVE Engine is Lua, isn't it? If he wants to try that engine specifically, he'd also have to learn Lua, which is a bit of a drawback...
Title: Re: Too many things
Post by: Munchor on August 09, 2011, 03:55:18 pm
I suggest you go ahead and learn LÔVE Engine, to learn more about game making.
There's also XNA, which is already on his list ;).

Sorry if I'm a bit fanatic here, but I think LOVE is better because it's cross-platform. But XNA is also recommendable, I heard it's quite fast to make full games with it.
Title: Re: Too many things
Post by: Scipi on August 09, 2011, 03:59:11 pm
I am trying to make a choice but I am taking other opinions into account. I'm trying to figure out which of these options should I focus more on than the others and it's can be hard to make a final decision.

Quote
A pure game developer  Builderboy wants to be like that too. I suggest you go ahead and learn LÔVE Engine, to learn more about game making.

I'll look into that. I should've put Lua in the poll as well along with C#, Z80, and Java.
Title: Re: Too many things
Post by: willrandship on August 09, 2011, 03:59:15 pm
Or, just go straight for C/C++ with SDL or OpenGL. It's really the industry choice (C++, not SDL :P) since it's extremely cross-platform, as well as being far more powerful than other languages.
Title: Re: Too many things
Post by: Happybobjr on August 09, 2011, 04:01:33 pm
"What should I focus on for the remainder of the Summer and onward"
when does summer end for you.  School starts tomorrow for me.
Title: Re: Too many things
Post by: willrandship on August 09, 2011, 04:02:01 pm
Mine starts in a few weeks.
Title: Re: Too many things
Post by: Scipi on August 09, 2011, 04:03:13 pm
Or, just go straight for C/C++ with SDL or OpenGL. It's really the industry choice (C++, not SDL :P) since it's extremely cross-platform, as well as being far more powerful than other languages.

Yeah I forgot to mention 3DS Max/Blender and the like will lead to 3D Game programming using C++ and OpenGL (hopefully I found a ton of great books to help)

Summer ends in September. And college will be every other day for me plus HW/Job if I get one.
Title: Re: Too many things
Post by: AngelFish on August 09, 2011, 04:20:01 pm
All of the programming options sound pretty good, although I can't really imagine a whole lot of direct use for Assembly in the vast majority of games. However, games programming brings together a lot of separate programming disciplines, so I'd suggest taking a lot of time to read about algorithms to solve problems; Sorting algorithms, Linked lists, Complexity theory, the Marching Cubes algorithm, etc... Knowing how other people have solved these problems before is pretty important.
Title: Re: Too many things
Post by: fb39ca4 on August 09, 2011, 04:26:24 pm
Don't forget to focus on losing the game. >:D
All the programming options seem good, I really don't know which one to recommend to you.
Title: Re: Too many things
Post by: Eiyeron on August 09, 2011, 05:54:45 pm
I must finish the Lua's benchmarks on my fx98-60GII... TO get the same speed as AFX... It's a little stupid, but the creator wants this...
Title: Re: Too many things
Post by: Ashbad on August 09, 2011, 06:21:47 pm
Or, just go straight for C/C++ with SDL or OpenGL. It's really the industry choice (C++, not SDL :P) since it's extremely cross-platform, as well as being far more powerful than other languages.

OpenGL is a horrible way to handle graphics if you're not a seasoned programmer.  SDL is still low level, but at least it's much better with 2D (OpenGL works much better with 3D).  Though, many game developers won't ever even touch face with these, they use higher-level entry points to handle graphics, based on OpenGL and/or SDL.

C++ is used primary for it's speed.  Most games aren't cross platform for this reason, the code usually needs to be 50% rewritten anyways to fit other platforms due to different libraries supported and different graphics features.  And by powerful, it's very powerful *with low level stuff*, when it comes to OO programming, it's rather on the weaker side than most other OO languages, including Java.

Edit: in fact, besides maybe C#+XNA, C++ is pretty much the least portable.  If you want portable, use Python, Ruby, Java, etc.

All of the programming options sound pretty good, although I can't really imagine a whole lot of direct use for Assembly in the vast majority of games. However, games programming brings together a lot of separate programming disciplines, so I'd suggest taking a lot of time to read about algorithms to solve problems; Sorting algorithms, Linked lists, Complexity theory, the Marching Cubes algorithm, etc... Knowing how other people have solved these problems before is pretty important.

Seconded and forwarded to Richard Stallman, first class mail.  Before you start with game programming head-on, try working with the language of choice you'll be primarily developing in, and do your best to get used to it's features.  Also try to study different types of algorithms, tricks, etc. To get a better knowledge of how you can topple obstacles you find when developing the source for your game(s).

I suggest you go ahead and learn LÔVE Engine, to learn more about game making.
There's also XNA, which is already on his list ;).
Edit: The LÔVE Engine is Lua, isn't it? If he wants to try that engine specifically, he'd also have to learn Lua, which is a bit of a drawback...

MMAAJJOORR drawback.  Don't learn a new language just to use a certain utility based on it; and, LOVE really isn't that special; it really contains little more than other basic game libraries do (like PyGame).  XNA (if you're willing to program in C#) is very very good for game development (in fact, it's *the* primary library toolkit used in game development for the XB360 and first party Windows PC games these days).  If you use C/C++, Allegro is a very good option to go with (though I admit I have some bias towards it).  If you use Ruby, a mix of Gosu and RubyGame should be sufficient.  Python, PyGame I hear is decent.  x86 ASM, a gun loaded with mercury-filled cracked lead bullets to kill you so you'll think harder next time about not using it in game development ;) (some exceptions, I might say, though.  Though these exceptions are usually in cases of graphics, sound, and other types of low-to-high level interfacing libraries)

Might I also suggest that you also consider non-game programming development?  While it isn't as appealing at first to not make games, working with making GUI-based utilities, educational programs, and even cooler stuff like interpreters or compilers is really cool stuff once you start working with those types of things.  I especially find the development of interpreted/compilers fascinating, and that's what I've been researching on/ learning tricks about / making things for lately, and I find it utmostly fascinating.  Remember not to count this type of software development out as well ;)

Whatever you choose, good luck! :D
Title: Re: Too many things
Post by: AngelFish on August 09, 2011, 07:49:43 pm
Quote
86 ASM, a gun loaded with mercury-filled cracked lead bullets to kill you so you'll think harder next time about not using it in game development

If Programming languages were cars...:
     Real ASM would be a car powered by a large Jet engine where you control all of the engine components manually. If you mess up, the whole engine will explode, but if you do it properly, you have a good chance of breaking a land speed record. Either way, it's still illegal on most roads. It also happens to be the world's most fuel efficient car and can drive twice around the world before it runs out of fuel. When it breaks down, though, it takes a team of rocket scientists six months to figure out what went wrong.

     "ASM" is a hand-built Bugatti Veyron. While it's not as fast nor as fuel efficient as its cousin, Real ASM, it's still one of the fastest cars in the world and legal on most of the worlds roads. It's very difficult to drive properly though, and you have to go through special training before you're allowed to buy one.

     C is a high performance car built by a crack team of Ferrari engineers. It's not quite as fast as either of the ASM brothers, but it can rival "ASM" fairly well and will leave almost any other car in the dust. However, it was built without certain features such as air conditioning or radios in order to get good gas mileage and it breaks down every 50 miles for reasons no one can fathom.

     C++ is another high performance car built in the same factory where C was built. Instead of the simple C design, the designers decided to use the existing C engine and rebuild the entire car around it to be more comfortable to drive. The result has radio and air conditioning, but the controls are on the other side of the car where no one can reach them. Versions of the car were shipped to all existing C owners in the hopes that they would drive C++ instead. By some mysterious process no one quite understands, C++ manages to get better gas mileage than its predecessor C and only breaks down half as often.

     Java is a Tank painted Ferrari Red to look like a sports car. It's a lot easier to drive than C or C++ and it can cover any terrain imaginable, but you're likely to die of old age before you arrive anywhere if you take it on long trips. Occasionally, when traveling through forests, bogs, or random warzones, Java can even be faster than C++. However, it can only go about two miles before running out of fuel and less than ten people in the world know how to build another one if it happens to be hit by an anti-tank missile.

     Visual C/C++ is like C and C++, except that it can only drive on roads that are perfectly straight. If you attempt to turn, it will automatically crash into the nearest ditch.

     Visual C# is like Java, except it can only drive on the same roads as Visual C/C++. There's an international effort in the works to put a steering system on it so that it can turn without crashing, but it hasn't been perfectly successful.

     Python is like a Mitsubishi Evolution. It's a good beginner's car with exceptional handling and is fast enough for most normal driving. It manages to get decent mileage and doesn't break down too often. However, the only races it ever wins are those involving outrageous turns or unusual terrain.

     BASIC is like a Hummer H1. It's a big, lumbering giant with horrible gas mileage, but it's relatively easy to drive and no one will mind if you run over a few dozen Toyota Priuses or so. However, it's rumored that driving this vehicle will cause one to be unable to learn how to drive any other car.

     Prolog is a new type of car. You tell it where you want to go and it will drive you there itself. However, it tends to take very odd routes and can get very bad gas mileage if the location isn't properly described.

     Haskell is a car that serious car enthusiasts are hesitant to even consider a car. No one really understands how it works, but it does and it somehow gets reasonable gas mileage.
Title: Re: Too many things
Post by: Scipi on August 09, 2011, 08:30:21 pm
Thanks for the humorous analogies guys, they really made my day. :)
Title: Re: Too many things
Post by: Ashbad on August 09, 2011, 08:54:22 pm
Good analogy, but how is Haskell not even a "car"?  Many, many people understand it, it has similar speed with Java (just below C/C++), somewhat portable, and extremely powerful.  Many "serious" programmers are very willing to hop into that car.  Just because you don't find it useful (which is odd, considering you like math-related topics) doesn't mean it isn't really useful.  It's highly useful throughout the computer industry and is picking up more support as time wears on.
Title: Re: Too many things
Post by: AngelFish on August 09, 2011, 08:55:38 pm
I was trying to say Haskell isn't like any other "normal" language. I have nothing against Haskell and it's a great language for what it was designed for :P
Title: Re: Too many things
Post by: Ashbad on August 09, 2011, 08:57:15 pm
I was trying to say Haskell isn't like any other "normal" language. I have nothing against Haskell and it's a great language for what it was designed for :P

Well, the same applies to Prolog, except even more so.  It's more of a boat in many senses :P

And, it's very much like other languages, such as Lisp, Racket, Curry, ML, etc.
Title: Re: Too many things
Post by: SolusIpse on August 10, 2011, 08:17:43 am
Also, this is important to me so please no bogus suggestions like "go outside" and the like. Thank you.

If you've ever wanted to take a long trip somewhere (road trip to Canada?), the summer before college is usually the best time.  College can be very busy and you're probably going to want to get an internship or relevant job experience between academic years.
Title: Re: Too many things
Post by: Scipi on August 10, 2011, 09:56:21 pm
Yeah, if I ever need a vacation I'd probably go somewhere up north. I like the climate there better than here by far. I'd probably try to get an internship with RavenSoft in Wisconsin. (I have a contact into the company to boot) XD