• 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
meeshoo

Designing a game engine...

30 posts in this topic

I respect your opinion, as from what I discovered myself, there isn't really a definition or a clear concept for a game engine, so the features advertised by a 3rd party engine can match more or less the required list of features of a project.

Anyway, let's please stay on the topic, as it is clear to me that I want to learn how to program a lot of things by developing a game engine and a game, and not just the game itself, especially the hardest part, that is, the rendering/scene management part.

Now I'm studying terrain rendering methods, and I'm almost sold to geo clipmaps, but the problem is that I found out Carmack's megatextures are inspired by clipmaps, but are not really clipmaps, but are better, and I cannot find any resource related to how they do it (if it even exists, or it might be a company secret). Do you know any whitepaper about that?
0

Share this post


Link to post
Share on other sites
I've been working on my own engine for the past year and I'll admit it is a complex task for one person to handle. In saying that though I have learnt a lot - not only about engine and graphics programming but a lot of general programming principles.

I think your best option if you want to complete something is define goals or a feature list and stick with it and once they are done you can add extras. I would probably start with working out the core components that make up an engine and put some thought into how they will link together.

The biggest task I've found so far is the Renderer and it's one of the most crucial, so I advise doing a lot of research and browsing this forum for information on how others have gone about their systems. Abstracting the Renderer isn't overly difficult, you just need to work out what resources (VB/IB/Shaders/Textures/Vertex Decl/etc) need abstracting and how your renderer interface will operate. Theres an article on gamedev about making an API independent renderer interface - it'll help you a bit I think.

As for libraries try find open source or free ones that will help save you time. For example, I don't plan on writing my own network or physics engine I will use an external library.
0

Share this post


Link to post
Share on other sites
Hey, thanks for your reply. I will search for the article you mentioned, sounds very helpful.

Since my last posts here I've been researching a lot about what algorithms, techniques, 3rd party libraries and such I could incorporate in my engine and it's going pretty well so far. I have written a lot of interfaces, making sure the engine is modular and portable, but I have not implemented those interfaces yet (just what I needed to clear the screen with a color and have some keyboard and mouse input), and most of them are not even complete.

After some research on terrain rendering techniques and such, I've switched focus a bit to the content pipeline, as I want to nail down a general content flow from the software an artist would use to my game.

I also find very useful to keep a blog (or a diary or whatever) about my progress where people can read what I do, it's very good for motivation as it helps you somehow keep track of your work (for example even if for one week you did almost nothing as you are working on a very hard task, you can still look at your diary entries and say: "wow, look how much I've realized so far" :) ).

0

Share this post


Link to post
Share on other sites
[quote name='rip-off' timestamp='1283848616' post='4702391']
[url="http://scientificninja.com/blog/write-games-not-engines"]Read this[/url].

Writing a game and extracting the engine is the only way to make something useful - if you lack experience.

It doesn't need to be a fully fledged game with great assets and interesting mechanics, but it must fully exercise the engine. If you design a tech demo that doesn't reflect real use then don't be surprised if the engine turns out to be poorly designed in the areas the tech demo didn't cover.

The fallacy of such an approach is frequently evident by many "engines" with pretty tech demos that never seem to grow into games.

You know yourself that you need experience to guide design. The designs you made at work would not have been possible had you done smaller scale design beforehand. Design is an iterative process (both during one project and between different projects), you cannot immediately jump to the deep end when you lack experience in a given domain.

Writing the game will give you this experience.
[/quote]
I had to say that I read your article in it's entirety and think it was very well written and I love the whole "well, duh" attitude behind writing it. I already know someone I NEED to send this to!


0

Share this post


Link to post
Share on other sites
[quote name='meeshoo' timestamp='1283846254' post='581714']
In the past couple of weeks I started the (huge) task of designing a game engine from the ground up. I have read a couple of books that were good and I learned something from each one, but still the task proves very difficult. I am trying to use UML to design it, but it is so big that it looks impossible to get almost everything down at design stage.
[/quote]

Just in case you havent looked at , I`d suggest looking at Jason Gregory`s game engine architecture


[quote]

Do you have any advice as how I should approach designing such a big piece of software? I did software designs before for various projects at work, but none was so complex as this one. Also, it is quite hard to identify use cases, giving this is not an end user application, and I never designed a middleware before, so any input will be appreciated.

[/quote]


That depends on what you want to get at the end , I will not say do a game not an engine

but I must say , it is better to desisng your engine/middleware by considering the outputs you target

That might save you time in future by avoiding unnnessary refactoring
0

Share this post


Link to post
Share on other sites
Most game engines come from the result of making a game. What can you see your engine making ? 2D or 3D ? Create just a small game that looks a bit like you want your engine to produce and then try using the tools you created to make that game to make another. If it works then you have yourself a game engine.
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