Two Plus Two Publishing LLC Two Plus Two Publishing LLC
 

Go Back   Two Plus Two Poker Forums > Other Topics > Programming

Notices

Programming Discussions about computer programming

Reply
 
Thread Tools Display Modes
Old 07-06-2012, 06:21 AM   #1
grinder
 
Join Date: Mar 2011
Posts: 589
Am I Smart Enough To Become A Programmer?

title pretty much speaks for itself. Looking to change careers and what I do most in my spare time is mess around with various game design programs trying to design RPGs. I'm always left thinking it would be so much easier if I could program the game myself instead of having to use an editor with so many limitations. And I like the idea of having a career where I can create things.

Now I know this topic may seem like a weird question, but I've never been a math guy. Majored in English and Philosophy and I excel in critical/abstract/creative thinking. When I took the SATs I got like 740 verbal / 640 math. I was always in the highest academic track due to my excellence in Eng/History and my ability to do well on standardized tests but from like junior year in high school onward I always sort of struggled with math/science/econ/statistics courses. I don't think I'm below average or anything, but I question whether I'm cut out for programming because I presume you need a relatively high level of intelligence with regard to a certain type of mathematical/logical thinking.

So, obviously I don't want to invest the time/money into getting a degree in comp sci if I'll ultimately just fail or be at best a mediocre programmer. Hoping you guys could give me some advice. Right now I'm thinking I should just take an intro course or two and see how it goes, but I'm concerned that because they're just intro courses I'll do well and it'll put me on this path that will ultimately end up in the territory described above.

FWIW my parents think "I'm incredibly bright and could do anything I put my mind to" but I think that's a load and that they see me through rose-colored glasses. I know there's a possibility that I'm just scared to go for something especially something so outside of my knowledge and familiarity (I've always been non-committal) but yeah. Any advice much appreciated.
FishAndChipss is offline   Reply With Quote
Old 07-06-2012, 07:09 AM   #2
Carpal \'Tunnel
 
clowntable's Avatar
 
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 39,730
Re: Am I Smart Enough To Become A Programmer?

Quote:
Now I know this topic may seem like a weird question, but I've never been a math guy. Majored in English and Philosophy and I excel in critical/abstract/creative thinking.
Excellent preconditions. Math is fairly overrated even in professional programming. Good communication and language skills are way more important imo and you got those covered.
As a professional programmer you'll be more of a jack of all trades, teamplayer and time manager. Creative and abstract thinking is pretty good. You won't really see hardcore math stuff in the field and usually there's libraries that handle all this.

My suggestion would be don't invest in a CS degree but invest your time in a serious project. You like RPGs, toss the editors and build one from scratch.

Learn Python, look at pygame and enjoy

I dunno what kind of RPGs you like but something like an oldschool Zelda clone is a good project. There are a bunch of sites where you can get the graphics (sprites) or similar ones that are made available for free.

Basically my suggestion is this. Invest time and do the following
1) Learn Python (some good online tutorials, a udacity? course)...skip stuff that seems confusing at first, the goal is to get a couple of running programs that do simple things
2) Grab a bunch of paper and outline a small RPG you'd like to build. Keep it very simple...even as simple as
- you wake up locked in a room, need to open a chest which contains a key and sword
- go out fight some guard and if you win another door opens...you get out of the cell and game over
3) Learn PyGame...this will be quite confusing and you'll have a bunch of questions
4) FINISH THE GAME
4 b) DO NOT ADD FEATURES, FINISH THE GAME

Ignore everything else you stumble upon (TDD and so forth) the goal is to get something done. You want to feel the joy of having created something even if it is an ugly looking, pixly game that noone but you will play.

Don't worry about writing crappy code, picking up bad habits or "how could I do this in a more clever way". The ugliest code and a finished project is worth way more than clever and fine craftsmaship that is not finished. You need to master the art of getting things done first.

Last edited by clowntable; 07-06-2012 at 07:17 AM.
clowntable is offline   Reply With Quote
Old 07-06-2012, 11:11 AM   #3
centurion
 
Join Date: May 2012
Posts: 140
Re: Am I Smart Enough To Become A Programmer?

Deep math is a part of computer science but in general being able to think logically and understanding at least basic math is all that is needed.
I would recommend trying to build a game using XNA/C#. XNA basically abstract DirectX and allows you to do a lot of fun things without having to hand code collision and graphic classes.

http://www.youtube.com/watch?v=61L-t8_NwfI

Here the game 3 classmates and I (all noobs) made over a 18 month period.
HypersionSD is offline   Reply With Quote
Old 07-06-2012, 12:10 PM   #4
Pooh-Bah
 
YouR_DooM's Avatar
 
Join Date: Jul 2009
Location: facepalming my way into history
Posts: 5,929
Re: Am I Smart Enough To Become A Programmer?

I was just about to suggest C# with XNA too. I found it perfect to start out.

As for the math part, imho you need to understand basic stuff, like vectors or a matrix, especially in XNA. No need for over-complex stuff tho.

Quote:
Originally Posted by HypersionSD View Post
http://www.youtube.com/watch?v=61L-t8_NwfI

Here the game 3 classmates and I (all noobs) made over a 18 month period.
No offense, but you should be able to do better than that in 18 months. 18 months is a ton of time, unless you only dedicated little attention to C#. Especially the tree artifacts would drive me crazy.

Last edited by YouR_DooM; 07-06-2012 at 12:16 PM.
YouR_DooM is offline   Reply With Quote
Old 07-06-2012, 12:47 PM   #5
grinder
 
Join Date: Mar 2011
Posts: 589
Re: Am I Smart Enough To Become A Programmer?

thanks so much for the feedback guys.

so basically you think there's just some basic math stuff I have to learn, and while it may be more difficult for me than people naturally gifted at math, I can still do it? But the actual programming itself doesn't require a hugely math-oriented mind if I'm good at logic in other areas (e.g. philosophy?)

and the recommendation before taking any courses is to just try and learn the basics myself and complete a basic game? (in either python or C#)

if i devote say, an hour a day during the week, and then say another 5 hours on the weekends (so 10 hours a week total), what is a reasonable timeframe from which I could expect to complete such a project? I only ask because I'm 28 (which i know lots of people say you're still young blah blah) and I feel a huge pressure to go to school get a degree and get started as soon as possible, for fear of being in an entry-level type job still when i'm in my mid 30's.
FishAndChipss is offline   Reply With Quote
Old 07-06-2012, 01:14 PM   #6
Pooh-Bah
 
YouR_DooM's Avatar
 
Join Date: Jul 2009
Location: facepalming my way into history
Posts: 5,929
Re: Am I Smart Enough To Become A Programmer?

In a project, especially a game, there are three major time sinks you have to consider: planning, code and graphics. Before you can code anything, you have to understand what you want to do. Graphics can also eat up more time than you can imagine, so completing a game also depends on that.

Obviously if the game is meant as a learning project only, you can just steal stuff left and right ( for graphics, not code )

As for the time frame, it depends on the speed at which you acquire the basics. I would guess 20 hours of learning should could get to to a state in which you have moving sprites on the screen and you actually know how to manipulate them. Obviously you will have no game in that time frame. If you just copy code without understanding , you can have moving sprites in probably an hour.

Another important factor is how quick you get new ideas. I find that programming has alot to do with inspiration. When I first tried making a minecraft clone ( starting in 2D ) I had the problem of making an infinite and drawable world and not crashing everything while loading/making it. I was ( maybe lucky ) enough to just think about using a 2D array to store parts of the world ( 100x100 units - then load only the visible parts ) almost immediately . Mind you I knew pretty much nothing and this is probably basic stuff for experts, but I could have well lost another 10+ hours on that problem.

I'm just throwing an estimate here, but I'd guess making a zelda clone from total scratch ( including not knowing how to code ), using pre-made graphics and using only one big level to start ( level design can take waaaaaaaaaay long ), you could probably have in, meh, 80 hours if you are quick to learn stuff.

Making you own that doesn't totally look like ****, and plays like a game? Yeah, that's gonna take over a year.

Please note that everyone learns at different speeds and my numbers are just estimates. You can be way quicker and way slower. Also, I'm just an amateur programmer, not a professional, so I ahve no experience in actually getting a job in that field.

Edit: Also another major time sink not to forget is debugging. You gonna have bugs everywhere, and you will not know why. Solving them will make you learn stuff quicker, but sometimes that takes ages.

Last edited by YouR_DooM; 07-06-2012 at 01:22 PM.
YouR_DooM is offline   Reply With Quote
Old 07-06-2012, 07:46 PM   #7
veteran
 
MikeyObviously's Avatar
 
Join Date: Jan 2004
Location: hella swagged out
Posts: 3,160
Re: Am I Smart Enough To Become A Programmer?

I would suggest buying a basic programming book to understand things like variables, operators, arrays, conditionals, etc.

Then try to build something you actually want. A desktop application to automate a task you do frequently, a smartphone app to do something funny/useful, or a website for you or a friend.

If you can succeed in this, you are smart enough to be a programmer and can feel good about attending school.

edit: I'd advise against doing a game. The exception might be a board game clone that isn't graphically intensive. Like code connect-4 or a risk variant or something.
MikeyObviously is offline   Reply With Quote
Old 07-06-2012, 10:32 PM   #8
grinder
 
Join Date: Aug 2004
Posts: 401
Re: Am I Smart Enough To Become A Programmer?

As someone with an even stronger math leaning than your verbal leaning, I think math is overrated. I'd rather have a more balanced mental profile.
jtollison78 is offline   Reply With Quote
Old 07-07-2012, 08:49 AM   #9
grinder
 
Join Date: Mar 2011
Posts: 589
Re: Am I Smart Enough To Become A Programmer?

some great suggestions in here, thank you so much everyone - i really appreciate the feedback.
FishAndChipss is offline   Reply With Quote
Old 07-09-2012, 07:01 PM   #10
journeyman
 
JEP714's Avatar
 
Join Date: Feb 2011
Location: Georgia
Posts: 272
I don't really have anything to add but I wanted to say that I am in the same boat as you OP. I am considering going back to school for programming. I was not great at math at all, barely skimmed by. But in classes like English I always made the best grades and was always in advanced/AP English.

I have handsome of the same
JEP714 is online now   Reply With Quote
Old 07-10-2012, 02:39 AM   #11
Pooh-Bah
 
maxtower's Avatar
 
Join Date: Sep 2005
Posts: 5,329
Re: Am I Smart Enough To Become A Programmer?

How did you do in your Philosophy logic classes?
maxtower is offline   Reply With Quote
Old 07-10-2012, 04:51 AM   #12
Carpal \'Tunnel
 
clowntable's Avatar
 
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 39,730
Re: Am I Smart Enough To Become A Programmer?

And if you did well in them...gogogo find some AI courses based on Prolog. Guess the US is way more Lispy in AI than Europe though.
clowntable is offline   Reply With Quote
Old 07-10-2012, 11:05 AM   #13
veteran
 
Join Date: Sep 2004
Posts: 2,814
Re: Am I Smart Enough To Become A Programmer?

Game programming might involve a bit of scary math but I wouldn't let that hold you back because there's a lot of areas you could be working on in a game where you might not need the math related skills.

I think one of the most useful things you need to be able to do as a programmer is be able see the big picture on a project idea and then be able to break it up into smaller problems and then finally solve them all together in a way that creates the project in its original idea.

There's a lot more creative thinking in programming than you may think. It's not all math and logic but logic is really important and if you want to read up on anything math related I would start with logic.
Shoe Lace is offline   Reply With Quote
Old 07-10-2012, 05:38 PM   #14
grinder
 
sng_jason's Avatar
 
Join Date: Jul 2011
Posts: 426
Re: Am I Smart Enough To Become A Programmer?

The amount of math required for programming a game is pretty much dependent on what kind of game we're talking about.

If you're making a game like an old 8-bit Super Mario Bros or a tile based RPG like Zelda, all the math you're ever going to need is some basic arithmetic.

If you've got a 2d action game with some projectiles or whatnot, you'll need to know some trigonometry.

Once you start adding 3D graphics or gameplay, the math requirements do go up considerably... now you need to be comfortable with 3d/4d linear algebra. Add physics/dynamics simulation or certain fancy rendering techniques on top of that and now you're doing calculus.
sng_jason is offline   Reply With Quote
Old 07-10-2012, 06:18 PM   #15
grinder
 
Join Date: Mar 2011
Posts: 589
Re: Am I Smart Enough To Become A Programmer?

I took two logic courses, one of them I absolutely crushed (the one that was about fallacies and stuff) and then the other that was very math-based, i started out ok, kind of struggled near the end, i definitely wasn't putting a lot of effort into the course, but it wasn't coming naturally to me either.

Well, I know that if I want to work on games I can do things that aren't math-intensive (or even math-related) but I know that I won't necessarily get my dream job of being some creative game developer and i may not even get to work on games at all - so if i'm writing code for some generic software or whatever, will that require math? but i think more importantly, can someone not be great at math but still be great at programming (just through logic and creativity etc.? I'm terrible at geometry/visualization and because of that probably terrible at physics and stuff as well)
FishAndChipss is offline   Reply With Quote

Reply
      

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -4. The time now is 04:42 AM.


Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.
Copyright © 2008-2010, Two Plus Two Interactive