Page 6 of 7 FirstFirst ... 4567 LastLast
Results 51 to 60 of 67

Thread: PyroGineび「 Game Engine

  1. #51

    Re: PyroGineび「 Game Engine

    Hi Jarrod, I have a Pyrogine question - how on earth do I tell the engine to quit/end the application?

    Perhaps I am completely blind, but I can only find the Abort() method which I am using when I press Escape ATM...

    cheers,
    Paul

  2. #52

    Re: PyroGineび「 Game Engine

    Hi,

    Set PG.Terminated to True.
    Jarrod Davis
    Technical Director @ Piradyne Games

  3. #53

    Re: PyroGineび「 Game Engine

    Quote Originally Posted by PyroGine Development
    Hi,

    Set PG.Terminated to True.
    AHH! thanks chief

    cheers,
    Paul

  4. #54

    Re: PyroGineび「 Game Engine

    Yea, when it's True then it will fall out of the game loop and terminate.

    Only use Abort when the application must end at that moment. When executed the exception handlers will be called so be prepared to handle shut for this case. For example, a resource can not be loaded thus the app can not continue, you can abort. Either free any allocated resources before hand or make sure they are handled during the exception call. The message will be sent to the log file as well as for any unhandled exception at run-time.
    Jarrod Davis
    Technical Director @ Piradyne Games

  5. #55

    Re: PyroGineび「 Game Engine

    New build that should fix reported problems. See this post.
    Jarrod Davis
    Technical Director @ Piradyne Games

  6. #56

    Re: PyroGineび「 Game Engine

    PyroGine Development has released PyroGine Game Engine v0.4.3:

    Changelog[*]Added contrib folder containing PGE community member contributions.[*]Fixed the embedded scripting engine crashing when registering a class in an Ansi version of Delphi (Thanks pstudio).[*]Added rsMonoLightMap and rsColorLightMap render states to support textured light mapping.
    Jarrod Davis
    Technical Director @ Piradyne Games

  7. #57

    Re: PyroGineび「 Game Engine

    Hi again Jarrod,

    I'm working on a small demo project and right now I'm trying to get my head around the Actor System in PGE. I have some questions I hope you will answer.

    • My first question is about multiple animations for an entity. Is the idea to have all the animations saved in the same group and then use SetFrameRange to change animations? First I assumed you would save each animation in its own group but that doesn't seem right.
    • Is there a collision body in an Actor? In an Entity there is the PolyPoint which I assume defines the body but I'm not sure if there is any in an Actor. Can I make my own class inheriting from the Actor class, and then check collisions between that class and Entities? Generally I would like to know more about the collision system in PGE.
    • I'm wondering what happens when I call Render from an ActorScene? Will all Actors Render method be called or is there some sort of occlusion culling going on behind the scene? Should I make sure myself that only the right Actors are drawn?
    • Am I right in assuming that an Entities position is a screen position? It simply tells where to render the Entity on screen and then I'll have to manage myself were it would be in a game world?
    • What does the Is(Fully)Visible functions exactly indicate in Entity?
    • Does the third component in vector aHitPos mean anything in OnCollide? Angle? Nothing?


    That is quite a few questions but I would like to get a good understanding of how the Actor system works before I start using it for real. I don't want to make some design decisions early on only to find out later that I can't do it that way.
    Imagine I've written something clever here inspiring you to make something awesome. If that happens give me credits

  8. #58

    Re: PyroGineび「 Game Engine

    Hi,
    [*]TPGSprite allow you to organize your images into pages and groups. A page defines the texture where the images are located and groups are the logical representation of these images. They can be ordered list to form animation or an unordered list just to represent lists of images that you need to reference. An entity represents an actor that can have shape, animation and position in the game world. They can be scaled and do collision. All the animation for an entity can be in the group and you have control over what is played back with the frame methods. Note that TPGSprite is a manager and you do not have to have multiple sprite instances. One sprite object is capable of managing all the images for your project. You can however create as many instances of TPGSprite as you would need.[*]TPGActor represents the base level of any object that needs to logically exits in the game world. Think of it as assembly language and an entity as Pascal or C++. The event handlers for collision are there but you would need to implement them yourself. Entity does this for you giving you both spherical and as well as polypoint collision detection.[*]When you can ActorScene Update/Render it will call the standard actor event handlers OnRender and OnUpdate. They do nothing by default. TPGActor is abstract so you can update and render what ever definition that represent your derived actor class.
    [*]Yes, an entity exist in screen space which will be the current view port by default. However if you need to represent a virtual space you can pass in a VirtualX and VirtualY to the render method which will allow you to represent your entity in virtual space. This will align the entity to view port location. Otherwise you would pass zero for these values.[*]IsVisible will be try if part of the entity is on screen and IsFullyVisible will be true if the entity is fully on screen.[*]Currently the z component is not used for anything concerning the entity and you may use it for your own purposes. When you call the GetMouseXXX methods the value for the mouse wheel will be returned in the z component.[*]AIActor and AIEntity are extended versions that includes a state machine. The OnUpdate and OnRender methods are overridden so that they run the update and render methods of the AIStates. This allows your actor/entity to be driven by the event driven finite state machine that is available in PGE.[*]An Actor is an abstract representation of a logical body in the PGE game world. An Entity is an actor that has shape, position, etc. The actor allows you to represent your own entity type in the game world. If you want to do polypoint collision for your own actors you can plugin in the TPGPolyPoint object for this. PGE is high level, yet low enough where you can do must of what you need to do.
    Jarrod Davis
    Technical Director @ Piradyne Games

  9. #59

    Re: PyroGineび「 Game Engine

    [iurl=http://pyrogine.com/page,about_us]PyroGine Development[/iurl] has released [iurl=http://pyrogine.com/downloads/sa,view/id,5/]version 0.4.4[/iurl] of [iurl=http://pyrogine.com/page,pyrogine]PyroGine Game Engine[/iurl]. Some important bug fixes and enhancements have been made in this release and we encourage everyone to upgrade to this latest version.

    Changelog:[*]Renamed include file GLOBALDEFS.INC to PGEDEFINES.INC to be more consistent with the PGE naming convention.[*]Fixed a problem where the wrong interface was being returned when creating a TPGPolygon object.[*]Update PGETestbed options dialog to allow picking a suitable resolution from a list of enumerated modes.[*]Added TPGRenderDevice.FindMatchingAdapterMode. (Thanks Paul Nicholls)[*]Added methods to TPGRenderDevice: AdapterCount, AdapterAspectRatio, AdapterModeCount, AdapterModes and EnumAdapterModes to enumerate and return adapter display modes.[*]Added TPGAudio.ChannelsPlaying which returns the number of playing channels.[*]Fixed a 1-off bug in TPGTexture.Render. (Thanks Paul Nicholls)[*]Fixed enum size mismatch problem.[*]Added TPGRenderDevice.DrawTexturedLine for drawing textured lines.[*]Added a width parameter to the TPGRenderDevice.DrawLine method.[*]Added the DirectX9 headers to the contrib folder. (Thanks Paul Nicholls)[*]Removed C/C++ support for now, it may return in the future.[*]Removed pgpcc and pgpdev. We may rework them as a stand alone product in the future.[*]Added TPGDisplayDevice.GetDesktopSize to turn the desktop width and height. (Thanks Paul Nicholls)[*]Fixed a 1-off bug in TPGSprite.AddImageFromGrid. (Thanks Paul Nicholls)
    Jarrod Davis
    Technical Director @ Piradyne Games

  10. #60

    Re: PyroGineび「 Game Engine

    Hi Jarrod,
    just how often does the TPGGraphicalTestCase.UpdateFrame actually get called??

    I have had trouble with "The Probe" in getting animation timings correct as it seems to be called much more than once per frame

    At first I thought it was just me getting timings incorrect, but now it really shows since I've just added a time count of how long a level has lasted (hours:minutes:seconds).

    I have this code that gets called each UpdateFrame call, but in order to make the seconds acually be close to seconds and not super quick, I need to compare the FTimeCount accumulation against 30 instead of the expected 1 (for a single second)!!!

    This is rather annoying!!

    [pascal] FTimeCount := FTimeCount + aElapsedTime;
    if FTimeCount >= 30 then begin //<-- here I would have expected 1 instead of 30!!
    FTimeCount := 0;
    Inc(FTime.Seconds);

    if FTime.Seconds >= 60 then begin
    FTime.Seconds := 0;
    Inc(FTime.Minutes);

    if FTime.Minutes >= 60 then begin
    FTime.Minutes := 0;
    Inc(FTime.Hours);
    end;
    end;
    end;[/pascal]

    Any ideas?

    Oh, I am definitely using the latest Pyrogine code + dlls too...

    cheers,
    Paul

Page 6 of 7 FirstFirst ... 4567 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •