I need a jumpstart

Started by
7 comments, last by 3Ddreamer 11 years, 8 months ago
Hello guys,

I'm in need of guidance and a jumpstart. I'm a computer engineering junior and I'm one of the top students in my class. But we all know that things we learn in college is too basic and nearly never help us with the practice.

I have a decent amount of knowledge in how programming languages work and am familiar with a variety of programming and scripting languages. (basically anything you would expect from a junior in college to know and a bit more)

I have a few simple questions.

1) How can I get started? Besides learning the programming and scripting languages required, should I go on with Unity3D or cocos2d or programs like that?

2) Is learning OpenGL or DirectX necessary? If so, doesn't graphics programming require a bit of artistic ability? I'm a bit confused here.

Thank you all in advance.
Advertisement
Well, I'm no expert but I'll try to help . As far as I know , math and physics will help you a great deal . Also , you can use engines like Ogre3D in the beginning so you won't have to do everything in OpenGL by yourself . And if you like C++ take a look at SFML (2D Library) , or with C# at XNA ( though I heard it won't be supported by Windows 8 "Shop") .

So I think you can start with making basic games and steadily move into bigger and more complex games while you read some math books or things like that which should help later :)

If I made any mistakes please correct me :)

Hello guys,

I'm in need of guidance and a jumpstart. I'm a computer engineering junior and I'm one of the top students in my class. But we all know that things we learn in college is too basic and nearly never help us with the practice.

I have a decent amount of knowledge in how programming languages work and am familiar with a variety of programming and scripting languages. (basically anything you would expect from a junior in college to know and a bit more)

I have a few simple questions.

1) How can I get started? Besides learning the programming and scripting languages required, should I go on with Unity3D or cocos2d or programs like that?

2) Is learning OpenGL or DirectX necessary? If so, doesn't graphics programming require a bit of artistic ability? I'm a bit confused here.

Thank you all in advance.

I would prefer learning DirectX or OpenGL, and start making simple programs, like rendering a cube, a sphere, and so on. In effect, building a very simple game engine. That way you learn extremely much.

There are great resources for learning. For example Rastertek has a lot at least for DirectX. Just google it =)
I think that your two questions have a similar answer: it depends on what you want to do. I think that using an existing engine such as Unity is a good way to start, because it will teach you the architecture of modern game engines and you'll be able to have great results pretty quickly. You'll learn how things work in a game. That is a great thing, especially if you would like to become a gameplay/AI programmer. These programmers rarely touch low level stuff, so everything you learn will be valuable in almost any engine. You'll have to deal with linear algebra, some graphics concepts and AI.

If you want to become a game engine programmer, I would still suggest to use a complete engine like Unity first, to at least know how things are done. Then, you can use intermediate libraries like SDL or XNA to create your own engine.

Learning OpenGL or DirectX is not necessary. I'm a professional generalist programmer in the industry since 2003 and I almost never had to touch the low level graphics libraries. It a good thing to know how they work though, but you don't necessarily have to be a power user, unless you want to become a 3D/graphics programmer.

Like I said, I'm a generalist programmer. Before working in the industry, I never made a complete game. I made a huge amount of small programs using a lot of different libraries (graphics, sound, input, physics, etc.). I even tried to make my own game engine and physics engine. I learned a lot of stuff doing that. So, I would say that the paths to work in the game industry are multiples and they depend on your interests and goals. If you really like graphics, you can specialize yourself in that area and just do that, you may have the chance to become a 3D programmer later. But as a tip, at least were I work, the majority of job openings are as gameplay programmers, so you are probably better to just start using a game engine first.

I hope this helps!
1) Make a pong clone, its up to you if you want to use a proper engine or just a basic library for graphics.

2) It is only necessary if you want to do 3D graphics without a pre-built engine or higher level framework. Graphics programming doesn't require much or any artistic ability. (It does require quite alot of math though)
[size="1"]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!
Thank you a lot for all your replies. These helped me a lot to have an idea on what to do. I think I'm gonna start with Unity and follow some tutorials on it.
Good luck halieohalilei! "Faelenor" dose have some really good advice in general. Starting from the age of 14, Halo on the Pc was my way of getting into "making" video games, I stopped around the age of 17 but at the time I was throwing in my own models, textures, and animations. And, troubleshooting my way into Halo 1 into "almost" a completely different game. That part of my life eventually phased away as I felt my ability with 3d art was better than halo 1 but didn't feel like relearning all the headach of getting into anything else. I knew a little C++ at the time and could compile the little "halo code" into custom single player maps. I still wasn't happy with the stuff I made, I felt like what bungie did 10 years ago was doing most of the work. And, I definitely didn't feel like I owned anything I made. For all that time I completely dropped the idea of the childhood dream of making that perfect game. The heavy drinking and high school parties didn't help much too. tongue.png

Starting just about 10 days ago after getting prescribed amphetamines for adult adhd, I put down my guitar and racing thoughts I used to have for just about everything else in the world and downloaded Visual studio C++. I messed around with openGl for a few hours until I realized I had no %!**# clue what I was doing. I spent the rest of that day learning all the syntac of C++ along with some other things. But, luckly I quickly found the book:

"Programming Windows®, Fifth Edition (Microsoft Programming Series)"

Yeah, so I mean Programming Windows isn't programming games, but I've learned a lot of it and added in a few touches with DirectX (or honestly tried DirectX and didn't get very far) But, I still learned something about DirectX each time I made that foolish leap forward and acomplished one small silly thing. Even though I knew I wasn't quite ready to enter the world of DirectX. So yeah, I guess we all have our story and can try and tell you what to do.

If you want a Jump start, you should take the time to honestly consider what is right for you. Although this is my first post on this wonderful website; I've been using that search bar too read on what other people have to say regarding game development. Take all the time you need to take all that information in and take that jump start towards where you want to go.

Personally, I just started programming a little while ago. I decided that I like C++, and want to start off making applications for windows and then eventually take advantage of directX for it's features when I am ready. But this is just me... and you are you, or whoever else is reading this is that person ;). I'm a self tought programmer who started to practice software development for windows the hard way because I think I have a chance to make a living negotiation my projects with distributors and/or selling applications/games/userfriendly_game)_engines myself. And, then after knowing enough directx, might wonder off into some other API or whatever because I'm crazy, and I enjoy knowing that when the time comes I feel like I've made something worth selling. Or until the time comes I run out of adderall and fall pray to amphetamine psychosis. xD jkjkjk!!!

What I'm into might not be what you're into. Take some time and ask yourself what, and how! (What do I want to accomplish? How am I going to prepare for that?)
And be prepared to spend free time hitting a bunch of brick walls while trying to accomplish the a simple task. If you're trying to get hired, give them a reason to hire you. If you're trying to sell, give them a reason to buy. smile.png

But with all of that touching heartwarming pep talk done and over with.....

My advice, is to get started with actual programming by messing around with the Win32 Api by using the book I mentioned because programming with the win32 Api in c++ gave me a better understanding of video game development in every aspect. I feel like a better 3dArtist and game designer after realizing just how much work it takes just to start learning DirectX. Every single DirectX book I've tried to study from are horrible! sleep.png Yet! You will learn sooooo much farting around trying to get something you don't understand to work. It all starts to become failure eventually!

I never been in the game industry, so I can only think about who I would hire. And so, I'd definitely choose to hire an A.I./Game-play programmer who knew a lot about stuff like behavioral health, emotions, ectt... rather than his/her skills in being able to write a very simple form of code that any other programmer on staff would be able to assist with. Although knowing almost nothing about what working at a game studio is like; the point of bringing that up is that i think everybody interested in getting into a company to work on video games shouldn't just consider what they can do with video games but what a video company can do with you. tongue.png

I can't really remember much of anything I said. But, I hope in some way by reading this I helped somehow. This is my first post here on gamedev.net and I feel like I'll enjoy it here. I'm not much of an social networking kind of guy but after searching this site to find questions. I realized this place has a nice community of developers all alike. - For anyone who actually took the time to read this entire lecture from a speedhead who's been programming for a few days.. thank you. I'm touched... down there.. So I say this for everybody; As the windows procedure function would say. msg me! (Sorry, very first post on the internet in a billion years.)
Hi,

Wow! ...lots of good stuff to read here.cool.png

As far as factual broad based issues such as languages, any place you start is fine.

Systems issues and the kind of game you want, however, are closely tied.

I recommend that a person start with discovery of what type of game is most liked.

An example: A person who wants to make a 2D game for mobiles would focus on the game and the platform then research what it requires and learn it.

A computer game in 3D would also need you to choose what you want, select a platform, and research what it takes and do it.

Everything you learn in the early stages will help you later but some things much more than other things. A few things are of little benefit to you if they are never needed again. Life is too short to spend a couple years learning things that you will never need again so get a system which will be in the same general category of the game which you want to make.l

Unity3D or cocos2d which you mentioned have very different learning curves, not to mention 3D and 2D technical differences.

Once you settle on a game type and platform, then your options will become much clearer and so will your learning path. So go try those game engines and maybe a few more. Keep playing games and trying game engines until you have that " Ah-hah!, Ureeka!, or Yahoo! " moment and then begin asking the community there how to build on the game engine even as you continue to ask this community here how to further your career and fill any technical gaps which you are sure to find.

I feel strongly that it is that simple at an early stage of learning game development. Discover what game you would enjoy the most, choose a platform, select a game engine, and narrow the search from there. Your current language experiance is more than enough to get started.

3Ddreamer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer


1) Make a pong clone, its up to you if you want to use a proper engine or just a basic library for graphics.

2) It is only necessary if you want to do 3D graphics without a pre-built engine or higher level framework. Graphics programming doesn't require much or any artistic ability. (It does require quite alot of math though)


Hi, SimonForsman

On a stand alone basis, I agree with what you wrote.

I would like to add that if a person wants his game to be popular then it must either have gameplay appeal, wonderful art, or both.


halileohalilei, since you are talented technically, then creating a little system for yourself for game development is the key. The art is a whole potential field in itself.

However, it is possible to create fantastic game art with absolutely no programming. This is done with programs which are tools and a few technical utilities if any at all. When it comes to the art aspect of the game, you can make it as simple or complex as you want: No programming using art tools or intensive programming with no premade tools and anything in the middle which you find for yourself.

Games can fall into one of three categories:

1) Gameplay focused - can use pre-existing programs, programming, or both (Since you know languages, probably both in your case)

2) Art featured - can use pre-existing programs, programming, or both (Artistic ability allows the person to depend on pre-existing art tools. You might have a talent for art and yet to discover it.)

3) Both gameplay and art featured (Generally the more work to be done then the more need for delegating something to others unless you have time and talent to do it all)

I have a feeling that knowing this will influence your choice of games that you make in combination with your actual abilities.

Lastly I have to say that artistic ability depends on the artist making effect use of the art tools to express what is in the soul. Programming can potentially be a tool of the art like any tool. There are a few games which look fabulous from an artistic viewpoint and are 100% programming. Some games are 100% created by an artist who does no programming but uses existing programs to pull it all together. Many games fall in the middle of these two extremes.


3Ddreamer
2D and 3D Artist, hobby game developer

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

This topic is closed to new replies.

Advertisement