I made one simple game, and now I'm working on a second version. I make games in Java, but everyone around me uses tools and engines. I do not understand some of the stuff that is in Unity.

In Java, I write all the code. I understand how it works, and I know how to make the code do what I want.

Is it true that I cannot make a great game without a tool?

  • 1
    \$\begingroup\$ Short version: "Depends". Long Version: "No, but it becomes way harder if you develop everything yourself (and from scratch)" - Generally it is preferable to use a game engine so you can focus only on the actual gameplay part of your game. Writing a (good) game engine is an enormous task and will force you to work on more things \$\endgroup\$ – UnholySheep Jan 12 '17 at 21:20
  • 1
    \$\begingroup\$ At your age I'd say it doesn't matter what you use, just keep making them. No matter what you use (Java, Python, Unity, etc) you'll learn more and more with each one. And that is how you make a great game. -Also, a lot of what you learn with one programming language or system will transfer to others if you decide to change it up. \$\endgroup\$ – Tartle Wizard Jan 12 '17 at 21:21
  • \$\begingroup\$ Can i make people know about them? My channel got 90 subs and i bet noone downloaded it from my mediafire. \$\endgroup\$ – Joza100 Jan 12 '17 at 21:23
  • \$\begingroup\$ You can advertise your game(s) if you want to, but that is a completely different topic. \$\endgroup\$ – UnholySheep Jan 12 '17 at 21:24
  • \$\begingroup\$ Now that is a different thing entirely. Who the heck knows how to make people find your game. Money probably doesn't hurt, neither does luck, but you'll have to start with making games. So just focus on that I would say. \$\endgroup\$ – Tartle Wizard Jan 12 '17 at 21:24

Of course you can make everything yourself if you want to. Game engines aren't magic. There is nothing they can do which you couldn't program on your own if you were willing to invest a lot of time and effort. But the question is is it worth it?

Using a premade engine means you have already solved a lot of the common problems every game needs to solve, like asset loading, rendering, collision detection, UI framework and many more. Doing all that stuff on your own requires a lot of studying algorithms and APIs, a lot of programming and testing, and in the end you will just have ended up reinventing the wheel. But if you use a game engine, all of that drudge work is already done and you can put all your time into what actually requires creativity: gameplay and content.

Sometimes you have game concepts which are so unique that they require special technical implementations no common engine can handle. For example, Minecraft with its up to 18 million of destructible blocks in the scene at once would never work in an engine not optimized for that. In such a case you need to invest the time to develop your own engine. But that's rather the exception than the norm.

  • \$\begingroup\$ I'm not sure Minecraft is the best example (as it has a history of bad performance), maybe adding some others such as open-world (GTA?) and RTS (Total War series?) games for completion? \$\endgroup\$ – UnholySheep Jan 12 '17 at 21:37
  • \$\begingroup\$ The GTA series is not a good example, because Rockstar's engine is actually based on a bought engine and includes several 3rd party components. \$\endgroup\$ – Philipp Jan 12 '17 at 22:05
  • \$\begingroup\$ Yes? Most commercial game engines utilize 3rd party components. I don't see why that makes it a bad example, as it is a common practice (and for a good reason too - developing everything in-house takes a lot of resources) \$\endgroup\$ – UnholySheep Jan 12 '17 at 22:11
  • 1
    \$\begingroup\$ @UnholySheep Yes, and that's why they are bad examples for the point I wanted to make with Minecraft. I was looking for an example of a game which does not use 3rd party developed systems and has good reason not to do that. \$\endgroup\$ – Philipp Jan 12 '17 at 22:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.