? I want to make a Video Game. How do I do "this" and "that" ?

Started by
7 comments, last by Nicholas Kong 10 years, 9 months ago

My name is Devin. All my life, I've had this problem: I hate sticking with anything.

I think that I can't do anything, because of how much time it will take. I know that it won't. But part of my brain thinks, "It would be so much easier if you just played this game. Rather then go learn programming language(s)."

I want to get that mentality out of my mind, I want to be able to sit down, and program for 16 hours straight, and I love it, but I think about it too much. I hope I explained it clearly enough for you to understand, it's a weird feeling.

I want to:

  • Create a successful video game company.
  • Innovate in the video game industry and bring my new ideas to reality.
  • Give back to the player base of my games, and compete with the tyrants that destroy our market.

Now before I can do that, I need to learn the languages of programming, more about them, and become more motivated. As well as get rid of my, "issue". So my questions are:

  • What programming language do I need to learn (Preferably a High-Level Programming Language, since I'm new. C++ is too low-level for a beginner.) to make video games with decent graphics/mechanics/physics that can be implemented in FPS, RPG, and Simulation game(s).?
  • What engine should I use with THAT programming language you recommend?
  • How can I get rid of my... hmm I'll call it an obstacle??

I like learning how to program. I like to program. And I love video games. Also, my name is Devin! Here is a websites I made!

http://competitivesoftworks.webs.com/

http://blacksungamers.webs.com/

-------------------------------------------------------------------------

YouTube

Gaming Channel: http://www.youtube.com/user/TheBlacksunGamers

Development Channel: http://www.youtube.com/user/CompetitiveSW

Advertisement

Hi Devin, and welcome to the forums!

First off, I just want to say that making a game is a lot of hard work, and very time consuming. If you are unsure that it is something you are willing to put in the time for, then it is possible that game development just isn't for you. If, however, you are dead set in following this goal, then stick with it! It takes a while, but evenutally you'll start to feel the groove of working with code and things will be a lot easier.

What programming language do I need to learn (Preferably a High-Level Programming Language, since I'm new. C++ is too low-level for a beginner.) to make video games with decent graphics/mechanics/physics that can be implemented in FPS, RPG, and Simulation game(s).

My suggestion would be instead of trying to learn the language, just learn a language. Hell, learn 2 or 3.You'll find you like some better than others, and you'll start to develop your own style for writing code. The important thing is that you learn programming. I started out with python as a first language and I usually recommend that to people as a first one too, but there are many choices and you are going to get different answers from different people. Game development can get very complicated, so it's important to learn the fundimentals of your tools and enviroments before you jump into actual game making.

What engine should I use with THAT programming language you recommend? (I can always use Google, but if you know, that is probably the one to go with biggrin.png)

There are many engines out there for every sort of language. You might even find that you don't need a full blown engine. Just focus on learning basics before you even think about an engine to use. Once you get that down and you have a better idea on how to put a game together, then you can start thinking about picking an engine if you still want to take that route.

How can I get rid of my... hmm I'll call it an obstacle.

I'm not sure what advice I can really give for this one. If making a game is something you really want to do, then you just need to have faith that you'll get it done. Try not to get discouraged when something doesn't work quite right, or if things are taking longer than you planned. A lot of games have lots of developers and they still can take many years to get done. What really matters is that you are having fun making your game!

One a side note, starting with a text based game is something you can jump into very quickly after diving into pretty much any language, and it can be a nice start to looking at how to put a game together.

Hope this helps, and feel free to ask for more information if you want me to expand on anything I said.

Very helpful, thank you for replying.

There are many engines out there for every sort of language. You might even find that you don't need a full blown engine. Just focus on learning basics before you even think about an engine to use. Once you get that down and you have a better idea on how to put a game together, then you can start thinking about picking an engine if you still want to take that route.

I know of a long list of great engines. I just wanted to know what others thought, I thought, "What if I'm completely wrong" here is the list, which I put on my website (But I won't advertise)

  • Unity 3D: www.unity3d.com - Free to use, Pro version is avaliable for an inexpensive price. Very Powerful, Great Animatons, Smooth. Looks Great!
  • Unreal Engine: http://www.unrealengine.com/ - More Powerful, Graphically Astonishing, and Smooth. Very Expensive. Considered the BEST engine around, especially for triple A (AAA) developers, like Ubisoft, EA, Epic Games (Creators) AND MORE!
  • Source Engine: http://source.valvesoftware.com/ - Dated, but still extremely popular. Graphically it looks great, but it not as great as Unreal. Greatest Physics engine ever created, Greatest Face posing animations, and character animations ever created to DATE. (Source Engine 2 is in development, this engine has lasted since 2004, and was used in 2012 for Global Offensive, and was noticed as a great looking game as well as it's animations, physics, and mechanics.
  • Gamebryo: http://www.gamebryo.com/ - A dated engine, but I believe it was updated. It looks great, and has dynamic lighting, and fair animations. It is nothing to special compared to the other engines, but always extremely smooth gameplay, with an amazing development kit.
  • Crytek: http://www.crytek.com/cryengine/cryengine3/overview - Crytek 3 was... astonishing. Graphically. But it has dated animations, and is losing value to the next-gen engines, which is certainly is no longer. It does support dynamic lighting, an easy-to-use SDK, and amazing texture design. Although most engines, like the Unreal Engine and the Unity 3D Engine, and... also the Source Engine have this, this engine was one of the first to have the next "good-looking" textures. Although, it's AI (NPC) modular system, is AMAZING! Although the Source Engine does as well, until Source 2 comes out, this probably has one of the best AI modulars ever created.
  • iD-Tech: The lastest installment, iD-Tech 5 (I believe it is being updated to 6 in 2014/2015) used to be the greatest engine in the late 1980s to the earlier/mid 2000s. Until Unreal took over. It was the best of the best. I just had to include it.

-----------------------

I do feel dedicated to do this, and I do know HTML 5, LITTLE Javascript, Nearly all of Python, Lua, GMod Lua, and some CSS.

I like learning how to program. I like to program. And I love video games. Also, my name is Devin! Here is a websites I made!

http://competitivesoftworks.webs.com/

http://blacksungamers.webs.com/

-------------------------------------------------------------------------

YouTube

Gaming Channel: http://www.youtube.com/user/TheBlacksunGamers

Development Channel: http://www.youtube.com/user/CompetitiveSW

I have a couple of different suggestions for you:

Learn Lua -- you mentioned already knowing some or all of this -- and use Love2d for 2d games or Leadwerks for 3d games. Lua is a popular and very capable language that is used extensively even in professional games. It performs well, and there are options available (such as LuaJIT) for squeezing out better performance.

Use C#, and use Unity3d. It's a very capable engine with plenty of learning resources available, and can handle any of the projects you described. C# is a good general purpose language that will continue to be useful outside of Unity.

Leave it till later, and just make games an easier way. Game Maker is a popular tool which allows you to create games with no or minimal programming skills, and you'll get results much faster. You'll still learn about the process of developing games, and can practice some basic scripting with their "GML" scripting language. You can also potentially earn some money selling your games if you get good at it. You might find you're more motivated if you're able to more quickly make progress, and can then tackle programming properly in a couple of years or whenever you feel like you're ready. If Game Maker isn't your thing there are other options (even more).

Have you read the article "Overcoming Procrastination"?

Hope some of that is helpful! smile.png

- Jason Astle-Adams

I have a couple of different suggestions for you:

Learn Lua -- you mentioned already knowing some or all of this -- and use Love2d for 2d games or Leadwerks for 3d games. Lua is a popular and very capable language that is used extensively even in professional games. It performs well, and there are options available (such as LuaJIT) for squeezing out better performance.

Use C#, and use Unity3d. It's a very capable engine with plenty of learning resources available, and can handle any of the projects you described. C# is a good general purpose language that will continue to be useful outside of Unity.

Leave it till later, and just make games an easier way. Game Maker is a popular tool which allows you to create games with no or minimal programming skills, and you'll get results much faster. You'll still learn about the process of developing games, and can practice some basic scripting with their "GML" scripting language. You can also potentially earn some money selling your games if you get good at it. You might find you're more motivated if you're able to more quickly make progress, and can then tackle programming properly in a couple of years or whenever you feel like you're ready. If Game Maker isn't your thing there are other options (even more).

Have you read the article "Overcoming Procrastination"?

Hope some of that is helpful! smile.png

Thank you SO much for the 3D Lua engine. I did know about 2D, and I did know about gamemaker, and I skimmed (In an extremely fast manner) over that forum thread. You were very/are very helpful, thank you.

I like learning how to program. I like to program. And I love video games. Also, my name is Devin! Here is a websites I made!

http://competitivesoftworks.webs.com/

http://blacksungamers.webs.com/

-------------------------------------------------------------------------

YouTube

Gaming Channel: http://www.youtube.com/user/TheBlacksunGamers

Development Channel: http://www.youtube.com/user/CompetitiveSW

How about a series of small goals? Knowing that you will work on a game for a very long time is a downer.

Creating a roadmap with manageable chunks might be a solution.

  • Write a simple game in several different languages
  • Write a version of that game that uses an engine
  • Learn all about
    • Topic 1
    • Topic 2
    • etc.
  • Think about what your engine would like ... what features could be put in libraries (maybe just think about how you could realize it ... you don't even have to actually program a library) The idea being that you will know where the creators of an engine are coming from. Looking at an engine with the thought: "how do I make a game with that?" ... is different from "what would the engine help with?".
  • Read articles and follow blogs ... also with the goal "thinking like a programmer" ... and for inspiration.
  • Look at code (different open source projects) and try to learn from it

If you want to "Innovate in the video game industry and bring ... new ideas to reality" you will probably want to transition to the lower level development at some point.

Just using convenience products will not help with reaching that goal ... but yeah, starting with the simpler stuff is probably the way to go.

Given enough eyeballs, all mysteries are shallow.

MeAndVR

I agree with pretty much everything that was already said and also suggest using Lua + Löve or C# and Unity. I also went to your website and checked out your "game plans", and I have to say, you shouldn't have such high expectations. You should start with really simple games, like a Pong, and then go up and do some space shooter stuff or Breakout. Of course, this all depends on what tools you use and what exactly you want to learn.

All I want to say is: Don't think you can start the ultimate project that will destroy all existing ones in a few months. Even in your first few games you will notice that there's difficult stuff you probably never even thought off.

1. I suggest you learn programming first. Choose any beginners language, and learn how to program. Games are complicated, to understand them you need to understand the basics of programming first:

What is a function?

What is a loop?

What is an if statement?

etc...

That said, in the list of technologies you mentioned, only Unity is directed at beginners. It is not the most powerful, but it is definitely the easiest.

Disregard the "best" graphics engines. If you have no prior experience they will cause you to fail.

But then again, even unity will be hard enough if you've never programmed before. I suggest you buy a good & structured programming book, and learn how to program first. Make a text based tick-tack-toe before doing anything more complicated.

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees

First dispel the notion of competing with others. The only one you are competing against is yourself. Let go of your ego.

The important thing is to start small and not be over confident or ambitious and be able to solve the problem during your programming journey and keep programming. It is the nature of learning.

Take in the concepts one at a time. No one is asking you to program 16 hrs straight. Chances are, it might not be healthy or do any good in solving a problem. Everyone needs the sleep. We are all human beings. It is also important to make a lot of mistakes. Because once you do, you will learn how to avoid it or detect and diagnose the problem with or without a compiler. You can just use your eyes and scan through the code and pinpoint the bug.

If you are new, I would say start with Java.

It is important of all else to stick with it, be patient and work hard. The 3 key rules in anything!

Do not make a video game until you are comfortable with the language you are using. Because once you are comfortable with the language, you can now learn graphics which requires sufficient knowledge in the language.

Start making text-based ones. They are super important because they are essentially your training wheels. The reason for this is to train your programming skills(logic, programming styles, etc) without the graphics getting in the way of you learning the basics.

It is important to program something you are interested in. That should also get you a motivation boost. Programming is problem solving. Problem solving is fun and games. It is important to have fun with it.

Also write your own code. Copy and pasting someone else code is not learning. Just a heads up.

If you cannot stick with it, it could mean you are not interested in it or maybe someone taught it to you in a non-interesting way or maybe something is distracting you.

Teach yourself and relate it to something you are familiar with. You will learn super fast that way.

This topic is closed to new replies.

Advertisement