07-17-2011, 12:04 PM | #1 |
Making a Game Engine
Say one wanted to make a game engine, like a doom game engine, the whole game being no larger than 13 megabytes.
How long would that take? Just one person writing it. Also how much effort would it take? On a scale of 1 to 10. Is it similar to writing a book? Because with book writing some authors take several years, but everyone knows you can write a long ass (pretty good) book in about a month or two. Or will writing a game engine basically just take 2 or 3 years? I really would like to get started on this soon, I only have a very rudimentary knowledge of C++, having learned it only for a few weeks, but I know a bit of Perl and Python and have noticed that they are sort of similar. Besides writing C++ code what else would I have to do? (something about directx, opengl, sdl) Is it possible to write the whole thing purely in C++? Keep in mind I'm not computer savvy, so simple answers would help. tyvm |
|
07-17-2011, 02:31 PM | #2 | |
Re: Making a Game Engine
Quote:
If you want to have an even somewhat manageable solo project (still expect to work on your game for 1+ years) you should design a game based on a free/open source engine. http://en.wikipedia.org/wiki/List_of_game_engines
__________________
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." -Albert Einstein
Last edited by Inanimate Carbon Rod; 07-17-2011 at 02:35 PM.
|
||
07-17-2011, 03:05 PM | #3 |
Re: Making a Game Engine
ignore him. You should be able to do it in a few weeks. I'd say go for it.
__________________
big badass nasty weapons here.... |
|
07-18-2011, 04:15 PM | #4 |
Re: Making a Game Engine
Is kind of like asking for Cliff Notes to flying a fighter jet in my opinion.
Think of it like this maybe... Ken Silverman who wrote Duke Nukem 3D's "Build" engine spent 3 grueling years doing it and he had already written/developed an entire 3D game before. (Kens Labyrinth) It would be best to look at the source code for Kens Labyrinth, Wolfenstein 3D, and DooM ("simple" stuff) and see what you are up against. I was given some code for a 3D Engine once between Wolf and DooM basically and I was amazed at its complexity... because it was so "simple" When I look at the code from these programs I always wonder how much it evolved. I can imagine a dozen ways programs can do tasks, but I have to admit, I doubt most people could have come up with engines that work as efficient as these. That is part of why there are not that many engines out there. I think you should try it just to learn something though. MrBlackCat
__________________
YES! I do wear my Duke Xtreme t-shirt every day!* :) *(Not really, sometimes I wear my Time to Kill t-shirt... like while I am washing my other Duke shirts for instance.) :) |
|
07-18-2011, 04:30 PM | #5 |
Re: Making a Game Engine
As a school project this year I wrote a (very, very) amateuristic, rudimentary and crappy "engine" for a little 2D game. While it worked, the structure was not modular at all and just sloppy and... well, crappy. But, it did teach me a few things about how one could possibly structure a game, things to avoid and some basic things about DirectX rendering.
Long story short: if you really want to get how to write things like this you first need better knowledge of the language you're gonna work in (I wrote that thing I mentioned in C#) and once you're confident enough I'd say start off with a more simple 2D project (1 extra dimension might not seem like much but it complicates matters quite a bit). Even for a 2D game... you do need at least some knowledge of how to work with data more efficiently. If you're not computer savvy or indeed savvy of the language at all I'd say you need to study that for some more time first. What ICR mentioned could help you what actual game DESIGN is concerned but as far as I understand learning how to design a game is not quite your objective. edit: also keep in mind there are things like XNA for C# which supposedly help in creating games. I haven't worked with it yet but I'm fairly certain that even with XNA you need to have a clue on what you're doing.
__________________
traB pu kcip
Last edited by Sang; 07-18-2011 at 04:34 PM.
|
|
07-19-2011, 04:26 PM | #6 |
Re: Making a Game Engine
Aight I've decided to use a free open source engine to do the game instead.
I'm just wondering which one to use, I need one that does programming in C++. Or was written in C++. I'd also prefer the engine to also be able to do sound and input. I just can't seem to be able to find one that fulfills those requirements. The annoying part is that there's Allegro, but Allegro is written in C, I don't want to learn C. Then there's Blender and Panda3D, those use Python and crap, I know a bit of Python and Perl having originally learned those before C++ but I really don't want to revisit other languages. So if anyone has any ideas, many thanks! |
|
07-19-2011, 11:22 PM | #7 |
Re: Making a Game Engine
C is the same as C++ with the fancy features removed.
__________________
big badass nasty weapons here.... |
|
07-21-2011, 04:00 AM | #8 |
Re: Making a Game Engine
C99 may be a tighter standard than C++0x, but there are way too many cooks on the latter project. They're going to turn C++ into Java without runtime optimisation and without platform independance, if they're not careful.
Also, writing a Wolfenstein-style engine in OpenGL/OpenAL isn't more than a week's work if you're lazy and don't know what you're doing.
__________________
(define love (lambda () (map conquer all))) |
|
07-21-2011, 04:46 PM | #9 | |
Re: Making a Game Engine
Quote:
Anyways I'm lazy and don't know what I'm doing. OpenAl is part of allegro right? Thanks everyone for your input. |
||
07-23-2011, 10:36 AM | #10 |
Re: Making a Game Engine
By "don't know what you're doing", you probably mean "have never coded something like an engine before" and not "have no knowledge of the language you're gonna use whatsoever", right?
__________________
traB pu kcip |
|
07-23-2011, 10:54 AM | #11 |
Re: Making a Game Engine
hahaha close close
no i do know a little c++ (before that I did a little of perl and python) but you're right I've never coded something like an engine before |
|
07-24-2011, 04:53 PM | #12 |
Re: Making a Game Engine
Even before you learn your way through game engine development in C++ right away, I would learn XNA and C# first, this is a good way to get your feet wet and learn simple game engines right away, then once you've mastered C# and made a few engines within XNA, then you can move towards C++ and learn how to put together an engine totally from scratch on the system level.
__________________
PC Specs (a.k.a. "Galacticus Prime"): http://pcpartpicker.com/p/7Vk7FT |
|
07-25-2011, 12:10 AM | #13 |
Re: Making a Game Engine
XNA is a baby toy. Yes, you can make stuff with it, but from what I've seen XNA completely dictates how you should lay out your code and just holds your hand everywhere. I don't believe that is the right way to learn things. Of course maybe XNA is totally advanced and I've yet to find that out in which case nvm this.
Personally I'd use a framework for C++ to make things a tad easier.. But XNA, not sure if want.
__________________
traB pu kcip |
|
08-07-2011, 11:40 AM | #14 |
Re: Making a Game Engine
Tell you what... I've been reading up on the Doom 3 engine eventually being released. I'd look over that code once it's released, and see how Carmack put that baby together. That might give you an inside look over how an engine from the past decade has been put into code.
__________________
PC Specs (a.k.a. "Galacticus Prime"): http://pcpartpicker.com/p/7Vk7FT |
|
Bookmarks |
|
|