Hi, there! I'm just starting to dip my toes into the idea of game development. I haven't a clue about programming, but I can draw, write, and do a couple voices here and there, plus I have a few game ideas and stories I'd like to make. I'd like to know what I should research, experiment with, or learn in order to take steps towards this. I'm aware that this can and likely will take a huge amount of my time, years even, but that's not a concern. I just want to make it happen! I've done a little research already, so I may already have an idea, but I'm here for advice! Thank you in advance for your time and response! Also, perhaps you could better define the role I'm trying to go for!
Looking to learn without formal education!
Chrome, you didn't say what the goal is. Are you looking for a career in game development, or are you looking to make a game, maybe as a hobby? Those are two different paths.
If you looking for a career in game development use Unity, Godot, Unreal Engine, CryEngine, Game Maker, Panda3D, Phaser, Babylon.js and so on.
If you looking to make a game like a hobby like me for studying math (Linear Algebra, Geometry, game Physics, Math of shaders, multiplayer/cooperative and so on) write your own little games (like Pong, Snake, Breakout, Tetris, Pac-Man, and so on) and little game engines in pure OpenGL, WebGL, DirectX, Metal, Vulkan. For example you can start here: https://learnopengl.com or/and here WebGL Programming Guide
- 2004 - 04 - Math and Physics for Game Programmers - Wendy Stahler - 504 pages: Amazon
- 2011 - 06 - Mathematics for 3D Game Programming and Computer Graphics - 3rd Edition - Eric Lengyel - 624 pages: Amazon Code: http://mathfor3dgameprogramming.com/
- 2011 - 11 - 3D Math Primer for Graphics and Game Development - F. Dunn, I. Parberry - 846 pages: Amazon
- 2015 - 08 - Essential Mathematics for Games and Interactive Applications - 3rd Edition - James M. Van Verth, Lars M. Bishop - 624 pages: Amazon Code: https://github.com/jvanverth/essentialmath
- 2013 - 12 - Mathematics for Computer Graphics - 4th Edition - John Vince - 412 pages: Amazon
How to write a game server from scratch: http://buildnewgames.com/real-time-multiplayer/ How to publish your server on free Heroku hosing:
Getting Started on Heroku with Node.js | Heroku Dev Center
A step-by-step guide for deploying your first Node app and mastering the basics of Heroku.
Thinking about it, there are so many departments in game development. So which one do you want to go for? Graphics, Audio, Physics, Mechanics? Or you're just looking to start out as a lone developer so you can learn some of the basics of game development and maybe make some games yourself?
@undefined Kinda both, lol. I'm trying to learn what it takes to make games so I can best express the stories I wish to share, but I want to eventually consider making a career of it if I manage to get enough experience or success. I'd like a career, but not yet. Perhaps I should learn how to make a product before I learn how to sell it.
@undefined I wanted to know where to start as far as learning in general, so I suppose learning both small and large engines might help, plus I get to experiment! @undefined I'm wanting to do the latter, nothing specific yet. I feel finding out what I'm best suited for, honing that, and working on what I'm bad at (gonna have to work on my math, for sure) might be the best way to do it. The best option would be being able to work with people to help make my ideas come true, but I'd want to be able to put whatever work I can myself while making sure we reach our deadline.
chromescythe said:
I wanted to know where to start as far as learning in general, so I suppose learning both small and large engines might help, plus I get to experiment!
This website contains nice free tutorials for start: http://noobtuts.com/
@chromescythe I think the best approach is to know what you want first then figure out what you need to get there. For example i want to become a games designer foremost, but found that it's not the kind of job you can get straight away. So i started learning C++ within the Unreal Engine and am about 6months in that. I want to make a triple AAA styled game, meaning 3rd person or first person with lots of detail. I sometimes get overwhelmed with how much work i have to get through and i'm just talking about code. I found that game devs online are really helpful and are very kind people. I want my Game to look fantastic so i have to use Unreal Or Crytek, but Unreal Has more resources and some of my most favorite games were made with Unreal, like gears of war, and unreal tournament. I don't recommend doing what i am doing which is working mostly solo on a AAA project hahaha. But i have time and passion.
If say you wanted to just make games because you want to express story from your writing, maybe start with a 2D side scroller or platform game with lots of story. I recommend figuring out
1st: What you want to do,
2nd: What you want in the future, ie become a programmer or character artist so on
3rd: Be prepared to make sacrifices, i think if you want to be taken seriously in the games industry you have to develope an impressive portfolio. It's one thing to make games, it's a whole other thing to make great games.
please be sure to leave a like for me ? helps with reputation on this site. Thankyou.
@chromescythe I just wanted to add if you wish to start out with learning C++ and the Unreal engine i can point you in the right direction and speed track your development.
Personally I would start small.
First, define the first game you want to work with, something that makes you want to built it.
Then, define if it's 2D or 3D. No matter if you can achieve this game, it will be at least a great learning experience : )
I would personally recommend to use Unity if you don't know what you're going to make between 2D or 3D. You can use Unreal Engine but it's lacking in the 2D department, so learning to use Unity will let you swap between 2D and 3D more easily and it's a really great game engine. Both engines are free to use, at least when learning.
When you have made your choice, simply ask google.
For exemple, if I didn't know anything and wanted to work on Unity, I think I would start by reading a tutorial on the type of game that would interest me.
For Unity (Sorry, I'll just talk about this one because my journey took me there and I actually can give some exemples) I would search and find :
For 3D and Unity in general :
and for 2D :
I really like Brackeys I couldn't recommend him more.
When you're done with this tutorials, his youtube channel has tons of tutorials for everything a game needs. By watching them you would slowly learn how programming works and you would quickly have results, which are great for encouraging oneself.
When you dive a bit further into code, I would recommend Jason Weimann's Youtube Channel, which is filled with very valuable informations and practices about Unity and Programming principles applying to Unity or C#.
Each video of him I watch, the better programmer I become.
Have fun on your journey !
@doomoperator Thanks for the tips! I've actually been quite vague about my intentions for a reason. I wanted to see what advice I would get as someone who just thought of this stuff on Day 1. I've been doing enough research to know that I want to be a game designer, as I want to create the art, levels and characters for my games, and I'd like to help manage that, too, but I also want to voice and write, too. I also know Unreal and Unity are the two most popular engines, and Unity, with its C# programming, would be “easier” to understand (I think they're similar, but C++ is supposedly more complex). I already have game ideas aside, and know which one to test first once I have the hang of this stuff. In the meantime, I want to improve my art, vocal talents, and writing, while learning about whatever needs to be learned to accomplish that goal. It'd be cool to find people to work with, but I'm worried most people care about money too much. At least the people I work with. @nerhak I understand Unity would probably be best for my first idea. I'm gonna start small, with a 2-D puzzle game, then perhaps an easy platformer, and build experience until I can create my masterpiece with the skill I need to make it not fish food! I figured learning a few different engines wouldn't be bad in the future, either!
So you want to be a writer. It doesn't really matter what media you want to write in, the general advice is that you need to read. A lot. For every story you write or character you create, read 10 books. Fiction, non-fiction, it's all story telling and if you want to create stories, situations, locations, and characters for a game, you're telling stories.
Same with artwork. You want to git gud you draw. Fill sketchbooks. Copy art you like (copying art is good practice, distributing your copies as originals is not).
All this you can do without more than a basic grade-school education. Of course, a formal education forces you to do all this plus broadens what you're exposed to and expands your mind in unexpected directions, but in essence it's all about exposure and practice.
Notice none of this requires any kind of programming. Focus on one aspect and become a master, not on all aspects and master none.
@undefined Just doing a drive by to tell you - with the internet the way it is now, just go for it. Even back when I was learning from the net in the early & mid 2000's, I could find lots of awesome stuff online to get going. Now you have YouTube, and even easier and more poweful, and free, game engines to work with.
With 2 big gotchas to look out for, my advice;
1. I will say that in University, I did a programming course that gave me an appreciation for structuring my code to be neat, slim, and re-usable wherever possible - you can get an appreciation for that yourself if you pay attention to whatever you learn from online and try to complete many small projects without getting bogged down in a mess of code. You will end up in that situation anyway, and it's like Thomas Edison found 1000 ways to not make a lightbulb; fail and find ways it's not working to finally work out how to do it better.
2. Also final year project and actual work experience has shown me how you need to cut corners to get a finished project. Working alone with no schedule or deadline means never ever getting anything done, because you get stuck in an endless trawl of “being an artiste” and trying to perfect every little thing, there's no critical path, and the game never gets finished. You should be able to learn that yourself just by looking up other people's stories on how long it took to make their game, and being realistic about how long it should take you to finish yours, and being introspective about where you need to improve and cut corners when you inevitably go over schedule. Even if you think you want to do it as a hobby and not make money from it - still, this applies, because your game will never be finished if you don't work on that.
But yeah, just start looking stuff up. You'll get there. I recommend Godot to start with, it's a delight to work with, and very good at 2D and 3D. Unity and UE4 when you need to get serious; Unity for the multi platform support and 2D graphics (both HD and pixel art) and UE4 for the best 3D graphics and online multiplayer support.
chromescythe said:
Kinda both, lol. I'm trying to learn what it takes to make games so I can best express the stories I wish to share, but I want to eventually consider making a career of it
Formal education is a necessity to get hired at a game company in most countries. But if your passion is stories, games are not the only medium. The best game writers also write stories for graphic novels, web series, etc. Those writers mostly have had a formal education.
I understand that they often do, but I get cramped with schools and expected work, and unless I'm trying to prove my knowledge when I'm confident enough for it, I don't want to have to test and be graded. Plus I don't want to be in debt, or have to pay for something I can find online, or rent a book from the library to learn. Plus, once I have an idea of what to learn (programming, math, physics, A.I., graphical engineering, etc.), I can study them on my own, at my own pace, so I can experiment when I'm ready. I also understand now that time constraints are still practical when it comes to projects, but I need the skills to carry my part to do one first. My ultimatum is to put my best stories out there in a format I want them to be experienced in, with the best possible engagement, regardless of success. At least my story will be around when I'm gone (if I succeed).
chromescythe said:
I understand that they often do, but I get cramped with schools and expected work, and unless I'm trying to prove my knowledge when I'm confident enough for it, I don't want to have to test and be graded. Plus I don't want to be in debt, or have to pay for something I can find online, or rent a book from the library to learn. Plus, once I have an idea of what to learn (programming, math, physics, A.I., graphical engineering, etc.), I can study them on my own, at my own pace, so I can experiment when I'm ready. I also understand now that time constraints are still practical when it comes to projects, but I need the skills to carry my part to do one first. My ultimatum is to put my best stories out there in a format I want them to be experienced in, with the best possible engagement, regardless of success. At least my story will be around when I'm gone (if I succeed).
Your options are going to depend on what position you're applying for, and where the business is located apart from the company's hiring policies. Different countries put more value on education regardless of experience so you'll need to do some research first.
In regards to programming:
Getting in the door is the hardest part and you can do it in a number of ways:
- Get your Computer Science Degree (bachelor's degree) and build a personal portfolio so you have something to show code wise.
- Learn as you go and acquire the skills needed, but you'll have to put them to the test and actually freelance and/or do real work over a period of time in order to build working experience and a portfolio. You'll still want a personal portfolio regardless of having a list of projects you've worked on, just keep in mind about NDAs, and IP rights when showing any of your work. (Rule of thumb, never put anything in a portfolio that you don't have written consent as your portfolio should consist of code). Also credit yourself on projects for as long as they don't breach any agreements.
Option 1 is the usual approach for people fresh in the industry. (You'll also benefit from networking just by going to school)
Option 2 works more for people that are self taught and have been programming for several years with actual freelance/project work under their belt. In my area you can substitute experience for education in several positions, but either way you'll have to really know your stuff otherwise you'll flop during the interview stage. However, don't expect to spend a year learning C++ for example, then apply for jobs… You should aim to prove your knowledge in some way. This isn't easy and will require a lot of self-discipline.
An added note, in North America there are self taught programmers employed with no degree, so never get discouraged if you're in Canada or the United States. I cannot speak on anywhere else in the world.
Just remember, you're going to be hired for the value you can bring to the organization and you need to prove yourself regardless. The main problem is getting past the ‘screening process’, and having no degree might cause your resume to get binned more so than not. You might be able to get in the door faster by targeting smaller studios, and start-ups. I would also suggest going for lower pay - entry level work if that means you can get your foot in the door (short term sacrifice in pay for a long term gain by getting experience). If you can network with people in the industry who are local, this can open doors for you when you're ready to make the jump. Once you're ready to apply make sure you apply regardless of the educational requirements. The worst they can say is no, and every interview is experience and will help you in each one that follows assuming you openly analyze what went wrong and what went right.
My final note here is that I would still suggest option 1 because you're not already coming from a background in programming and with option 2 you're still going to have to clock in years to acquire equivalent knowledge while building a portfolio to prove your skills and hopefully getting a few gigs along the way. Either way, having a degree is always better than not having one, but if you go with option 2 you better be prepared to work extremely hard.
Best wishes.
chromescythe said:
but I get cramped with schools and expected work
Then you'll have a difficult time working in a high-pressure game company environment. The pressure of college is nothing compared to the pressure of professional expectations.
I appreciate all the input so far! Thank you for all the advice, good to hear or not! I'm determined to do this, and unfortunately, if I have to go to a school, I'll have to find the right one, and preferably one that won't leave me in debt! Regardless, I want to try and study some of this stuff in the meantime! Hope everyone has a great day, and thank you for your time!
It is always a good idea to learn while doing something you enjoy.
I enjoy drawing, so i always program something that has to see with visuals. Developing a game is super fun, as the debugging process is fun. It is funnier to hunt for glitches while playing with the WASD than wasting your eyesight looking to debug values.
So, it is a good idea to learn programming by programming games.
In my personal experience schools are not always something good. I studied in three places in three different countries each one on the other side of European continent(forming a triangle), so i tested three very different mentalities. I had to leave one of the school, because of the country. They were BANNING competition and ambition by law. I then studied in another country in a very cool school. It was giving people the knowledge a university gives but only in 6 to 12 months. If you have the gift of the mentality of a programmer, you can learn it all in 12 months. The school was super cool, but i had problems with my third team. I was super fine with my first two teams, but the third team was made up of visually very same looking people and i was visually the only different. So they voted me to leave the team and the rules of the school stated that i am a goner.
Working in a team without frustration is the hardest challenges of all. In a team you must think three times before opening the mouth…. very very stressful.
Example from the real life working in a team:
Me: Commenting on the right side of the code.
Teammate: Why are you commenting?
Me: Good to know if we open it few months later and we forget what this code does.
Teammate: So you think we are stupid we can not remember what this code is doing?
…..
…..
Few days more and the frustration grows and the majority kicks the minority from the team….
I thought only three times before opening my mouth. I should have thought four times and I should have said “I” instead “we”. This was my fault. A single short wrong word….
Remember: “A human to another human is a bloodthirsty beast..”
(talking from my own experience)
Learning by yourself is harder than learning in a school. But some schools are so bad, you are better off self-taught. If the school is good and you are working for it too, you can become one of the best. Plus, you should know that every single teacher in every single school indoctrinates you to think like him. When you learn alone, you are less indoctrinated.
Don't be afraid of the time. Before you notice it, 2, 5, 10 years will be gone. Just start learning. With the time you will learn it.
If i were hiring, i would not mind if you have an education or not. Your portfolio and demos tell me everything. I would put you on a PRACTICAL test too. But i will never be hiring. I will always be coding in the basement safe from the outside world. And i learned to be happy with my basement. I adapted to it. There are cool projects a single person could finish alone in a basement and even be paid good money for it. I am not saying programming in a team is something bad. It is the coolest thing…. if it works….
(Notice, if i were hiring and I had a working team made up of 4 people without education, and you have an education, i would not hire you exactly because you have an education. I can not allow a different 5th person to enter a team made up of 4 alike persons. This could damage the team.)
chromescythe said:
Thanks for the tips!
@chromescythe Your more than welcome man. ?
chromescythe said:
I want to be a game designer, as I want to create the art, levels and characters for my games,
I can link a youtube video here for you which relates to becoming a game designer in a big games company.
i will also link another video which is great for advancing art skills, the tips in here from Kim Jung Gi are golden.
chromescythe said:
I also know Unreal and Unity are the two most popular engines, and Unity, with its C# programming, would be “easier” to understand (I think they're similar, but C++ is supposedly more complex).
This is a free course it's quite excellent. This is where i started to learn C++. It informed me on a lot of the basic skills need to just read and understand it. The trick to programming is to learn a little bit each and every day so you retain it for longer in memory. Overwhelming yourself with too much information in 1 day make things impossible to understand.
chromescythe said:
I already have game ideas aside, and know which one to test first once I have the hang of this stuff. In the meantime, I want to improve my art, vocal talents, and writing, while learning about whatever needs to be learned to accomplish that goal.
If you know your goal then you should find your path there. I want to make a specific game that i imagined. Haha and i have a VR side project i'm slowly working on too.
chromescythe said:
It'd be cool to find people to work with, but I'm worried most people care about money too much. At least the people I work with.
You will have that everywhere, every business where capitalism is the main objective of the company you will have that. There aren't too many big games companies that are focused on making great games for the love of games. I think ProjectRed and a couple others are known for being good to employees and such. I personally want to create a games company that isn't focused around profit because that is the wrong way and i see studios making games with loot boxes and ingame purchases all the time, yet never delivering a high level of quality that i expect. The way to approach things is to be focused on fun for the player, because we all know a good game has to be fun. Otherwise it's a bad game haha. Have you ever seen the episode of south park where the Canadians are trying to explain “Freemium” games, they explain that games that are free want you to buy things in game but they can't make the game too fun or people won't buy anything. So the game has to be barely fun enough so the player keeps playing but not too fun they won't pay money XD. Anyways, i think there is truth in that.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.