• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Leow Jun Jie Donald

How to make a Game Engine For Super Beginners?

27 posts in this topic


You can spend all your time working on the engine, or you can spend your time working on all (or even some) of that other stuff.
Try to do everything and you'll end up accomplishing nothing.

 

Absolutely! Take it from me! 

2

Share this post


Link to post
Share on other sites

To be honest if you are a beginner and you want to create a game without using a third party engine then the steps to writing your engine is this.

  • Dont't write an engine. Just start writing your game and finish it.
  • Now you want to write another game.
  • Hmm I can reuse bits of my previous game to write my new game
  • GOTO 1.
Pong to pacman?
If you want to write an engine (i.e. not from the scratchy scratch), write a game using the needed libraries instead of an engine. By the time you're done, you would have made the different libraries work together well (i.e. if you did it well).
Voila, that's your engine (which would be as good as the work you put into making the game).
You would need to learn how to use those libraries though.
2

Share this post


Link to post
Share on other sites

Unless you really want to spent a lifetime creating a efficient engine You should just pick one of the dozens of amazing engines out there. Creating an engine requires you to already be a expert game developer. And if you where an excellent game developer you would not have posted this question here. So take my advice and just pick an engine to create your 2d rpg.

Well, I did mention I am still a student...and yeah that's what I wanted to do initially...but yeah I got curious about making a game engine...that's why I posted the question. 

2

Share this post


Link to post
Share on other sites


You can spend all your time working on the engine, or you can spend your time working on all (or even some) of that other stuff.
Try to do everything and you'll end up accomplishing nothing.

I will take note of that. Thanks.

2

Share this post


Link to post
Share on other sites

To be honest if you are a beginner and you want to create a game without using a third party engine then the steps to writing your engine is this.

  1. Dont't write an engine.  Just start writing your game  and finish it.
  2. Now you want to write another game.
  3. Hmm I can reuse bits of my previous game to write my new game
  4. GOTO 1.

Follow these steps a few times and you will soon discover that you have a library of code that you know perfectly and can adapt to suit your needs and your coding style.  This is your engine.

 

There is the alternative way which is to try writing perfect systems upfront but you will never finish because you will read an article that differs with the way your engine works and then keep restarting and could spend the next 20 years trying to write the perfect engine.  Don't forget ALL successful games engines from simple ones like cocs2d to Crytek are permenantly under development.

Hmm I see what you're trying to say. Thanks!

2

Share this post


Link to post
Share on other sites

Can someone explain to me what all the fuss about 'engine' is, and why there is so much magic and mysticism around it?  In my world, an engine is what you naturally create while you are making a game, not necessarily a ready made 'system' made by some other company/person.

 

Not an uncommon game loop (details may of course vary):

    while (!quit)
    {
        //Manage inputs from the user (joystick, keyboard, mouse, etc...)
        //Do some calculations
        //Draw your scene/graphics based on the previous steps
    }

To me, this is an engine.  It arises naturally from the process of creating a game.  Yes, it looks simplistic, but might not necessarily be.  Please explain if I am wrong?

 

While OpenGL or Direct3D might be hard to learn initially, it is an important process in learning to make games, and if you can make one textured quad output to the screen, it is not hard to expand to that so you can make your own class to plot a lot of tiles to the screen either.  If you want to postpone on that, you can of course use one ready made APIs to render 2D graphics, or if you are more adventurous, try to make some simple 3D graphics.  How about running around in a maze?  That would be a nice challenge if you are going for 3D.  My point is that you have to start somewhere, and it is just to dive into it.  Make something really bad, and refactor and make better as you go.  Start with something that is so easy that you think you can manage to do it.  (I wouldn't really recommend 3D, if you are an absolute beginner, though.)

 

Sorry if I am way off with my thoughts.

 

EDIT: I also disagree that you need to be an expert to make an engine.  When you are learning, you are allowed to fail.  Actually, failure is what you will learn from.  Your first 'engine' need not be perfect in any way - just work.  Knowledge is what you gain by doing.

 

That is just a while loop with some comments in it. An engine is what you create to make everything work together. You could make an engine and not have a game but having an engine will simplify making a game. Hence we advice you to rather choose a existing engine (like Unity or UDK) or library (Like XNA or SFML). With all these tools out there you do not need to know the inner workings of OpenGL or DirectX, you do not need to know how to ask a graphics card to draw a quad. There will be ready made classes for you. To draw a quad in Unity you just drag one into the scene with the mouse and voila. With XNA you just have to setup the indices/vertices and throw it in your draw class. So why botter creating the inner workings, unless of course you are really interested in that part and do not want to make games.

 

Most bakers do not know how to grind wheat into flower but they can make amazing things with flour.

2

Share this post


Link to post
Share on other sites


Most bakers do not know how to grind wheat into flower but they can make amazing things with flour.

 

Great point. The analogy of cooking always helps me to place ideas. Most people buy packs of bread from the store when they need bread. Some people make it from scratch when making specialized breads, but if you don't need a special bread that can only be had by making it from scratch, there is no need to. 

 

I think I personally get overwhelmed by the idea of making an engine because I don't know all of the key ingredients needed to do so. And I really haven't looked into making an engine, because I have an engine that can get me started in making the game I want to make, and I don't need any specialization. 

 

But I understand when he says that you naturally make an engine when making a game, or at least you are perhaps using some skills that it takes to make an engine. 

 

You stir when making a recipe, and you can use that skill to stir when making bread. So stirring is a useful skill in both ventures. (I made bread from scratch once, it sucked, but I will make it better next time, and the experience let me know that I can do it.)

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0