Building A Game Engine + Game

Started by
49 comments, last by Tutorial Doctor 9 years, 5 months ago

Hello,

I'm really new to this forum, so sorry if I don't know some of the rules. Basically, here's the issue: I want to build a game from scratch, but have no idea how. I honestly have no idea how to program (I couldn't program in a cube if my life depended on it) but still have an idea and want to learn. I don't have any artwork as of now, but want to get a functional game with different colored cubes going. I have no idea what program to use to create the engine, or what code. I want the best software to compile the engine (free) and a good code (Not ridiculously hard to learn).

Here's The Basics Of What I Need To Program:

  1. Health System
  2. Damage System
  3. Movement System
  4. Healing System
  5. AI For Enemies
Basic Objective:
You use different kinds of OrBs to take over the bases of other colors and those of the
neutral color. OrBs can also be used to defend your own base. To create OrBs, you need
a mineral called Thium. Thium can be accessed by taking over Quarries. Each base spawns
with one quarry. To upgrade your orbs, you must attack enemies and gain xp. The neutral
bases do not attack, they merely defend. The other colored bases, however, attack neutral
bases and your bases. Your objective is to get all the bases on the map to become your
color.
What will you make?
Advertisement
You are in no position to even contemplate creating a game engine. Use an existing one such as Unity.
Then start making simple games such as Tetris or Hangman or Pac Man.

You need to learn to walk before you learn to run. Your first project isn’t going to be the game of your dreams. I still haven’t made my dream games from 20 years ago (mostly because a lot of fun new ideas have come in the meantime)—I never expected to just start there. You have to work up to it.

You should not plan on starting a “real” project for at least a year, but 2 or 3 is better. Trying to make your first project be your dream game is the best way to absolutely ruin that dream and frustrate yourself during the learning process. That’s like me trying to build my dream house without ever having built a house before. Even if it looks close to what I want, I wouldn’t trust it to hold up against a strong wind.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

You are in no position to even contemplate creating a game engine. Use an existing one such as Unity.
Then start making simple games such as Tetris or Hangman or Pac Man.

You need to learn to walk before you learn to run. Your first project isn’t going to be the game of your dreams. I still haven’t made my dream games from 20 years ago (mostly because a lot of fun new ideas have come in the meantime)—I never expected to just start there. You have to work up to it.

You should not plan on starting a “real” project for at least a year, but 2 or 3 is better. Trying to make your first project be your dream game is the best way to absolutely ruin that dream and frustrate yourself during the learning process. That’s like me trying to build my dream house without ever having built a house before. Even if it looks close to what I want, I wouldn’t trust it to hold up against a strong wind.


L. Spiro

Believe it or not, my current game is meant to be practice and a fun idea before I start another dream game. I was just told by some people in chat that making an engine is easy (Game from ground up). I will stick to Unity and learn C# in this case. Thanks L.

What will you make?

You are in no position to even contemplate creating a game engine. Use an existing one such as Unity.
Then start making simple games such as Tetris or Hangman or Pac Man.

You need to learn to walk before you learn to run. Your first project isn’t going to be the game of your dreams. I still haven’t made my dream games from 20 years ago (mostly because a lot of fun new ideas have come in the meantime)—I never expected to just start there. You have to work up to it.

You should not plan on starting a “real” project for at least a year, but 2 or 3 is better. Trying to make your first project be your dream game is the best way to absolutely ruin that dream and frustrate yourself during the learning process. That’s like me trying to build my dream house without ever having built a house before. Even if it looks close to what I want, I wouldn’t trust it to hold up against a strong wind.


L. Spiro

While I don't necessarily agree with the first two sentences (which I will explain in a moment), but L. Spiro still has a point. You mentioned that this is just for practice/fun, so by all means start off small. Then if you want to tackle something larger, go for it.

I personally don't like the idea of beginners using a pre-written middleware engine in their first game, but others do. Back when I first started (and many of us), we couldn't rely on some middleware engine to make up for our minimal experience. Call me old fashioned, but only wimps have to rely on an engine (and tbh, I believe that many devs in this day and age with such easy access to middleware engines lack the talent/skill to do it themselves, nor are they interested in learning to do so). If you want to use C# and Unity, go ahead. It might actually be a better fit for what you want, however it's not black and white; meaning just because you're a newbie doesn't mean that you should use a middleware engine and nothing else.

I recommend trying both for yourself, then making your decision based on your experience, not everyone else's.

Shogun.

I think for a practice/learning game, it's definitely doable on your own without using Unity or another engine. Nothing in your description of your game is terribly complicated in and of itself, relatively speaking, other than the AI, which you'd have to code yourself, even if using an engine.

Realize that it's going to take longer to develop. But, if your goal is to learn, and not to simply finish a game, I think doing it without an engine is a fine choice and you'll certainly learn a lot in the process. On the other hand, if you're using an engine, you'll have more time to dedicate to gameplay mechanics, artwork, etc.

Both are valid routes I think. But, you'll get different things out of the process either way.

That said, and given your starting-from-scratch-ness, You'll want to do a few things first and you certainly have a few obstacles in your path. You'll need to choose a language. If you forgo an engine, you'll likely want to choose a library such as SFML, SDL, pygame, etc, depending on the language you choose. And, you'll need to become slightly proficient in your programming skills (even if using an engine). It will take time, to be sure, but it's certainly within your reach. And, it will be quicker using an engine.

This forum has tons and tons of resources though, and just searching through them, you'll likely be able to answer most of your questions, and if not, people are generally happy to answer a new one. The beginner FAQ will get you started on most of the things you need to do (language, libraries, engines, etc).

And, welcome :)

Beginner here <- please take any opinions with grain of salt

I think your first problem is focussing on the engine.

Just forget about the entire concept of an "engine".

Just make a game first. Most game engines started out as a game and then they extended the code to make it configurable as a library.

Forget about advanced and somewhat abstract concepts and just start writing what code you think needs to exist to accomplish the task at hand (heavy emphasis on task-at-hand).

You will fail alot. You will make alot of mistakes. You will learn from these mistakes and you will become an expert level coder over time.

Just make a basic game. Any game.

Once that works, try making it multiplayer.

Just keep adding layers of detail until you think your creation is good enough to share with other people, then share it (on gamedev.net dev journals of course).

This is the path you must take young jedi.


You use different kinds of OrBs to take over the bases of other colors and those of the
neutral color. OrBs can also be used to defend your own base. To create OrBs, you need
a mineral called Thium. Thium can be accessed by taking over Quarries. Each base spawns
with one quarry. To upgrade your orbs, you must attack enemies and gain xp. The neutral
bases do not attack, they merely defend. The other colored bases, however, attack neutral
bases and your bases. Your objective is to get all the bases on the map to become your
color.

This actually sounds like a nice starter project. Its a very simple RTS game.

Just make it 2D, learn SDL with c++. Your orbs will be bitmap squares that you move around by 2d xy coordinates.

AI can be handled by just "brute-forcing" it. Simply attack the closest target by using the distance formula.

I made something like this on my TI-83 in high school (that was like 14ish years ago). TI-83's can network with just one calculator so you could play your friends.

It was a badly made ripoff of total annihilation where everything was drawn as line segments.

The most popular TI-83 game i made in high school was a text-based RPG called "gansta-life". It was totally all rng (random number generator).

The teachers used to have to manually erase the calculators every day. When they found out who made the games they threatened to suspend me until the physics teacher (who was also a programmer) stepped in and saved me. I wasn't so lucky when I hacked the server because I didn't feel like taking a test. "We can see by the Novel logs that the person who deleted test.exe was sitting at this computer!"

I have a few more questions:

What compiler should I use to make a game engine?

What do you need to make a game engine?

Is it possible to make a game without an engine, and if possible, how?

What will you make?

Before you even contemplate writing a game or an engine, you need to learn to program.

There are plenty of languages that are good for beginners; personally I'd recommend python or C#.


Call me old fashioned, but only wimps have to rely on an engine (and tbh, I believe that many devs in this day and age with such easy access to middleware engines lack the talent/skill to do it themselves, nor are they interested in learning to do so)

Yes, everyone should reinvent the wheel.... rolleyes.gif

Honestly, when was the last time you saw someone telling a chef they should build their own kitchen?

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

Well I'm gonna go make a Tetris game or some shit.

AFTER TRYING:

I couldn't do it

and I was using Javascript

I think the programming had an error

I suck at this

Time to practice spawning different colored cubes.

What will you make?

This topic is closed to new replies.

Advertisement