Game developement

Cogman

Lifer
Sep 19, 2000
10,286
145
106
So, I am going to try and make a rendering engine that is capable of processing all the files from the old game Jedi Knight: Dark Forces II. I have never taken on a project that will be quite as big as this will, So I'm wondering what special considerations should I take?
 

MrChad

Lifer
Aug 22, 2001
13,507
3
81
It would be a lot easier to use an existing graphics engine and recreate the maps and textures than to try and reverse engineer the old engine.
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
True, very true. But then what would be learned? Im not going for an exact duplicate, just something that can read, render, and maybe even feel like the same game from the input files. For the most part, all the data used for the game was uncompressed and easy to figure out, so I'm not too scared there. (IE, the data was stored in plain-text files)
 

Lord Banshee

Golden Member
Sep 8, 2004
1,495
0
0
so you want to load a file and view a "single" model at a time and rotate and zoom i guess?

If this is the case i think it might be a very good start and even easier than using a ready made game engine.

But if you are talking about making a completely new game engine then i agree with MrChad said.

I have not done much 3D programming but personally i think OpenGL is nicer for begineering than DirectX.

DirectX
http://blogs.msdn.com/coding4f...2006/11/02/938703.aspx

OpenGL
http://www.videotutorialsrock.com/
http://nehe.gamedev.net/
http://cone3d.gamedev.net/cgi-...tutorials/ogladv/index

 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
The only problem I have with OpenGL is that the best tutorials are ancient, (though I will be doing it in OpenGL) NeHe by most is considered the best, but it is getting on in years now.

I would like to make the full engine, after all, this is going to be more of a hobby then a job. I could cheat, but what would I learn?

Most likely I will start by rendering individual models, then levels, then start with the game play aspects (should take about 2+ years I imagine)
 

Atheus

Diamond Member
Jun 7, 2005
7,313
2
0
Cool idea - hope you finish it. My hobby programming projects never take off.
 

Lord Banshee

Golden Member
Sep 8, 2004
1,495
0
0
Yeah most of my gaming programming always ending with me getting to busy or overwhelmed lol. Have not tried in a while though. My last one was during DirectX7/8 senior year Hight School i made a 2D space invaders like game with animations and sounds all with DirectDraw. I always made some 2D tiling engine for a platformer type game but never finished it. Maybe i will start something new in 3D this time lol :p
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
I hope I can finish it as well. This game has always held a special place in my heart and I would love to be able to re-render it in GPLed code that would extend its modability indefinitely. In essence, this game and its cog scripting language is what introduced me to programming in the first place.
 

trexpesto

Golden Member
Jun 3, 2004
1,237
0
0
Originally posted by: Cogman
I hope I can finish it as well. This game has always held a special place in my heart and I would love to be able to re-render it in GPLed code that would extend its modability indefinitely. In essence, this game and its cog scripting language is what introduced me to programming in the first place.

That is quite a tribute. Perhaps the original authors would make the time to answer a few questions. They cant be too old yet.
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
Makes me wish developers would just do what ID does and open source their engines after they have outlived their functional usefulness
 

PingSpike

Lifer
Feb 25, 2004
21,758
603
126
Originally posted by: sourceninja
Makes me wish developers would just do what ID does and open source their engines after they have outlived their functional usefulness

LucasArts is pretty terrible in this regard, unfortunately.
 

Munky

Diamond Member
Feb 5, 2005
9,372
0
76
I've been doing 3D programming as a hobby for quite some time, and I also chose to use OpenGL because it's not tied to any MS platform, and I found it somewhat easier to pick up than DirectX. While the online tutorials were useful, I'd suggest investing in a book that covers game programming more thoroughly, such as "OpenGL Game Programming", and also check out the forums on opengl.org and gamedev.net if you get stuck on some problem and need help. My first engine was based around Quake3 model format, because the documentation for it was easier to find than other formats. But to really learn game programming, you need to start out with small, simple things and work your way up from there. If you dive right away into a game engine, it's easy to get overwhelmed if you don't understand how it works.
 

PingSpike

Lifer
Feb 25, 2004
21,758
603
126
Huh...I had a big post for this yesterday and just noticed it didn't show up.

I was fairly active with the JK editing community for awhile, mostly working with cog scripts as well. I went by El Scorcho over at massasi and later jkhub. Its funny, whenever I saw your user name I always just assumed it was a coincidence, not that you might have been interested in JK cog scripts! I actually started playing with them again recently as I want to get pathfinding and cog AI working...I just wish JK's netcode wasn't so terrible!

I don't know how much of the stuff that happened in massassi you've followed, but a similar project to what you're proposing was started a few years ago. The Sith2 engine aimed to replace the JK exe while still being able to read all of its assets. I guess they finished the cog VM and the rendering engine I think was done. The source code is available under the sith2 project on source forge.

The project fell apart as they never found anyone to program the physics (or maybe there were some other internal problems...who knows?) I guess they didn't want to use an off the shelf open source library like ODE because it doesn't handle overlapping sectors...which JKs engine allows and lucas arts has in some of their levels. (Personally, I feel all of those instances of overlapping sectors are game bugs so shouldn't be a consideration...but I'm no engine programmer so don't listen to me!) Anyway, that might be a good place to look since a lot of the work is already done.

ZeqMacaw over in jkhub.net is continuing the work on the patched exe. The patch has removed some graphical limitations and added new cog verbs through a dll, but since they're working with just a disassembled exe its pretty limited what they can reasonably accomplish. Cog extensions are easy, but I doubt they're going to be adding shaders or AF or anything with what they have to work with! But the cog extensions do offer some fun new abilities.