Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


how does it work? game engine? small 3D game from scratch? compiler?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
16 replies to this topic

#1 nekoluffy   Members   -  Reputation: 131

Like
0Likes
Like

Posted 15 January 2014 - 02:20 AM

Hi! Im new to this site but ive been digging around and doing research for a few days. and Im learning C++ currently, and reading up about game engines and programming. But im still a super noob. And I have so many questions. and looking for the exact answers is proving difficult so I figured id ask them in detail myself to get the best responses.


Ill highlight the maint points so you can rush on by this if i write too much.

I want to make a small 3D fighting/mmorpg game to start off.
small being a room with 2 characters, items, weapons, and fighting.

What is a game engine rreally?
premade library of tools at your disposal?
does it restrict my customization ability and animation ability?
- for example, I want to make a new fighting system, with its own unique animations, as well as custom characters and custom environment, basically the entire game is custom, the environment, the characters, the movement, textures.
Would this be possible with a pre made game engine?


Is a game engine needed? if the premade one doesnt help? Do I need one to make a game from scratch in general?
is it called a game engine? because it helps render all the environment and characters during gameplay and tell the objects and characters what to do or is that part of programming the game and not the engine??

Could I make a game without premade game engine or engine in general and just code everything? or would making a game from scratch actually mean, making the engine to go along with it?

My idea of game engine is just a tool of common materials used in games to put into your game and not the basic life or core of the game, where, if you didnt have it, the game could not play or look 3D, Thats the job of the compiler correct?

Could I use a pre made game engine and still get the results I want?? or should I make everything from scratch? (given that I need to make an engine in order to have my game work)

I hope this isnt too much.
Also any advice you feel might come in handy, topic related or not is welcome.

Sponsor:

#2 richardurich   Members   -  Reputation: 1187

Like
4Likes
Like

Posted 15 January 2014 - 05:22 AM

Some game engines allow you to create a game without writing a single line of code. So they can take over the entire job of a compiler. Others are more limited.

 

If you just want to make games and this is your first attempt, definitely use an existing game engine. You probably won't have many serious limitations, and most of the limitations you will encounter would be even worse if you tried to roll your own tech.

 

If you want to learn complicated programming design techniques and are more interested in learning programming tricks than making a game, trying to program your own game engine seems a popular choice. Really, coding anything works to learn as long as it is sufficiently challenging.



#3 SimonForsman   Crossbones+   -  Reputation: 6175

Like
4Likes
Like

Posted 15 January 2014 - 05:29 AM

1) What is a game engine:

It varies between engines but in general it is a set of tools and libraries that help you make your game.

 

2) does it restrict my customization ability and animation ability?

Possibly, it varies between engines, general purpose engines are far more flexible than more specialized engines.

 

3) Is a game engine needed?

No, it is not strictly needed, if you don't use or write an engine you still have to write code for the low level parts of the game but it doesn't necessarily need to be cleanly separated from the game code (for larger games it is a good idea to keep the low level code reasonably separate though and then you would get an engine of some sort either way)

 

4) Could i use a pre made game engine and still get the results i want ??

That depends on what results you want and how much you are willing to spend on the game engine. most cheap/free engines today can match or even surpass the technical quality of the games released for the PS3 and xbox360 if you put in enough effort.

 

Also, there is no such thing as a small mmo :)

Massively Multiplayer implies that you can have thousands of players (or atleast several hundred) in the same game instance at the same time.(1vs1 is not massively multiplayer)


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#4 arka80   Members   -  Reputation: 1013

Like
1Likes
Like

Posted 15 January 2014 - 05:36 AM

it seems you have a few-well-confused ideas.

 

I will not try to tell you to give up with mmorpg, you'll learn your way, but let me explain a bit of terms:

 

game engine: is a tool to make games. It has a lot of features all involved in make games. See Unity or GameMaker. It's not a magic click-to-make-the-game tool, anyway. You have to learn how to use it, but usually it gives you a visual environment to build your game.

 

library: using a library involves to write code your own. A library can gives you an API to make things easier, but once again you have to learn how to use it. A library usually covers a specific aspect of the game development, such as rendering the scene, load models, deal with assets, manage physics and so on. Probably you'll end to use a bunch of different libraries to reach your goal. And, obviusly, write your c++ code to keep all together.

 

compiler: it has nothing strictly to do with game dev. It is needed to convert your code into something that your computer can execute, otherwise your code remains a strange kind of text file.


Edited by arka80, 15 January 2014 - 07:53 AM.


#5 Dwarf King   Crossbones+   -  Reputation: 1886

Like
4Likes
Like

Posted 15 January 2014 - 06:03 AM


Some game engines allow you to create a game without writing a single line of code. So they can take over the entire job of a compiler. Others are more limited.

 

 

Not to be buggy or annoying here but what is the name of such a 3D game engine?

 

Let us assume that Scripting is very much like coding, then:

  • Unity3D you will need to code
  • Torque 3D/2D you will to code
  • UDK you will need to code
  • Ogre3D you will need to code
  • JMonkey you will need to code
  • Leadwerks you will need to code
  • and many others

In fact I know of no 3D game engine where people can create a game without ever coding.

 

Perhaps Blender is such an engine?

 

Please enlighten me with game engines where no coding/scripting is needed to make a game.

 

Edit:

Unless you mean coding is having access to source codes and only working from the compiler itself?


Edited by Dwarf King, 15 January 2014 - 06:05 AM.

"The only thing that interferes with my learning is my education"

Albert Einstein

"It is a miracle that curiosity survives formal education"

Albert Einstein

 


#6 d4n1   Members   -  Reputation: 424

Like
4Likes
Like

Posted 15 January 2014 - 07:21 AM

I think you need to download something that uses C++ and just get used to programming and dealing with video game concepts in general.  A small fighting/mmorpg.....there is nothing small about an MMORPG, absolutely nothing small in those 6 letters.  I would get Unity3D along with the book located here, try learning what game development is before trying to create your game.  If you dont want to do JavaScript/C#/Mono, you can use Leadwerks which is purchasable off of steam, or you can use a free version located on their website .  They use C++ everywhere and they provide a map editor.


Edited by d4n1, 16 January 2014 - 10:21 AM.


#7 dejaime   Crossbones+   -  Reputation: 4053

Like
0Likes
Like

Posted 15 January 2014 - 12:19 PM

 

Not to be buggy or annoying here but what is the name of such a 3D game engine?

I Agree.

 

The only things that comes to mind is didactic game creation tools like Kodu Game Lab; usually used to spike interest on children...

But even kodu could be considered to use some "programming".



#8 Godmil   Members   -  Reputation: 744

Like
0Likes
Like

Posted 15 January 2014 - 02:54 PM

 

Not to be buggy or annoying here but what is the name of such a 3D game engine?

 

I may be wrong, but what about RPG Maker, Gamemaker, and Multimedia Fusion?

Also don't leadwerks and unreal   have powerful visual scripting tools? Maybe not enough to do a complex custom game, but possibly a simple game without coding.

 

Edit: Oops, you said 3D. My mistake.


Edited by Godmil, 15 January 2014 - 04:43 PM.


#9 L. Spiro   Crossbones+   -  Reputation: 14010

Like
4Likes
Like

Posted 15 January 2014 - 03:02 PM

because it helps render all the environment and characters during gameplay and tell the objects and characters what to do or is that part of programming the game and not the engine??

Rendering is handled by the engine. You can typically customize it with your own shaders or just let it render how it wants.
Do not mistake a graphics engine for a game engine. Unity 3D is a game engine. Ogre is a graphics engine. One handles everything and the other handles only graphics.

Telling the characters what to do is part of the game logic.
Game logic is, not surprisingly, part of the game. The engine may help you with path tracing, but your game needs to decide if, when, and which path to take.


L. Spiro
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#10 nekoluffy   Members   -  Reputation: 131

Like
0Likes
Like

Posted 15 January 2014 - 03:31 PM

Some game engines allow you to create a game without writing a single line of code. So they can take over the entire job of a compiler. Others are more limited.

 

If you just want to make games and this is your first attempt, definitely use an existing game engine. You probably won't have many serious limitations, and most of the limitations you will encounter would be even worse if you tried to roll your own tech.

 

If you want to learn complicated programming design techniques and are more interested in learning programming tricks than making a game, trying to program your own game engine seems a popular choice. Really, coding anything works to learn as long as it is sufficiently challenging.

Yes im going to use a premade one to get started so i can understand a little bit more, but I just had a lot of questions about it as I wanted answers to. Thank you for answering.



#11 nekoluffy   Members   -  Reputation: 131

Like
0Likes
Like

Posted 15 January 2014 - 03:33 PM

1) What is a game engine:

It varies between engines but in general it is a set of tools and libraries that help you make your game.

 

2) does it restrict my customization ability and animation ability?

Possibly, it varies between engines, general purpose engines are far more flexible than more specialized engines.

 

3) Is a game engine needed?

No, it is not strictly needed, if you don't use or write an engine you still have to write code for the low level parts of the game but it doesn't necessarily need to be cleanly separated from the game code (for larger games it is a good idea to keep the low level code reasonably separate though and then you would get an engine of some sort either way)

 

4) Could i use a pre made game engine and still get the results i want ??

That depends on what results you want and how much you are willing to spend on the game engine. most cheap/free engines today can match or even surpass the technical quality of the games released for the PS3 and xbox360 if you put in enough effort.

 

Also, there is no such thing as a small mmo smile.png

Massively Multiplayer implies that you can have thousands of players (or atleast several hundred) in the same game instance at the same time.(1vs1 is not massively multiplayer)

the one vs one thing was meant for the fighter/action game, sorry for the misunderstanding, and youre correct, i cant make a small MMO. I should have said a small rpg.

And the results I want arent anything like whats already been made but some of these answers have given me a good idea on how to go about it. Thank you for replying



#12 nekoluffy   Members   -  Reputation: 131

Like
0Likes
Like

Posted 15 January 2014 - 03:37 PM

it seems you have a few-well-confused ideas.

 

I will not try to tell you to give up with mmorpg, you'll learn your way, but let me explain a bit of terms:

 

game engine: is a tool to make games. It has a lot of features all involved in make games. See Unity or GameMaker. It's not a magic click-to-make-the-game tool, anyway. You have to learn how to use it, but usually it gives you a visual environment to build your game.

 

library: using a library involves to write code your own. A library can gives you an API to make things easier, but once again you have to learn how to use it. A library usually covers a specific aspect of the game development, such as rendering the scene, load models, deal with assets, manage physics and so on. Probably you'll end to use a bunch of different libraries to reach your goal. And, obviusly, write your c++ code to keep all together.

 

compiler: it has nothing strictly to do with game dev. It is needed to convert your code into something that your computer can execute, otherwise your code remains a strange kind of text file.

Yes I was very confused lol, which is why I posted this topic, to get rid of my confusion. 

You cleared up some if not a lot of my misunderstanding.



#13 nekoluffy   Members   -  Reputation: 131

Like
0Likes
Like

Posted 15 January 2014 - 03:41 PM

I think you need to download something that uses C++ and just get used to programming and dealing with video game concepts in general.  A small fighting/mmorpg.....there is nothing small about an MMORPG, absolutely nothing small in those 5 letters.  I would get Unity3D along with the book located here, try learning what game development is before trying to create your game.  If you dont want to do JavaScript/C#/Mono, you can use Leadwerks which is purchasable off of steam, or you can use a free version located on their website .  They use C++ everywhere and they provide a map editor.

I didnt mean MMO. I meant RPG. I used an imporper term, and I understand what youre saying, I plan to do this. Also the resource you gave me will come in handy, Ive been looking for something like this for the past few days, thank you.



#14 nekoluffy   Members   -  Reputation: 131

Like
1Likes
Like

Posted 15 January 2014 - 03:44 PM

 

because it helps render all the environment and characters during gameplay and tell the objects and characters what to do or is that part of programming the game and not the engine??

Rendering is handled by the engine. You can typically customize it with your own shaders or just let it render how it wants.
Do not mistake a graphics engine for a game engine. Unity 3D is a game engine. Ogre is a graphics engine. One handles everything and the other handles only graphics.

Telling the characters what to do is part of the game logic.
Game logic is, not surprisingly, part of the game. The engine may help you with path tracing, but your game needs to decide if, when, and which path to take.


L. Spiro

 

This was the answer I was looking for in reply to that section. Thank you!



#15 RedactedProfile   Members   -  Reputation: 169

Like
3Likes
Like

Posted 15 January 2014 - 04:13 PM

What is a game engine rreally?
premade library of tools at your disposal? 

 

A game engine is a collection of tools and hooks. A complete "Game Engine" consists of any number of systems, some are required, others are optional. It entirely depends on the needs of the project. Some dont need physics, some dont need 3D, for example. 

 

Game Engine Components are:

  • Rendering Engine
  • Asset Loader & Entity Manager
    (Assets like, Models, Textures, Materials, etc)
  • Scene Manager / "Map/Level" Loader
  • Entity Animation Manager
  • Artificial Intelligence & Pathfinding
  • Particle Engine
  • Physics Simulation Engine
  • Audio Engine
  • Input Manager
  • GUI System
  • Scripting Engine
  • Garbage Collector (if one isn't present)
  • Network Component (aka NetCode)

And tools would be created to work with the engine:

  • Scene/Map/Level Editor
  • Model Viewer
  • Script IDE
  • Build Pipelines
  • Sound Shader compiler
  • Material compiler
  • Model compiler / Asset exporters

 

As you can see, a "Game Engine" is a large series of components. This is why you have entire army's of people swarming around one as a tech house, like Rockstar San Diego and the RAGE Engine, or one man armies like John Carmack with Id Tech and Tim Sweeny with Unreal Engine. (note: these people have a bunch of programmers underneath them, but they are chief architect and bare an unorthodox amount of work of the engine onto themselves)

 

does it restrict my customization ability and animation ability?
- for example, I want to make a new fighting system, with its own unique animations, as well as custom characters and custom environment, basically the entire game is custom, the environment, the characters, the movement, textures.
 

 

Would this be possible with a pre made game engine? 

 

 

Is a word, yes. In short? yeah, and It's a great deal of work.

In long? It depends on the engine! Some use scripting languages that interface with the engines API that lets you get right down and dirty into the guts of the system, doing basically anything you want with it without the need to even touch the underlying code. Engines like UDK do this with UnrealScript. Specifically with UDK there is extremely little reason to go into the code, because the scripting has unparalleled power. 

Others require you modify the code base to do anything useful with it. 

 

The new fighting "system" would require usurping the existing character controllers, as well as modifying their animation bank, and letting the engine know of the new states ("I am punching now! Use animation "punch1" when I do this! Check for collisions with Entities with my fist. Do something if so. Now I am not punching, go back to "fists raised idle")

 

The rest is all asset creation and has no baring on the code at all. Except implementing each new one, you might need to update something somewhere for that to register, make the engine "aware" of it.

Is a game engine needed? if the premade one doesnt help? Do I need one to make a game from scratch in general? 
is it called a game engine? because it helps render all the environment and characters during gameplay and tell the objects and characters what to do or is that part of programming the game and not the engine?? 

 

Yeah, (im generalizing here but) thats all game programming. A Game Engine is typically created during development if one hasnt been chosen. You will still NEED most (if not all) of the components listed above. Otherwise your going to be developing for 10 years rewriting all the same code for the same thing over and over and over and over again and HOPING itll all play nice. 

Pretty much every game project ever that started from scratch, by the end of the project, they have made themselves a Game Engine that powers it. 
Even something like Super Meat Boy, thats a custom engine programmed by Tommy.  

There's really no two ways about it, to make a game, your gonna want an "engine" whether you choose on Off-The-Shelf style, or craft one from the ground up. 

Even PONG kind of runs off of an engine haha

 

 

 

Could I make a game without premade game engine or engine in general and just code everything? or would making a game from scratch actually mean, making the engine to go along with it? 

 

Pretty much exactly what I just answered above

 

My idea of game engine is just a tool of common materials used in games to put into your game and not the basic life or core of the game, where, if you didnt have it, the game could not play or look 3D, Thats the job of the compiler correct?

 

 

The compiler is responsible for transforming your code into an executable for your OS to run. And thats it. The Rendering Engine component is responsible for sending instructions through a DX/OGL/Software instruction API, that sends the information to your display card (video card, whatever), and in turn you NVidia powerhouse then takes over to display what it was told onto your screen. Your GamePlay component is completely separate from everything, and its responsibility is to run through a single big loop that

  1. Checks out the previous state
  2. listens for input from user
  3. makes updates based on logic and input
  4. modifies the frame contents
  5. sends the frame contents to your rendering engine

You can craft your gameplay to be whatever you want it to be. The difference in presentation between an RTS and a First Person Shooter is a matter of where the main camera is positioned and pointed. 

Again, a Game Engine is a collection of tools and Components. Your Gameplay Component is going to send information to ALL of those components for them to do their job (play sound, find next footstep position, change scene, whatever you want)

 

Could I use a pre made game engine and still get the results I want?? or should I make everything from scratch? (given that I need to make an engine in order to have my game work)

 

Being as this is your very first rodeo, it probably wouldn't be wise to just go "craft a game engine". At the point of creating this thread you werent even totally sure what a Game Engine was, how do you expect yourself to build one? Go grab a few and dissect them. There are a lot of free game engines to grab, and a lot of them are open source now for you to poke around in. Break them apart, work with them a bit, see how they tick. Find what you like, and figure out how you would implement that into your own engine (and possibly improve upon it). 


Edited by DJDarkViper, 15 January 2014 - 04:33 PM.

Signed: Redacted


#16 richardurich   Members   -  Reputation: 1187

Like
1Likes
Like

Posted 16 January 2014 - 12:20 AM

 


Some game engines allow you to create a game without writing a single line of code. So they can take over the entire job of a compiler. Others are more limited.
 

 

Not to be buggy or annoying here but what is the name of such a 3D game engine?

I was actually conveying what the concept of a game engine is, not specifically talking about 3D game engines. The OP seemed confused about the actual definition.

 

But Blender is indeed a 3D game engine with no coding required. It uses event-driven logic bricks (extendable via scripting). The logic bricks aren't all that different from non-programming interfaces provided in 2D engines, so I'm not sure why we haven't seen more 3D game engines providing similar interfaces.



#17 nekoluffy   Members   -  Reputation: 131

Like
0Likes
Like

Posted 18 January 2014 - 10:53 PM

What is a game engine rreally?
premade library of tools at your disposal? 

 

A game engine is a collection of tools and hooks. A complete "Game Engine" consists of any number of systems, some are required, others are optional. It entirely depends on the needs of the project. Some dont need physics, some dont need 3D, for example. 

 

Game Engine Components are:

  • Rendering Engine
  • Asset Loader & Entity Manager
    (Assets like, Models, Textures, Materials, etc)
  • Scene Manager / "Map/Level" Loader
  • Entity Animation Manager
  • Artificial Intelligence & Pathfinding
  • Particle Engine
  • Physics Simulation Engine
  • Audio Engine
  • Input Manager
  • GUI System
  • Scripting Engine
  • Garbage Collector (if one isn't present)
  • Network Component (aka NetCode)

And tools would be created to work with the engine:

  • Scene/Map/Level Editor
  • Model Viewer
  • Script IDE
  • Build Pipelines
  • Sound Shader compiler
  • Material compiler
  • Model compiler / Asset exporters

 

As you can see, a "Game Engine" is a large series of components. This is why you have entire army's of people swarming around one as a tech house, like Rockstar San Diego and the RAGE Engine, or one man armies like John Carmack with Id Tech and Tim Sweeny with Unreal Engine. (note: these people have a bunch of programmers underneath them, but they are chief architect and bare an unorthodox amount of work of the engine onto themselves)

 

does it restrict my customization ability and animation ability?
- for example, I want to make a new fighting system, with its own unique animations, as well as custom characters and custom environment, basically the entire game is custom, the environment, the characters, the movement, textures.
 

 

Would this be possible with a pre made game engine? 

 

 

Is a word, yes. In short? yeah, and It's a great deal of work.

In long? It depends on the engine! Some use scripting languages that interface with the engines API that lets you get right down and dirty into the guts of the system, doing basically anything you want with it without the need to even touch the underlying code. Engines like UDK do this with UnrealScript. Specifically with UDK there is extremely little reason to go into the code, because the scripting has unparalleled power. 

Others require you modify the code base to do anything useful with it. 

 

The new fighting "system" would require usurping the existing character controllers, as well as modifying their animation bank, and letting the engine know of the new states ("I am punching now! Use animation "punch1" when I do this! Check for collisions with Entities with my fist. Do something if so. Now I am not punching, go back to "fists raised idle")

 

The rest is all asset creation and has no baring on the code at all. Except implementing each new one, you might need to update something somewhere for that to register, make the engine "aware" of it.

Is a game engine needed? if the premade one doesnt help? Do I need one to make a game from scratch in general? 
is it called a game engine? because it helps render all the environment and characters during gameplay and tell the objects and characters what to do or is that part of programming the game and not the engine?? 

 

Yeah, (im generalizing here but) thats all game programming. A Game Engine is typically created during development if one hasnt been chosen. You will still NEED most (if not all) of the components listed above. Otherwise your going to be developing for 10 years rewriting all the same code for the same thing over and over and over and over again and HOPING itll all play nice. 

Pretty much every game project ever that started from scratch, by the end of the project, they have made themselves a Game Engine that powers it. 
Even something like Super Meat Boy, thats a custom engine programmed by Tommy.  

There's really no two ways about it, to make a game, your gonna want an "engine" whether you choose on Off-The-Shelf style, or craft one from the ground up. 

Even PONG kind of runs off of an engine haha

 

 

 

Could I make a game without premade game engine or engine in general and just code everything? or would making a game from scratch actually mean, making the engine to go along with it? 

 

Pretty much exactly what I just answered above

 

My idea of game engine is just a tool of common materials used in games to put into your game and not the basic life or core of the game, where, if you didnt have it, the game could not play or look 3D, Thats the job of the compiler correct?

 

 

The compiler is responsible for transforming your code into an executable for your OS to run. And thats it. The Rendering Engine component is responsible for sending instructions through a DX/OGL/Software instruction API, that sends the information to your display card (video card, whatever), and in turn you NVidia powerhouse then takes over to display what it was told onto your screen. Your GamePlay component is completely separate from everything, and its responsibility is to run through a single big loop that

  1. Checks out the previous state
  2. listens for input from user
  3. makes updates based on logic and input
  4. modifies the frame contents
  5. sends the frame contents to your rendering engine

You can craft your gameplay to be whatever you want it to be. The difference in presentation between an RTS and a First Person Shooter is a matter of where the main camera is positioned and pointed. 

Again, a Game Engine is a collection of tools and Components. Your Gameplay Component is going to send information to ALL of those components for them to do their job (play sound, find next footstep position, change scene, whatever you want)

 

Could I use a pre made game engine and still get the results I want?? or should I make everything from scratch? (given that I need to make an engine in order to have my game work)

 

Being as this is your very first rodeo, it probably wouldn't be wise to just go "craft a game engine". At the point of creating this thread you werent even totally sure what a Game Engine was, how do you expect yourself to build one? Go grab a few and dissect them. There are a lot of free game engines to grab, and a lot of them are open source now for you to poke around in. Break them apart, work with them a bit, see how they tick. Find what you like, and figure out how you would implement that into your own engine (and possibly improve upon it). 

this is what I was looking for thank you






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS