PR - tutorial - reality - future

Started by
18 comments, last by dg5pt 23 years, 9 months ago
Hi, I''m currently asking myself if PR is really usable. Let''s see: PR has the ability to start the engine for itself using wintul.c and devdlg.c ... but which game do such a thing? I have badly need of a tutorial ''How to integrate PR in a existing base system''. Don''t say that this would depend on the base system. That wouldn''t be right. To make it clear what I''m thinking about: I don''t want to call hundreds of functions. I just want to have one thing like this: PR_Setting SetSettings() { // set the settings here } PR_Initialize (SetSettings()); and then a PR_Shutdown(); This should be enough. Of course you have to offer a more complicate methode for doing that stuff but you need also a easy one. I would add some things to the PR_Settings struct: unsigned short Resolution_X, Resolution_Y; And there should be the ability to integrate the PR messages into the base system like this: struct MessageReport { unsigned short NoOfMessages; char** Messages; }; MessageReport PR_GetMessages(); PR is currently to incompatible in many aspects (think about file formats). It''s a Win32 engine but there are still bad, old elements of version 2.x in it. To say the truth: PR will have no chanche in the future if there won''t be some changes to a more modular engine. The will have to be a system which allows somebody to add features to the engine without understanding or having the complete source code. PR has to become a real SDK. bye
Felix KollmannFuture InteractiveCEO, Project Manager, Lead Programmer[http://www.futureint.de][fkollmann@futureint.de]
Advertisement
You seem to be mistaken about many parts of power render.

The wintutil source file contains the basic windows setup, any windows application has to do this. Having PR automate this would limit anyone designing power render applications far too much. Chris provides the wintutil to simplify things for people who don''t care to much about the windows setup and for the examples.

The devdlg is for a device selection dialog box. It''s used mainly so that the examples can be run on any computer. The only thing in this file you ever need is the PR_ChooseDDraw_Driver to tell power render what DD rendering device should be used. Everything else is to program the dialog box for choosing the power render settings.

It seems like your complaining about PR because you have to actually know basic windows programming. Don''t be lazy. Learn how to program a basic windows application before you try for a 3D windows application. If you already have a basic windows setup than power render takes almost nothing to integrate into it.

"The will have to be a system which allows somebody to add features to the engine without understanding or having the complete source code."
You will always have to understand the system to add to it. As for adding to PR without the source, this is not really a problem at all (at least I''ve had no problem adding anything).

Don''t expect PR to write your program for you.

Gary
*Applauds Gary*

Well put.

What you acan also do is right wrapper classes that hides all this stuff behind
Hardcore Until The End.
I do not agree.

In PR there is no alternative to Winutil.c .

Where is decribed how to init it without using Winutil.c?

It took me nearly two hours until I have modified Winutil.c to make it usable to the base system. That can''t be true.
Felix KollmannFuture InteractiveCEO, Project Manager, Lead Programmer[http://www.futureint.de][fkollmann@futureint.de]
Please don''t blame this guy... he''s right.

It''s under everyone''s eyes: PR is programmed with a very "old" style of programming, and not near also a "good" C programming.

So it''s not difficult to think about the future of PR.
There are many open source projects, well detailed and designed, and also full of features.
They still lack glue code and tools, which PR has, but that''s only a matter of time.
PR has some very nice ideas in it.. but has to be completely redesigned or will become junk code in 1 year.

I _have_ now to use it to substitute my game engine... and it''s a lot of work just trying to dodge all PR clumsyness.

Bye

------------------------------
Stefano ''Panda'' Baraldi
Lead Programmer @ Tremens
www.tremensgames.com
------------------------------
------------------------------Stefano ''Panda'' BaraldiLead Programmer @ Tremenswww.tremensgames.com------------------------------
Can you be more specific? Do not tell me to rewrite it in C++.

Author of Power Render (http:/www.powerrender.com)
Currently PR is the base for a application. You use Winutil.c and then you just can begin to write a game.

This was good a far years ago but today you have a very complex base system. The engine should not be more or less than the networking, AI or game module of a game.

To say it clear: The engine is only a small part of a game and not the kernel. Your engine is too much. We, as the game developer, develops the base system and the hierachy between the modules and not you.
So I have to be able to integrate the engine in nearly any hierary structure. And that is our big problem we''re currently having with PR: it is very, very hard to integrate it in our module hierarchy.

And it is too hard to make modification. Split PR into modules like:

- big file handling (.wgt file format)
- object file handling
- texture file handling
- landscape deformation system
- light system
- sound system
- etc.

And then make clear interfaces between them so that anybody is able to add features (like .zip file support, loading bryce files or .mp3 file format support) to PR using the interfaces you will have defined.
Felix KollmannFuture InteractiveCEO, Project Manager, Lead Programmer[http://www.futureint.de][fkollmann@futureint.de]
I think your problem is you already have part of a game done and you''re trying to incorporate PR into your existing code.

If you''re going to use Power Render, start using it from the beginning and add the rest of the things you want like networking and mp3 playing.

I can''t make interfaces for everything that you want. How are you supposed to add features using the interfaces I designed in C? It''s not like you derive new classes and just tack on more code.

Author of Power Render (http:/www.powerrender.com)
You don''t understand. That''s the sense of the complete thing: every part can be replaced.

One axample: I wrote a 2d sound system. Now Creative release their EAX. In the best case you just have to add to the sound system module. The new functions will automaticly get the information which are needed.

You cannot write such a big project like a game if everybody will has to change the code just for adding one feature.

I have to be able to add perhaps mp3 suppoprt not to the game itself but to the music (or sound) module.

I know it isn''t as easy as in C++ but there is no workaround.

And I think you can define a struct with functions in it. You just have to put all in it.
Felix KollmannFuture InteractiveCEO, Project Manager, Lead Programmer[http://www.futureint.de][fkollmann@futureint.de]

This topic is closed to new replies.

Advertisement