Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

dg5pt

PR - tutorial - reality - future

This topic is 6574 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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
------------------------------

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!