The Engine

Started by
30 comments, last by mittens 22 years, 2 months ago
Ok, just wondering how you guys like the engine? I haven''t really received much actualy feedback on how the engine is designed and coded (definately got a lot of updates and e-mails asking for help on using it though). Soooooo, lets hear some feedback! Trent (ShiningKnight) THE Engine ShiningKnight7@hotmail.com
Advertisement
Had no luck compiling it because I have some weird OpenGL headers and they don''t seem to know what multiTexturing is (!!!?!)
and their supposed to support 1.2 and 1.3
Anyways, looks nice. Add a quat camera system if you havent

||--------------------------||
Black Hole Productions
http://bhp.e-chrono.net/
Resident expert on stuff
max621@barrysworld.com
||--------------------------||
||--------------------------||Black Hole Productionshttp://bhp.nydus.netResident expert on stuffmax621@barrysworld.com||--------------------------||
Well, I would have given you alot of feedback if I got it to compile right.. I got exactly 50 errors when compiling the stuff.. I saw a post where people said they had some problems with compiling it, and it seems like I''m experiencing the same kind of trouble.. Anyways, I''ve been looking thru the source code, and I think it''s looking promising and I cannot wait to get it compiled right and begin testing it out! =) So, if you have a solution for me, I would be really pleased to hear it!

Go for the eyes!

Kenneth Wilhelmsen
Try my little 3D Engine project, and mail me the FPS. WEngine
Or just visit my site
--------------------------
He who joyfully marches to music in rank and file has already earned my contempt. He has
been given a large brain by mistake, since for him the spinal cord would fully suffice. This
disgrace to civilization should be done away with at once. Heroism at command, senseless
brutality, deplorable love-of-country stance, how violently I hate all this, how despicable and ignoble war is; I would rather be torn to shreds than be a part of so base an action! It is my conviction that killing under the cloak of war is nothing but an act of murder
I'm goning to be completly honest here reguarding this engine.
I was, initially, serously considering lending a hand to the project, but decided against it upon viewing the code.

ok, one minor thing...
the class list really needs to be grouped like the file list. I can't stand working with the file view personally.

now my gripes...
people are going to be learning off this project. people with NO C++ experince whatsoever will use it as a base,
and for people to learn C++, the examples, in my opinion, should show as few traces of C as possible... this doesn't..
a good example, is that any windows app only needs 3 globals. winmain, winproc, and the main app object. any access to the main object can simply be done using external linkage.


also, a very powerful base object is very important for EVERY objects to build off (with the exception of the main object, obviously). This also means complex object/memory/interaction management is A LOT easier, and the user of the code need not worry about it.

for example,
in my current project, I can create unlimited number of objects, and their creation is a 2 line thing:

eg:
CParticle * particle;
MACRO_CREATE_OBJECT(CParticle, particle);
particle->blah blah blah...

(and that can be done anywhere... I could, for example, put it in the render function of a laser object, set it's position to the lasers, and bang, in 3 lines my lasers have particle trails)

here the particle is extended from the base object, and all it overrides is the render function. which then draws it and does a simple time out. the rest is handled by the base object and object manager. something like 5 new lines of code in total.
more complex object override other things, like force application code, object detatchment code, etc.

this is what I mean.

then, the object manager should do other things, like for example, if an object asks it for all the objects near by, it will return them... etc.

it's my honest opinion that trying to make base code that does anything and everything seperatly is surly doomed to failure.
and honestly, thats what this appears to be doing.
for example,
why can't the MD2 models objects be extended from a basic model object? which in turn is based of the generic object... so if something needed a model, all would be needed would be to put a static model object into your monster object (for example)... etc. this could then be used by every other monster object.. and could be loaded the first time a monster us created..

this brings me on to rendering...
OpenGL is all good and proper, but D3D is advancing much faster, so is, in a way, OpenGL 2.0... so why not use a generic Renderer base object, with D3D/GL/3dfx extended versions that optimize various functions of the api... this is what I do, and it honestly makes things a lot simpler.

eg: (this is what I do to render a data array)
AppMain.Renderer.RenderDataArray(Data,Indicies,TRIANGLES,numTris,FORMAT_V3_T2_N3);

that would help a lot of people.

then it could, say, be optimized to use Vertex array range in an NvidiaOpenGLRenderer object, or similar... and the person writing the _game_ need not know.

I'm not saying it's a bad engine, I'm just saying it could be A LOT better if it was planned well. as it seems to me, to be somewhat unplanned. (especially since it is at such an early stage, and consididering the plans listed on the page.. this thing will get very complex, very fast, and I have doubts how well you (let alone people new to C++) will be able to manage that complexity)

Edited by - RipTorn on February 1, 2002 5:16:40 AM
RipTorn : I agree with you for the "powerfulness" of a high-level library, but it also has its limitations. For instance, it becomes very hard to use low-level instructions without messing up the high-level state sync.
Also, you're talking about the complexity of writing the game, and I agree with you. But if the game is easier to develop, what about the engine ? If this library meant to be high-leveled, it would need loads of time to develop this library.

Anyhow, I'm not saying that one solution is better than another. I'm just writing some comments to think about the problem. My 2c, in fact

Edited by - vincoof on February 1, 2002 6:30:29 AM
There''s quite a lot of uncommented code in the engine. At this point it doesn''t seem very significant, but later on when the project grows you''ll have problems if you don''t comment your code. Commenting is essential IMHO. You''ll find some bugs easier, and if you need to change some code you can easily skip the irrelevant code and find the parts you''re looking for faster. Also, if this engine is meant for the community, it will give a lot more if the code is properly commented.

There''s no doubt that you''ll learn a lot when you''re doing this engine. You''ll probably want to start a new one from time to time, and thats quite natural. Just keep on coding, eventually you''ll create a cool engine. Nothing starts out as perfect, or even good. It''s always a long and a painful path to get there =)
--BerLan
Yeap, exactly 50 errors
****************************Yesterday we Obeyed kings & bent our necks before emperors,but today we kneel only to the truth.****************************
I think it''s great. I compiled it with 0 errors and it ran just fine. (The first two versions -- haven''t gotten the third one)

I also like the fact that it''s not terribly complicated and seems to run pretty well on my meager p3-450. I''ve always wanted to be involved on a project like this, and always stayed away from Crystal Space (and others) because of the sheer magnitude of where the project was at. I''m an okay C coder and a little lesser okay C++ coder, but this isn''t so overwhelming that I don''t know where to start.

If I had a complaint, I''d say don''t change the main.cpp file to show the new demo each time -- I think it should use a menu system and let people pick demo 1-3 or whatever like:

1. Sprite Demo
2. Particle Demo
3. MDL Demo

etc.

Heck, I may add that myself.

It may be my lack of c/c++ coding experience, but I say, good job and thanks.

-Ascent
ShiningKnight,
nice job so far

BTW, if you still need to implement collision you may want to take a look at the Coldet library. You may not want to use other people's libraries and use your own code but I found that Coldet is pretty nice and easy to use.

Just a suggestion. Keep up the good work.

A CRPG in development...

Need help? Well, go FAQ yourself.



Edited by - Nazrix on February 1, 2002 3:54:45 PM
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
I don''t think I''ve said anything to really upset anyone, it was just my honest opinion, but it seems I have, as since I have written this reply, I''ve recieved some attempted email viruses... only one of which got through my setup, but the actual virus it''self was blocked.

I know this, as the email adress I advertise here I only advertise here...

other than this, I''ve only had one other email through the account I advertise here in the last 3 or so months...

strange.

This topic is closed to new replies.

Advertisement