Use a existing game engine? or create it?

Started by
10 comments, last by Nicholas Kong 10 years, 8 months ago

I'm begginer at game programming. What will be better, that i'll make my own game engine, or use an existing game engine? I want to use my owns sprites and music. And my own sprites animations too. i want to create a RPG / Roleplay game in 2D (like Pokemon for example but with pixel art looks). My game has to have a GUI with buttons and all that stuff and a map with difrerents location and turn-based battles.

There are some tutorials or something about creating your game engine?

Other question : RPG maker is a game engine?

Thank you very much. smile.png

Advertisement

If you want to learn car driving, are you starting to construct your own car first ? Creating a game engine is an interesting and challenging task, but if you really want to create a game, you should start with an existing engine.


Other question : RPG maker is a game engine?

Yes, kind of. It sounds like a very good start for a 2d rpg !

I've seen Game Maker too and i liked. Can i make serious game with that kind of tools (Game Maker, RPG Maker, Unity...)?

I don't want an "automatic" tool type. I have good programming skills with Java (OO programming) and I like to write code. What languaje Game Maker uses?

I'm not sure if RPG maker isn't such automatic tool. UDK and Unity are used for proffesional game making, both free noncomercial, unity is free also till you earn 100.000 in one year.

I've seen Game Maker too and i liked. Can i make serious game with that kind of tools (Game Maker, RPG Maker, Unity...)?

I don't want an "automatic" tool type. I have good programming skills with Java (OO programming) and I like to write code. What languaje Game Maker uses?

When developing a game you have normally three programming categories:

- engine development

- tool development

- content/gamelogic development

Engines are often developed in more traditional languages like C/C++ or even java. Tools are often developed in languages which best suites the task and content is often developed in a scripting language (depends on engine support).

What way to go depends on what goals you are chasing.

1. I want to code a game and sell it:

The effort to develop a game from ground up is absurdly high. Therefor you should use as many tools/engines as possible to decrease the workload. The workload is not immediatly visible at the start, but it will increase exponentially over time.

2. I want to learn making a game:

Still use an existing engine and make a prototype with some placeholder art. If you are not really experienced in (game) development (I would recommend a few years), then you will refactor/throw away a lot of code. It is faster to learn by developing a quick game prototype first, then by maintaining a fragile code base over years.

3. I just want to code, best something to do with games:

In this case write a demo of some topic you are most interested in or a small useful tool (artists are really thankful about free, useful tools). This could be a render demo or a zombie simulation. Take care, that it have a small scope to ensure to finish it in time.


I've seen Game Maker too and i liked. Can i make serious game with that kind of tools (Game Maker, RPG Maker, Unity...)?

You can make "serious" games with any type of tool. A couple of commercially available games made with Game Maker include "Legend of Fae" and "Serious Sam: The Random Encounter", amongst many others. RPG Maker was used to create the award winning "To The Moon" amongst others, and Unity has been used to make numerous great games including Rovio's "Bad Piggies". Note that none of these are exhaustive lists of all produced titles.

Game Maker provides an editor where you can actually create simple games without coding using a drag and drop editor and setting options, and provides it's own scripting language called GML (Game Maker Language) to allow for more advanced scripting.

If in doubt, try the free demo version before committing by purchasing a licence -- that's exactly why a demo is provided!

If you're more interested in learning to program and just want to use games as a path towards that you might be better off looking for other options, but if your focus is producing the best quality games you are able to make without wasting unnecessary time and effort then by all means take advantage of any of the above tools or engines that suit your needs. Lower level programming is a fantastic and rewarding hobby and potential occupation, but it can also be a fantastic waste of time and effort if all you really want to do is make some great games. You need to decide your own priorities and choose how to proceed based on that.

Hope that helps! smile.png

- Jason Astle-Adams


i want to create a RPG / Roleplay game in 2D (like Pokemon for example but with pixel art looks).


What will be better, that i'll make my own game engine, or use an existing game engine?

you want to make a game, not an engine, right? so obviously use an engine if you can find a suitable one. if you can't find a suitable one, you'll need to provide the required functionality by some other means such as libraries or rolling your own code.

odds are someone here on gamedev can point you to the type of engine you need, if it exists.

i personally don't use engines. just d3d9.lib, d3dx9.lib, some of the standard C libraries, and in-house libraries with things like mesh, texture, model, and animation databases, animation engine, timers, low level drawing routines, d3d init and shutdown, window creation, etc.


There are some tutorials or something about creating your game engine?

a number of game programming books and big tutorials build an engine of some sort. others just focus on specific bits and pieces of some particular type of engine.

the source code for a number of game engines is also available for learning by inspection.

note that there can be about as many types of engines as there are types of games. after all, that's what an engine is, its a game of a particular type, with the content stripped out, where the intent is for the user (the gamedev) to provide the content to make some game of that same basic type.

the problem with engines is you seldom find one that does exactly everything you need, once your needs start becoming sophisticated. This is why many engines are extensible via scripting or other means. so you can add unique functionality required. even if you can't find one that does everything, you can sometimes / often find one that's close to what you need, and that you can MOD to get the rest.

the other problem with using engines is when you use the wrong type of engine. either you didn't know better, or its was all you could find. either way, its not really designed to make the type of game you're trying to make, and can lead to more hassle than its worth.

the final difficulty with engines is that the're not available for all game types due to lack of demand. only the most popular types of games have engines available. IE game types such as fps, side scroller, rpg, etc. if you're making something different, an engine may not exist and you'll have to "roll you own".

note that in "rolling your own", you still don't need to build an entire engine, just provide the functionality you need. this can often be done by cobbling together various libraries, such as 2d graphics, GUI components, audio, etc. add some example code for keyboard and mouse input, and you're well on your way to having all the low level stuff you'd use in an engine. this can be more efficient in the long run, as you can re-use 2d, audio, GUIs parts, etc to make any type of 2d game, whereas a side scroller engine for example could only really be used to make side scroller type games.

i think somewhere here on gamedev there's a list of most of the game engines out there, or it may be on wikipedia....

that would be the place to start shopping.

note that you'll want to assemble a complete suite of tools: engine, compiler, paint program, etc that all work together and you can convert file formats between if needed. IE make sure the paint program supports a file format the engine can use, or that you can convert to a format the engine can use. that kind of idea.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

_

Thanks to all! You've helped me so much. Definitely i want to make games, but sure i'll enjoy developing MODS for my engine.

Thanks a lot for your time! biggrin.png I'll post the results of my efforts here so you'll can see my progress!


i think somewhere here on gamedev there's a list of most of the game engines out there, or it may be on wikipedia

You might be thinking of DevMaster's "DevDB". smile.png

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement