[Q] Topic : Game Creation / Game Developing

Started by
9 comments, last by janaweshra 3 years, 11 months ago

Hello,

I do have multiple questions about Game Developing.

I'd like to start a project of a big game, Battle Royale mod as example.

Questions:

  1. What language do I need to know/learn to start the project?
  2. What engine/programms can I use for free to start to develop a game or what licences do I need to buy?
  3. What advices can you give me for a begginer that is interested in Game Developing?


If you have anything else to add, please do it, I will add more questions later.

PS: I suck at PhotoShop, 3D, anything related, what can I do about this? Probably hire someone to create them for me?

Advertisement

This is only tangentially related to networking and multiplayer, but I will answer the entire question.

Start from the end:

  • what do you need to know to successfully develop a game?

Generally, if you want to build a game yourself, you need to know how to create the art of the game (draw pictures / textures, create animations, create character and equipment models, create environments and levels, etc.) Additionally, you need to know how to add interactivity to the game -- scripting and/or programming the game engine to make it do what you want. Third, you'll want to know how to design and test a game that's actually interesting. Finally, you will need to know how to package and validate the game into an experience that users will be able to download and play -- anything from "how to build an installer" to "how to market the game so users will find it."

Generally, a "battle royale," if not built on top of an existing shooter game, will require a team greater than one person, because there's simply too much work to be done for a single person to be able to do it all. So you'll also need to know how to coordinate a team to pull in the same direction, how to build that team with the right contributors, and how to keep them happy while building the game. Generally, paychecks and dollars are involved here.

  • what engine do you need to use for a game like this?

There are a number of different engines that "could work" here, and if you have a team of developers already who know some particular engine well, you should go with the engine that the team knows. This removes a vast amount of uncertainty. However, if you get to pick from scratch, perhaps by training yourself, then there really are only two engines I would recommend: Unreal Engine, or Roblox.

If you want to build a game that you sell on app stores, where you can customize everything, build your own player models, and "look like a AAA game," then you need Unreal Engine. While other engines (unity, godot, etc) can be used, with additional code and features, to build a battle royale game, the Unreal Engine comes with almost everything you need for the multiplayer gaming and networking built in already. You can build a multiplayer shooter game using their blueprint scripting environment, without having to dive in and worry about your own custom network replication, for example. In other words: You're getting the benefit of Unreal Engine being the thing that runs Fortnite, and it's free to download and develop with! (In the end, you pay 5% of your income as royalties, but that's a very, very, cheap price, compared to what you get!)

If you want to try out new ideas in gameplay, and want there to already be tons of props and characters that people already know how to work, you can build your game on Roblox. It won't ever look like Modern Warfare, but that's not the point -- you can get a working, fun, game, with an audience of millions of people, in one-tenth or less of the time it takes to build the same game on top of a "custom" engine.

  • What languages should you know?

If you're building on Unreal Engine, you need to know C++, and their Blueprint scripting system. (There are good tutorials for Blueprint.) You also need to learn all the features of the Unreal Engine such that you can configure and use them from within your game.

If you're building on Roblox, you need to learn the scripting language Lua. Roblox games are programmed entirely in Lua, and built in the Roblox game studio editor.

Now, all of this being said, there's a new post like this every week: Someone who wants to "learn how to make games" and wants to build "a big game." That's a bit like someone walking into the Home Depot, and asking what kind of hammer they need to use to build a skyscraper. A game like Fortnite is built on top of twenty-plus years of experience and technology, by a team of hundreds of people. One person cannot possibly build something that rich on their own. This is why I highly recommend starting on Roblox. You will quickly get to the fun bits of playing around with different gameplay elements, without having to worry about character animation or deployment / installer bits -- that's all taken care of for you, and all the players will already be used to the way the world looks and works, so the blocky avatars aren't a problem within the Roblox games store.

enum Bool { True, False, FileNotFound };
hplus0603 said:
This is only tangentially related to networking and multiplayer

Right. Moving to the correct forum.

-- Tom Sloper -- sloperama.com

First of all, thanks for the useful your comment.

The part of learning how to script will be a piece of cake for me, my ideea was to do a project this big in 2-3 years with some friend (4-5 people in team for start) and I know it might take longer because we have no experience in game developing. Most probably we are going to start this, see how much time does it take and quit the project.

I am more interested in making apps for PC rather than Android/IOS.

Questions, again :

  1. Should I start with games 2D or can I move directly on 3D? (From your first answer my big problem is that I was never talented at drawings, I mean "artistic" ones, at geometrical and spatial drawings I am good at)
  2. Is there anywhere I can get any models (3D) so I can modify and use them?
  3. It is good if I make a game and complete it in the future, to upload it on Steam? Or should I use another game platform or on my own?
  4. Any recommandations of websites or good courses from where I can start to learn how to use Unreal Engine/Roblox? Same for learning how to create 3D models or what I need.
  5. It is harder to do a Single Player than a Multiplayer game? Why? (I guess it is harder to do a MP game, but the main question here is why)
  6. One of my biggest questions about Game Developing is about Graphic of the game. As example if you use Unreal Engine, you have the graphic allready built in ,but if I'd like to create my own graphic? As example as "Antichamber" game, simple graphic.

Any more notes : If any of my questions are repetitive in this forum and I can't find them, please leave a link because you've said there is someone like me every week with with this kind of post.

Again, thanks for your time spent writing to me.

1.) you can start with 3d, there is no advantage really to starting with 2d

2.) yes, you can buy assets. if you use Unity you can easily buy assets.

3.) steam is the best because it is the biggest market, but it is harder to get on that platform than anywhere else. itch is where many indies start because it is mostly free. gog is midway between the two.

4.) packt pub is a fairly cheap way to lean, it will get you from beginner to intermediate

5.) sp in one way is harder than mp because you need an ai for the enemy. in a mp game two humans fight it out. in sp you have to make the computer code that acts intelligently. mp is difficult for different reasons, mainly architecture and cost. how do you keep people in different locations in sync?

6.) Blender is the norm for graphics for indie developers for games. it is free but requires skill. you can learn the skills, but it is separate from programming skills. if you have a team, typically the artist is a specialist and it takes years to git gud. programmers can easily get jobs as non-game programmers with a year or two of study, but an aspiring artist may never git gud enough to get a job. almost anyone can learn code well enough to get an entry level job, but artists have a much harder road.

DrinkAlot said:
What language do I need to know/learn to start the project?

I learn three: C#, TypeScript, and Python:

  • C# for Desktop: Unity (2D/3D) and OpenTK/OpenGL3 (for my experiments with my simple custom 2D/3D engines)
  • TypeScript for web: Babylon.js (3D), Phaser (2D), and WebGL (for my experiments with my simple custom 2D/3D engines)
  • Python for study Blender, and for automation some work in Blender
DrinkAlot said:
What advices can you give me for a begginer that is interested in Game Developing?

Just love coding, make a lot of simple games like: Snake, Pong, Breakout, Tetris, Pacman and so on. You can search in the Internet, for example: unity snake game tutorial for beginners. Or another engine/framework. It is depend what to you like. I like to study: math, shaders, multiplayer using sockets. I like to study how things work from scratch. How I study how to make skeleton animation using this tutorial OpenGL Skeletal Animation by ThinMatrix I rewrite it to C#/OpenTK and TS/WebGL. It is hard for beginners like you but I have good skills in shaders. Yes, I know how to work with skeleton animations in engines like Unity and Babylon.js but it is interesting to me to study math. I study math of the skeleton animation using this book: 3D Graphics for Game Programming Check this website: http://noobtuts.com/ It contains some useful tutorials.

DrinkAlot said:
It is harder to do a Single Player than a Multiplayer game? Why?

Multiplayer is harder. Try to write Tic-Tac-Toe for two players which are connected by socket. I write this game. I create a server using Node.js, Express, Socket.io and TypeScript. I use Phaser and TypeScript for client. Phaser is desktop and mobile HTML5 game framework that based on WebGL and Canvas API. You can find a lot of tutorials by searching: phaser multiplayer. I like to use Heroku for free hosting my Node.js applications.

Thanks for the useful advices from everyone. I will start learning and see if I cand start a project out of it. It was really nice to get advices from someone with experience because I have no one (with experience) to talk about game developing.

This topic is closed to new replies.

Advertisement