Page 1 of 5 123 ... LastLast
Results 1 to 10 of 41

Thread: Pyrogine2Dび「 API 2

  1. #1

    Pyrogine2Dび「 API 2

    RELEASE
    Pyrogine2Dび「 API v2.0.0.147 (Beta 1)

    Welcome to Pyrogine2Dび「 ("P2DAPI"), a 2D game framework API for PC's running Microsoft Windows. This release is aimed specifically at Direct3D with 3D hardware. P2DAPI is feature complete and can easily create any type of 2D game with D3D for rendering. It was designed to be easy to use, robust and feature rich and should be easy to use in your projects.

    OVERVIEW
    Pyrogine2D is a pure rendering API suitable for making 2D games and graphic simulations. There are numerous exported routines which give you a solid low-level foundation for making any type of 2D game. You can build on top of this layer to any level of complexity that is required for your project.

    The API includes support for surfaces, textures, sprites, audio, streams, archives, INI files, configuration variables, render targets, swap chains, scripting and much more. In addition to the low-level, to the metal access, there exist a thin high level framework unit that includes classes such as TP2DObject, TP2DObjectList, TP2DActor, TP2DActorList, TP2DEntity and TP2DGame that will give you enough high level support over the API to make it easy to get started with your projects in an object oriented way.

    FEATURES
    * Binary and source code license option.
    * Uses Direct3D 9 for hardware 2D rendering.
    * 32 bit surfaces and textures.
    * Free scaling, rotation, alpha blending and other special effects.
    * Windowed and full screen modes.
    * Frame based timing support.
    * INI file configuration support with config file variables.
    * Configuration file variable support.
    * Unified Streaming system (memory, file, EXE resources, zip archive).
    * Can render to default application window or to a specified window handle.
    * Advanced render target and swap chain support.
    * Textured fonts (includes a font editor tool and support for custom fonts).
    * Graphics primitives (lines, circles, rects, points).
    * Advanced polygon rendering (scale, rotate, control line segment visibility).
    * Support for rendering large images (640x480, 800x600, 1024x768 for example).
    * Advanced sprite management.
    * Polypoint collision system for fast precise collision detection.
    * Mouse and keyboard input management.
    * Unified audio system with support for WAV|MP3|MID|OGG|MOD|IT|S3M|XM streaming music.
    * Comprehensive math routines (vectors, angles, line intersection, clipping).
    * Log file support.
    * Scripting system with full debugging support.
    * Low-level access for raw nut & bolts power.
    * Thin high-level framework for fast start using OOP.
    * Robust and feature rich.

    MINIMUM SYSTEM REQUIREMENTS
    * Pentium III class CPU, 734MHz
    * 256MB of RAM
    * 20MB of free Hard Drive space
    * Microsoft Windows 2000, XP, Vista
    * DirectX 9 Summer 2003 Runtime
    * Direct3D compliant 3D video card that can do 3D in a window (minimum recommend card INVIDIA FX5200)
    * DirectSound compliant audio card (optional)

    INSTALLATION
    * Add {installdir}\Bin to your windows system path
    * Add {installdir}\Sources to Delphi search path
    * Add ..\Bin as the final output location for the examples for your compiler
    * Add p2dApi.pas file to your project uses section low-level api access
    * Add p2dFramework.pas to your project uses section for high-level api access
    * See the docs and examples for more information on how to use P2DAPI

    KNOWN ISSUES
    * Docs will be frequently updated and improved.
    * Examples & tutorials will be updated and improved.

    PURCHASE
    Our standard practice is providing affordable high quality development solutions. You can use P2DAPI free of charge in any of your freeware projects. If you use P2DAPI in any way to make money then you need to purchase a Registered Developer License from our website which entitles you to the full source code of the Pyrogine2D DLL and updates for a 12 month period. Visit www.pyrogine.com for more information on pricing.

    SUPPORT
    If you need support you can reach us in several ways:
    * Website - www.pyrogine.com
    * Email - support[at]pyrogine.com
    * Forums - support forums at pyrogine.com & pascalgamedevelopment.com

    SCREENSHOT


    DOWNLOAD
    Pyrogine2Dび「 API v2.0.0 (3.16 Mb)
    Jarrod Davis
    Technical Director @ Piradyne Games

  2. #2

    Pyrogine2Dび「 API 2

    It would be a good idea to maintain a changelog, as telling differences between versions is somewhat of a challenge without it. Also, the page that is supposed to tell us pricing information doesn't exist yet, or isn't public--still.

    Do you have, or will you have, Chrome support? Turbo Delphi is too unstable for my purposes, it is rare that I don't have a crash for every time I run the IDE, and I'm really impressed with Chrome. Unfortunately most graphics packages don't support it yet, and there's easy interfaces for DLL communication. I don't necessarily feel like implementing huge packages myself by hand anyway.

  3. #3

    Pyrogine2Dび「 API 2

    Robert Kosek
    Yea look for the changelog in the next build. I plain to release maybe 2-3 public betas while I finish up the last few bits (docs, e-commerce at the site and a few other things) at which time I will have the pricing info finalized.

    I purchased Chrome some time ago and have been getting up to speed with it. Look for Chrome support in future builds. If all goes as planned I hope to do a lot with it ( http://www.chromegamedev.com , nothing there yet), hopefully in the coming months.

    Thanks for your interest.
    Jarrod Davis
    Technical Director @ Piradyne Games

  4. #4

    Pyrogine2Dび「 API 2

    Whats the speed of chrome? you guys have made some tests?
    From brazil (:

    Pascal pownz!

  5. #5

    Pyrogine2Dび「 API 2

    I've not made a whole lot of tests, but the speeds seem roughly as fast if not a bit faster than Delphi. I made a quick and dirty RSS reader, and parsing is faster than I can blink.

    It takes a good bit of getting used to, but for $300 instead of $900 for Delphi ... it's an absolute steal.

  6. #6

    Pyrogine2Dび「 API 2

    I've not done extensive test yet either. I hope to do so in the coming months however. For a object pascal .net solution it is very nice and elegant. The first solution I will attempt to do is use it to make a .net binding for Pyrogine2D. At some point I hope to make a pure .net assembly (as pure as I can get, I will explain in a bit) of Pyrogine2D.

    A few things that has been hampering me going full blast with .net for game development:

    * That 30+MB extra download needed for the .net framework. Our stuff is casual games and 5-8MB downloads still seems to be that magical number. if you have .net framework installed, no big deal, but if you don't then many will just move on to the next game that is 5-8mb to download and try.

    * A solution for this is have the installer do a prereqs checks and attempt to download what it needs. But still, if the machine does not have any of this installed, then it starts to become too much of a hassle to go through just to play a game that is say 3mb in size.

    * I will have to do so some type of interop to talk to do DX and libs that I don't have a .net solution for. So this mean more DLLs in the distro. I like my distros to be lean and mean, easier for the end user the better.

    * One solution is to use c++/cli to make the interop dll then I can put everything that don't have a .net solution or it needs to stay native in one interop dll such as Pyrogine2D.Interop.dll and then have Pyrogine2D.dll which will be the .net assembly you bind to. c++/cli allows you to make mixed mode assemblies with it. As far as I know this is where "it just works - ijw" came from. So I can pack all my native libs inside the interop dll and use c++/cli to make a nice neat abstraction layer that I can now use in chrome to build the rest of the library.

    * I have .NET Reactor to protect my assemblies and it has a nice license feature too.

    * I could use SlimDX for the managed dx layer, but for me it would be a better solution to pack as much in one interop dll rather than having yet another dll to manage.

    Ahh, I still have some thinking to do about all of this.
    Jarrod Davis
    Technical Director @ Piradyne Games

  7. #7

    Pyrogine2Dび「 API 2

    Quote Originally Posted by Pyrogine
    * I will have to do so some type of interop to talk to do DX and libs that I don't have a .net solution for. So this mean more DLLs in the distro. I like my distros to be lean and mean, easier for the end user the better.
    AFAIK, .NET includes its own managed interop for DX. I believe it is pretty lean and mean, but I have no ideas of its default capabilities and extensibility.

    Your other points are quite well taken though. Just bear in mind that most people already have .NET 2.0 for their desktop applications, so distribution size won't be a huge issue.

  8. #8

    Pyrogine2Dび「 API 2

    There is managed DirectX 1.1 and for a while a beta of 2.0, but it was never officially released. It became XNA which is now at version 2.0 and finally allows you to use all the VS 2005 SKUs, not just C# Express Edition . I only briefly looked at XNA. The main problem for me is that to use all it's goodness, you have to use c#. I understand Dom is doing some stuff with XNA to make it work with Chrome of which I will be keeping an eye on. SlimDX was created to fill that gap left by MDX 2.0. For me though I would most likely try and keep things tight and simple and pack everything in the one interop DLL

    I now have pricing information for Pyrogine2D on the website. I set things up so after purchase I will then upgrade your account and you will have access to the registered developer files. There you can download the latest source snapshots and builds at your convenience.
    Jarrod Davis
    Technical Director @ Piradyne Games

  9. #9

    Pyrogine2Dび「 API 2

    im disapointed with chome

    i know it may mean nothing but i ported my usual bechmark to chome, and it simples ....


    D7 / FPC

    [pascal]program bech;

    {$APPTYPE CONSOLE}

    uses
    SysUtils,
    Windows;

    var
    i: integer;
    a, b: string;
    x, y: Double;
    c: string;
    t1, t2: Cardinal;
    d: Integer;
    begin
    x := 3;
    y := 0.2;
    a := ParamStr(2);
    b := ParamStr(3);
    d := StrToInt(ParamStr(1));
    // timing starts
    t1 := GetTickCount;
    for i := 1 to d do
    if a <> b then
    begin
    x := x * y;
    c := c + IntToStr(i) + 'x,';
    end;
    t2 := GetTickCount;
    // timing ends;
    writeln((t2 - t1), ' ms');
    end.

    [/pascal]


    Chrome
    [pascal]namespace bechmark;

    interface

    uses System.*;

    type
    ConsoleApp = class
    public
    class method Main(args: array of string);
    end;

    implementation

    class method ConsoleApp.Main(args: array of string);
    var
    i: integer;
    a, b: string;
    x, y: double;
    c: string;
    t1, t2 : cardinal;
    d : integer;
    begin
    x := 3;
    y := 0.2;
    a := args[1];
    b := args[2];

    d := integer.Parse(args[0]);
    // timing starts
    t1 := DateTime.Now.Ticks;

    for i := 1 to d do
    if a <> b then
    begin
    x := x * y;
    c := c + i.ToString + 'x,';
    end;
    t2 := DateTime.Now.Ticks;
    // timing ends;

    Console.WriteLine((t2-t1)/10000+'ms');
    Console.ReadLine();
    end;

    end.
    [/pascal]

    .BAT

    Code:
    @ECHO OFF
    echo "delphi 7"
    bechD7 100000 "This is a BIG string 1" "This is a BIG string 2"
    bechD7 150000 "This is a BIG string 2" "This is a BIG string 3"
    bechD7 200000 "This is a BIG string 4" "This is a BIG string 5"
    echo "FPC 2.2"
    bechFPC 100000 "This is a BIG string 1" "This is a BIG string 2"
    bechFPC 150000 "This is a BIG string 2" "This is a BIG string 3"
    bechFPC 200000 "This is a BIG string 4" "This is a BIG string 5"
    echo "Chrome"
    bechChrome 10000 "This is a BIG string 1" "This is a BIG string 2"
    bechChrome 10000 "This is a BIG string 2" "This is a BIG string 3"
    bechChrome 10000 "This is a BIG string 4" "This is a BIG string 5"
    results





    Chrome app only runs once, the second i dont know why does not end..
    (i waited for 3 min twice and it does not ended) .net framework problem maybe?

    ps: the params for delphi7 and fpc are highter, if i set the same for Chrome it does not end after 3min...
    From brazil (:

    Pascal pownz!

  10. #10

    Pyrogine2Dび「 API 2

    One problem is that in .net each time you concat a string it has to allocate a new instance, do the concat operation and return to you a new string object ( if I am not mistaken). There is something called a string builder which helps with this problem. I would be interested to see the result when you use the string builder instead. Note that this problem is not a chrome problem but it is a fundamental aspect of the .net framework which will effect any .net language.
    Jarrod Davis
    Technical Director @ Piradyne Games

Page 1 of 5 123 ... 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
  •