Creating an Open World game

Started by
45 comments, last by jbadams 10 years, 4 months ago

Hello, I'm new to game creating and my biggest dream would be to create an open world modern shooter game. For a bieginner, I understand it's extremely hard. But I want to know which engine is best for open world, which language fits best? And is it even possible to create this kind of game on my own? Thanks in addvance. :)

Advertisement
I smiled when i saw this question :). I understand exactly what you mean as i am a beginner too and i have the same dream but not fps open world(don't really like'em).
Which language will fit best: C++. I know some replies might say otherwise but for me it's not. C++ is not hard, at least to me (the basics, which i'm learning as a first language). It's interesting and i like it. If you are planning on creating anything close to gta or assasin creed or COD (which i plan on) then c++ is the way (opinions might differ.
Which engine: If it's for windows pc (maybe others), then torque3d but torque uses a really slow scripting language but it's open source so you can tweak it (maybe) and if i were to advice on scripting languages, i would say LUA.
The only engine i know of that uses c++ and lua is cryengine but it has its problems.
I chose lua and c++ because of speed (matters to me). If you plan on taking my advice on learning c++ as a first language, search google for c++ beginner tutorial pdf and if you have money, buy books. (C++ is really symbolly):/

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Depending on how determined and experienced (in c++ and game creation) you are, from my point of view it's possible to create it. Could take up to 3 years, less or more depending on how you want it to be and how you work on it. (opinions might differ). My advice: Clone every game you've played most especially the bad ones and make it better starting from pong (i don't know the game but that's the first game they say you should create on this forum and on the net). When you're done with the cloned better versions, then you're ready.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Hello, I'm new to game creating and my biggest dream would be to create an open world modern shooter game. For a bieginner, I understand it's extremely hard. But I want to know which engine is best for open world, which language fits best? And is it even possible to create this kind of game on my own? Thanks in addvance. smile.png

First of all the games you describe take many hundreds of people working for many years with a very high budget: http://www.gamespot.com/articles/rockstar-more-than-1000-people-made-gtav/1100-6415330/

Large open world modern shooting games ( or any large open world games for that matter ) require many people almost by definition. To have an open world requires a lot of content. It is not impossible but very impractical for a single developer to create that much content themselves. Also it is my view that such worlds would be boring because I feel there is a lot that results from collaboration with other talented people.

I do not feel that it is practical or likely that a single person can create such a game, but that does not mean that you can not create such a game in the future. It just means you may need to find people who agree with your vision and financial backing to help make such a project a reality.

Right now though you should focus on building your skills with smaller titles so that you learn the basics of game development and so that you can show others that you bring solid game development skills to the table.

My personal recommendation is to start with a language such as Python for learning beginning game development. You will be able to learn programming without having to worry with a lot of C++s particular pitfalls (of which there are many, even if some don't realize it). C++ is not a bad language, but I view it as a bad language for a beginner because it is my view that it provides more grief then necessary and instead of focusing on programming fundamentals you have to learn C++ fundamentals and pitfall mitigations.

http://www.horstmann.com/cpp/pitfalls.html

http://developer.kde.org/~wheeler/cpp-pitfalls.html

http://blog.davidecoppola.com/2013/09/11/cpp-pitfalls/

A good software developer knows many languages and applies the proper language to the task at hand. You will and should learn many languages over the course of your programming career and so do not worry about not starting with C++ right away. You can learn it eventually and having a firm grasp of the basic concepts will make it easier in my opinion.

The real truth is that there are many languages that exist and all have strengths and weaknesses. Use which you like best and stick with it. The ideas behind programming are fairly universal even if the syntax changes. Your focus should be learning how to break a complex idea down into small pieces that you can solve.

I would recommend starting with Unity3d. It's a great engine, and I personally think its awesome. Making an open world game is not easy: it's usually best to start small. However, if you do want to make that open world game, I would recommend breaking it into very small manageable pieces (like starting off with building just the shooter interface, or something along those lines). Best of luck!

No one expects the Spanish Inquisition!

I smiled when i saw this question smile.png. I understand exactly what you mean as i am a beginner too and i have the same dream but not fps open world(don't really like'em).
Which language will fit best: C++. I know some replies might say otherwise but for me it's not. C++ is not hard, at least to me (the basics, which i'm learning as a first language). It's interesting and i like it. If you are planning on creating anything close to gta or assasin creed or COD (which i plan on) then c++ is the way (opinions might differ.
Which engine: If it's for windows pc (maybe others), then torque3d but torque uses a really slow scripting language but it's open source so you can tweak it (maybe) and if i were to advice on scripting languages, i would say LUA.
The only engine i know of that uses c++ and lua is cryengine but it has its problems.
I chose lua and c++ because of speed (matters to me). If you plan on taking my advice on learning c++ as a first language, search google for c++ beginner tutorial pdf and if you have money, buy books. (C++ is really symbolly):/

You do know that COD and assasin creed are AAA games created by studios (hunderds of very experienced people)?

Beginners already often have a surreal look on games.

Your post makes it look like it's easy (or even doable) for 1 person to achieve something like this.

I'm not saying indies can't make great games, nor that extremely talented people couldn't create something close to AAA.

I'm just saying, you should stay realistic.

Next, there is no best language.

C++ is a choice, not THE only choice (ofcource if you want in the business, then you should know it)

As a beginner you shouldn't really look at what is the fastest.

Being able to take advantage of the actual speed, already takes an experienced programmer.

Do note: I'm not saying you're wrong in any way.
I'm prefer C++ myself.

"Talk is cheap. Show me the code."

- Linus Torvalds

I smiled when i saw this question :). I understand exactly what you mean as i am a beginner too and i have the same dream but not fps open world(don't really like'em).
Which language will fit best: C++. I know some replies might say otherwise but for me it's not. C++ is not hard, at least to me (the basics, which i'm learning as a first language). It's interesting and i like it. If you are planning on creating anything close to gta or assasin creed or COD (which i plan on) then c++ is the way (opinions might differ.
Which engine: If it's for windows pc (maybe others), then torque3d but torque uses a really slow scripting language but it's open source so you can tweak it (maybe) and if i were to advice on scripting languages, i would say LUA.
The only engine i know of that uses c++ and lua is cryengine but it has its problems.
I chose lua and c++ because of speed (matters to me). If you plan on taking my advice on learning c++ as a first language, search google for c++ beginner tutorial pdf and if you have money, buy books. (C++ is really symbolly):/

You do know that COD and assasin creed are AAA games created by studios (hunderds of very experienced people)?

Beginners already often have a surreal look on games.
Your post makes it look like it's easy (or even doable) for 1 person to achieve something like this.

I'm not saying indies can't make great games, nor that extremely talented people couldn't create something close to AAA.
I'm just saying, you should stay realistic.

Next, there is no best language.
C++ is a choice, not THE only choice (ofcource if you want in the business, then you should know it)
As a beginner you shouldn't really look at what is the fastest.
Being able to take advantage of the actual speed, already takes an experienced programmer.
Do note: I'm not saying you're wrong in any way.
I'm prefer C++ myself.
It's doable, not in anyway easy but doable. Got the c++ code for a tic tac toe console game and it has 361 lines of code (comments included). So for an AAA game like gta, it'll probably be more than a million lines of c++ code. So it's doable (maybe not up to AAA level) but definitely not easy.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

I smiled when i saw this question smile.png. I understand exactly what you mean as i am a beginner too and i have the same dream but not fps open world(don't really like'em).
Which language will fit best: C++. I know some replies might say otherwise but for me it's not. C++ is not hard, at least to me (the basics, which i'm learning as a first language). It's interesting and i like it. If you are planning on creating anything close to gta or assasin creed or COD (which i plan on) then c++ is the way (opinions might differ.
Which engine: If it's for windows pc (maybe others), then torque3d but torque uses a really slow scripting language but it's open source so you can tweak it (maybe) and if i were to advice on scripting languages, i would say LUA.
The only engine i know of that uses c++ and lua is cryengine but it has its problems.
I chose lua and c++ because of speed (matters to me). If you plan on taking my advice on learning c++ as a first language, search google for c++ beginner tutorial pdf and if you have money, buy books. (C++ is really symbolly):/

While I normally don't speak much on this matter, but I felt compelled. His question made you smile and your reply made me laugh. "Which language will fit best:" C, C++, C#, Java, etc. and there are FPS games written in numerous languages. "C++ is not hard" tells me that you haven't learned that much of it as C++ is one of the hardest languages to learn, even its creator says so (and he made it!). Torque 3D? Are you serious? Torque's scripting language is based off C# and C# is Microsoft's answer to Java. UDK is more widely used, free, and used for a lot of commercial and indie games from different genres. Scripting would be Ruby, Python, or Lua (also it's creator really HATES when people call it LUA as that is for something entirely different). You can learn whatever language and scripting language you want, but to be honest speed only plays a factor on old machines, consoles, and handhelds because newer computers have hardware that is fast enough to make the speed difference unnoticeable.

I smiled when i saw this question :). I understand exactly what you mean as i am a beginner too and i have the same dream but not fps open world(don't really like'em).
Which language will fit best: C++. I know some replies might say otherwise but for me it's not. C++ is not hard, at least to me (the basics, which i'm learning as a first language). It's interesting and i like it. If you are planning on creating anything close to gta or assasin creed or COD (which i plan on) then c++ is the way (opinions might differ.
Which engine: If it's for windows pc (maybe others), then torque3d but torque uses a really slow scripting language but it's open source so you can tweak it (maybe) and if i were to advice on scripting languages, i would say LUA.
The only engine i know of that uses c++ and lua is cryengine but it has its problems.
I chose lua and c++ because of speed (matters to me). If you plan on taking my advice on learning c++ as a first language, search google for c++ beginner tutorial pdf and if you have money, buy books. (C++ is really symbolly):/


While I normally don't speak much on this matter, but I felt compelled. His question made you smile and your reply made me laugh. "Which language will fit best:" C, C++, C#, Java, etc. and there are FPS games written in numerous languages. "C++ is not hard" tells me that you haven't learned that much of it as C++ is one of the hardest languages to learn, even its creator says so (and he made it!). Torque 3D? Are you serious? Torque's scripting language is based off C# and C# is Microsoft's answer to Java. UDK is more widely used, free, and used for a lot of commercial and indie games from different genres. Scripting would be Ruby, Python, or Lua (also it's creator really HATES when people call it LUA as that is for something entirely different). You can learn whatever language and scripting language you want, but to be honest speed only plays a factor on old machines, consoles, and handhelds because newer computers have hardware that is fast enough to make the speed difference unnoticeable.

I smiled when i saw this question :). I understand exactly what you mean as i am a beginner too and i have the same dream but not fps open world(don't really like'em).
Which language will fit best: C++. I know some replies might say otherwise but for me it's not. C++ is not hard, at least to me (the basics, which i'm learning as a first language). It's interesting and i like it. If you are planning on creating anything close to gta or assasin creed or COD (which i plan on) then c++ is the way (opinions might differ.
Which engine: If it's for windows pc (maybe others), then torque3d but torque uses a really slow scripting language but it's open source so you can tweak it (maybe) and if i were to advice on scripting languages, i would say LUA.
The only engine i know of that uses c++ and lua is cryengine but it has its problems.
I chose lua and c++ because of speed (matters to me). If you plan on taking my advice on learning c++ as a first language, search google for c++ beginner tutorial pdf and if you have money, buy books. (C++ is really symbolly):/


While I normally don't speak much on this matter, but I felt compelled. His question made you smile and your reply made me laugh. "Which language will fit best:" C, C++, C#, Java, etc. and there are FPS games written in numerous languages. "C++ is not hard" tells me that you haven't learned that much of it as C++ is one of the hardest languages to learn, even its creator says so (and he made it!). Torque 3D? Are you serious? Torque's scripting language is based off C# and C# is Microsoft's answer to Java. UDK is more widely used, free, and used for a lot of commercial and indie games from different genres. Scripting would be Ruby, Python, or Lua (also it's creator really HATES when people call it LUA as that is for something entirely different). You can learn whatever language and scripting language you want, but to be honest speed only plays a factor on old machines, consoles, and handhelds because newer computers have hardware that is fast enough to make the speed difference unnoticeable.
Did you read what was in the parentheses. I said basics not intermediate, basic c++. When i reach intermediate level, i know what to do.
I called it LUA not Lua for emphasis. Did you think this is the first forum i've seen that.
Torque uses torquescript and even people on their forum (which i'm a part of) say it's slow, slower than .NET and C#. UDK would be the better choice as it has clearly stated licensing agreement than cryengine.
As for speed, that's for me. Do you use Torque3d?

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Yes, I know you said basics, and your reply screams this fact as once a C++ programmer gets more experienced they realize just how difficult the language as a whole is and why everyone recommends learning a different language first. As for emphasis, doing all caps is the internet equivalent of YELLING, and doing LUA is not the same as Lua. If you want emphasis on the name this forum has a wonderful bold, italics, and underline options (as most forums do) to achieve emphasis on Lua. As for Torque3d, nope, I stopped messing with Torque after college where we used Torque2D (called Torque Game Builder at that time) and Torque Game Engine and Torque Game Engine Advanced. Shortly after college I swore off Windows and use purely Linux (which I've used for about the same time I have been programming). The college after I graduated went from Torque to UDK themselves.

This topic is closed to new replies.

Advertisement