Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Engine or no engine?

Author
Message
old_School
16
Years of Service
User Offline
Joined: 29th Aug 2009
Location:
Posted: 7th Jul 2011 09:50
just wondering others thoughts on this subject. I hear alot of talk about engines being the"lazy mans" way to do things. I pesonaly found engines to be helpful at first when I was in the learning curve but as Ive progressed, I find engines to be limited. I don't think their is anything directly wrong with a good engine but some engines out there our crap and don't allow you to learn/expand your skills beyond the engine.

After switching to just pure coding, I personaly feel much more free and less tied down to limitations. If i need a function, I can just create one or build it. At some point I'm sure I'll need to build a engine for some of my bigger projects but for now I like pure codeing. Whats everyone elses thoughts on the subject? Code it or use a engine?
Fallout
23
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 7th Jul 2011 11:56
'Engine' is a very broad term. You need to define it more. For example, I might describe DBP as an engine, since it's essentially a toolset based around DirectX, but it's certainly not limiting. Which engines are you talking about in particular?

Van B
Moderator
23
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 7th Jul 2011 12:40
In my experience, you either write a game, or you write an engine. All the indi developers who think that they need to make an engine, tend not to get too far, because an engine should be very capable, otherwise there's no point.

You could say that DBPro is an engine, and you could say that every game is an engine - its all just obfuscation most of the time. Usually, by the time an indi developer is done with a game, they don't want to go back and make another similar game, especially for younger developers or those still learning. Some proper game engines should really be refered to as development environments. Like Unreal - that's more than an engine, it's a whole environment with visual editors, a language, everything you need is there. Some engines should be referred to as libraries, like SDL.

I would say that if your programming in a standardised language, like C++, and add libraries for sound and graphics, then your making your own engine, even if it's just for 1 game.
If your using something like SDL, then that should be considered a library as well, so your still making your own engine.
But, if you use a script language, like with Unreal, then your using an engine.
As far as DBPro goes, I wouldn't say people are writing game engines in it, not because it can't, but because people just don't. I've never seen someone use the same 'engine' for more than one game. The exception would be the game creation software, like FPSC.

Health, Ammo, and bacon and eggs!
Red Eye
17
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 7th Jul 2011 15:28
Agreed with Van B. But on the way creating your game, you create your own little environment, you ran into small obstacles were you need to create your own simple editor, even if it would only be a .txt file containing a 'X' for closed spot, and a 'O' for open spot.

I do really encourage people to make their own editor, if learning is what you want to do. If you develop a WYSIWYG editor, the engine itself would be:

EDITOR - EDITOR_UI + GAME_UI = ENGINE


..altough would you like to make one game, I would go for the method Van B 'described'.

TechLord
23
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 7th Jul 2011 16:11 Edited at: 7th Jul 2011 16:17

Super 3D Game Platform Architecture (Click for Full View) or Visit the Thread


Here's the Open Source Game Development Platform I'm developing that consists of a Engine, Editor Suite, and Game (An MMO Sandbox to add Game Content). Its nothing lazy about making Games, Editors, or Engines. Its a massive amount of work I tell you and you'll end up making all 3 of these when its all said and done.

Quik
18
Years of Service
User Offline
Joined: 3rd Jul 2008
Location: Equestria!
Posted: 7th Jul 2011 16:54
http://www.youtube.com/watch?v=P2iB5Kd0tms&feature=feedu

these guys have a custom build engine
just, you know.. a heads up xD

and for the record, I am a man.

Benjamin
23
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 7th Jul 2011 17:07
At the heart of it all, most games have an 'engine' of some form even if it's not explicitly developed separately from the game itself. Without any kind of abstraction you'll be having to hard-code everything, which is never a good idea.

Whether or not it's worth writing any kind of engine depends on what you want to do, and what's already out there that can achieve what you want already.



Support a charitable indie game project!
_Pauli_
AGK Developer
16
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 7th Jul 2011 17:27 Edited at: 7th Jul 2011 17:28
My opinion is this:
Don't write engines, create games instead. If you really want to save workload (which is the idea of an engine in most cases, because you think like "create the engine once, then build multiple games from this base"), go and create yourself a codebase, where you put all your useful functions, classes, tools while you're writing a game.
At least that's the way I do it.
When I started with game development I always though like "I need to create an awesome engine in order to make decent games". It could have saved me lots of time if I had started making games right from the start (though I gained experience).

old_School
16
Years of Service
User Offline
Joined: 29th Aug 2009
Location:
Posted: 7th Jul 2011 19:51
My business partner told me something I dont think I'll ever forget. He said "you can go out and buy a pre-made engine and spend years mastering it or you can spend a few months making your own and allready be a master when its done". BTW _Pauli_ totaly love your post man. Thats me all over again. Ive spent over 10k at lest in buying different engines and the expansions to go with them. I own every expansion that is out there main stream for indie devs.

What Ive learned from engines is this, its best to not use them or at lest depend on them. Well the premade engines i mean. I do not consider DB Pro a engine my self. I think of it as a index or seperate type of lang. with some toolboxes attached. On the flipside, I consider FPSC a engine. Like Van said though the other tools our like a lib. or index.

At this stage, I can honestly say its better for me to build up a data base of code vs. using a premade engine. At some point i will need to make my self a engine for a RPG i want to make for a big kids game but right now I need to build up a data base of code. On the flip side, Ive also learned everyone is different. I don't think one person can say engines our the best way period. i think everyone's needs and learning ability will differ. For some a engine would be best and others a good data base of code works best. I think it really boils down to you. You need to take a look at your self/progress after about a year of working hard learning then say am I successful? If you can answer this question honestly, you will then be able to determine the path you need to take to learn more and better your skills.
flashing snall
20
Years of Service
User Offline
Joined: 8th Oct 2005
Location: Boston
Posted: 7th Jul 2011 22:13
I had the very same question awhile back, and I think it really depends on you. For me, an 'engine' is a set of tools I can use to knock out games with relative ease. I decided to write my own set of tools because
1. It would be fun
2. It would be a learning experience (I have learned a LOT)
3. It would be impressive if ever finished
4. I didn't want to use some one else's work. Prideful and stupid I know. I guess you could say Im re-inventing the wheel, but its more interesting this way.

Building a whole set of tools is a massive undertaking. I myself have only really tackled basic graphics and physics. The amount of systems you could want is very large.

My plan is to build a game and an 'engine' at the same time. Or rather, build up the set of tools in a very generic sense and use them as you build them in a game environment for testing and immediate results. When the game is done, it should be using all the tools you want in your toolset, and then you get to make your next game, and if you find youre missing a tool, you open up your class library and write it.

heyufool1
17
Years of Service
User Offline
Joined: 14th Feb 2009
Location: My quiet place
Posted: 7th Jul 2011 22:49 Edited at: 7th Jul 2011 22:59
I think for an indie developer like yourself what you should do is make some base classes (or your language's equivalent) to simplify the code. For example, in order to load a mesh with Ogre3D you would have to create a scene node, an entity, and do other miscellaneous checks and function calls. However, if you create a class to handle all that you could simply call one function to handle everything. For an indie developer I think that's as far as you should go with an engine. But, when you are programming a game you should try to modularize as many things as possible so you have the option to reuse your code easily in the future. For an indie developer you should use pure code and the engine should be built with the game. As you create a game you create more components required for games, and if they aren't game specific they can be added to your "engine".

I also think an editor is very useful if made specifically for a game. I would say that for an editor you should use a similar approach to the engine, create a base editor. Make it so it handles the required aspects of editors, loading, saving, importing models, moving objects around, etc. Then use this editor with your game projects but make it more specific to your project. For example in a RPG you would have items, so in the editor add an option to create an item. This approach will also add the ability to easily ship modding tools and expand your game much farther then it would if you used a global game engine.

As a summary, I would create a game and at the same time create an engine to simplify and increase modularity so future projects will be easier. The final result should, in my opinion, be something like:
-Modular base classes to handle all required components (collision, models, etc.)
-Modular base editor to handle all required editor components (loading, saving, moving, rotating, etc.)
-Game specific code (items in a RPG, movement, etc.)
-Game specific editor to edit game specific components (edit items, movement, pretty much everything added in the game specific code)

The editor is more optional than the base classes and code, but I recommend making one because it's a great learning experience, it's very useful, adds a modding option, and is fun! (for me at least) I hope you understand all of this! Good luck!

"So hold your head up high and know. It's not the end of the road"
Switch Game Engine
Ocho Geek
18
Years of Service
User Offline
Joined: 16th Aug 2007
Location: Manchester, UK
Posted: 8th Jul 2011 00:21
I haven't read the thread the way through, but in reply to the leading question

Well, It depends on your needs, your skills, and your required quality of final product.

If you have extremely specific needs, you might spend as much time modifying an existing engine as you would making your own, but If you want to make the next Big FPS phenomenon, then you'll probably want to use the now plentiful variety of free-to-use AAA engines about.

Then, your skills will determine your choice. If you can code whatever you want without problem, you'll no doubt be able to make your own custom built engine. If your like me, just been coding for a few months, you'd be better off using an existing engine, and focusing on the art assets

Finally, your desired quality matters. It may pain you to hear me say, but I've never been amazed by an engine looking around these forums. It comes down to this, Even if your gameplay is amazing, It doesn't justify making the graphics worse than you know they can be


Not Spanish, Not Eight, Just Ocho

MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 31st Jul 2011 23:08
Quote: "I didn't want to use some one else's work. Prideful and stupid I know. I guess you could say Im re-inventing the wheel, but its more interesting this way."


People always taunt me in a way because i pay for everything and where I can I create whatever I can.. I buy because i dont want to have to credit anybody and complicate things down the line... [who was this image from again? - who was I supposed to credit for this sound file? and so on]

Keep It Simple Stupid... {KISS}

so yeah, my opinion on the engine aka toolbox environment kind of thing... if thats exactly what you mean... unless you plan to specialise in a particular genre of gaming, say gex the gecko style platformer ot frogger style... then shoot for a toolbox style editor engine thing... else just build a library of functions and other components and play -attache- as per project...

This topic may become very interesting I feel.

Neuro Fuzzy
19
Years of Service
User Offline
Joined: 11th Jun 2007
Location:
Posted: 31st Jul 2011 23:57
Quote: "My business partner told me something I dont think I'll ever forget. He said "you can go out and buy a pre-made engine and spend years mastering it or you can spend a few months making your own and allready be a master when its done"."

I'd say the time limits are the other way around. Pre made engine <-> months mastering it. Your own engine <-> years making it.

(well... at least I'd say that's the gist. I'm just saying it takes longer to code an engine than to learn another one.)


Why does blue text appear every time you are near?
CoffeeGrunt
18
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 1st Aug 2011 00:00
Even an engine like Unreal Engine 3 gets ripped out by the company that license it and recoded. More often than not two games running on UE3 are barely alike in coding.

MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 1st Aug 2011 00:02
however, I rethink this... and think to myself... what if you spend 6 months to 3 years making an engine that allows you to simply piece together a complete functional game within a few weeks, you could be racking out a new game every month if not every 3 months... each with unique storylines and gameplay elements...

Juat a dream though >.<

ionstream
22
Years of Service
User Offline
Joined: 4th Jul 2004
Location: Overweb
Posted: 1st Aug 2011 00:06
Quote: "In my experience, you either write a game, or you write an engine."


This is my view. It is pretty hard to deal with a project that encompasses both making a game and an engine for that game, because making an engine is an entire project in itself. There are a lot of technical graphic things you need to learn if you want to make a decent 3D engine, and still a lot of design things if you want to make a 2D one. I'm not saying it's impossible, but it might not be worth your time if you're just trying to make a game or get a fun project out.

CoffeeGrunt
18
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 1st Aug 2011 00:09
Quote: "however, I rethink this... and think to myself... what if you spend 6 months to 3 years making an engine that allows you to simply piece together a complete functional game within a few weeks, you could be racking out a new game every month if not every 3 months... each with unique storylines and gameplay elements..."


True. But most companies optimise by removing unnecessary code. So it becomes streamlined and focused to the task rather than a jack of all trades.

DevilLiger
22
Years of Service
User Offline
Joined: 21st Nov 2003
Location: Fresno,CA,USA
Posted: 1st Aug 2011 00:13
i just play it simple that's why i use existing engines that are more simply but yet capable of 3d graphics that im looking for. Darkbasic pro is already good enough for me. As of now im trying out that NOX open source demo as im preparing a first FPS project im doing. the only difference is that im planning to have a first person camera with an optional 3rd person camera. i wanted to camera to change within a touch ofa button. i don't like building engines. i just want to build games.

i felt like why make another engine when there's already one out there that can suit you. there's already plenty of them like idtech series game engine, unity,torque, etc. if you like you can even use blitzmax or even darkbasic pro. no attentions made but i only chose darkbasic pro over blitz max was because it was more simple even when they claim with open gl they were more capable. when i saw the open gl coding in blitzmax i turned away as i don't like making games/engines for 5 years plus just to finish one.

my goal for a game has been no longer than two years. as i like building off of existing code. to me that's the best way to cut cost and time.

MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 1st Aug 2011 00:34
I hope were on about tools like 'The 3D Gamemaker'
http://www.thegamecreators.com/?m=view_product&id=2126

eitherway, just code baby, for me its DBPro all the way for the foreseeable future for at least 1-2+ years then I will still stick to DBPro logic with DarkGDK/C++ ... unless of course TGC has some secret under the hood and create a whole new DX10/11 erm DarkBasic ^^ anytime soon

DevilLiger
22
Years of Service
User Offline
Joined: 21st Nov 2003
Location: Fresno,CA,USA
Posted: 1st Aug 2011 12:41 Edited at: 1st Aug 2011 14:45
darkbasic pro is good the way it is. i say keep it longer and see how far can game creators and it's community can take them. when you look at it from the begginng till now there's is a big difference. we never had stuff like darkshaders, darkclouds, darkphysics, and other plugins. even that guy who did darkquake on darkbasic pro was extremely amazing.

here is the HD version of it on youtube.

http://www.youtube.com/watch?v=FgV44spxe_4

btw check out Irradic's "Oriental Fantasy"

http://www.youtube.com/watch?v=dqh3ef_urqU&NR=1

The Slayer
Forum Vice President
16
Years of Service
User Offline
Joined: 9th Nov 2009
Playing: (Hide and) Seek and Destroy on my guitar!
Posted: 1st Aug 2011 18:15
I'd say it all depends on many factors. Your goal, your talents as a programmer/artist, your budget, your free time, whether or not you work as an individual or in a team, etc...

What are your plans? Make a good, multipurpose engine, to sell that engine? Or, to build an engine that makes it easier (and faster) to create a game? Or, simply to make a game, and dont worry about creating an engine first?
Which features does that engine need to have? Can you implement (program) those features yourself? Do you have the free time to add all those features into your engine before the engine gets 'outdated'?
Also, if you work in a team (modellers, musicians, artists, etc...), and you, as a programmer needs to make the engine first, what will the other members do in the mean time? Will the interest remain for the other members while you spend a lot of time building the engine/level editor?
There are a lot of things to consider.

Premade engines give you the benefit that you can concentrate on the game, rather then the engine first.
Building your own gives you the advantage that you can tweak the engine as you wish (providing you have the programming skills to do so).

Cheers

Travis Gatlin
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Oxford, Alabama
Posted: 1st Aug 2011 22:18
For Me, I like using a visual engine, something, something like unity, It is designed to maximize workflow, less coding and more designing (i may like unity because my strong point is design) But Unity allows you to go low level and design the game like you want, add terrain, physics, particles, audio, Rag dolls, and more to the game without a single line of code and with it's simple Java scripting language, coding is really fast also. It's a great game engine and is what i am using to create my FPS.

>>>>>LOOK HERE<<<<<<<<<<<

just got your attention, didn't i?

Login to post a reply

Server time is: 2026-07-26 11:39:24
Your offset time is: 2026-07-26 11:39:24