Results 1 to 10 of 33

Thread: Jink framework and game engine

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524

    Jink framework and game engine

    Hi All,

    As some of you know I've been working very hard for the past few years on my cross platform GUI and game engine. I've had to change the name a few times due to conflicts with other projects but the final name is "Jink"

    The GUI and 2D parts of the framework (intended for both application and game interface use) can currently render using the following :

    OpenGL 2.x / 3.x / 4.x
    Graphics32 (Win,Linux)
    Quartz (OSX)
    (I also have a VESA version compiled under GO32 but that's just for fun)

    It's a full region invalidating GUI but can also work in a double buffered manner with per window RTs.

    The 3D game engine requires a minimum of OpenGL 3.0 but to use all the features you need GL4.x.

    I will give a full list of capabilities soon, I may decide to remove unfinished parts for the first version in order to get it released at some point this decade

    But just to give you an idea, it's equivilent to GLScene in feature set, exceeds it in many ways and utilizes some of the very latest features on GPUs in it's various modules. It's 3D model support and animation capabilities are very advanced.

    It would go a lot quicker if one of you other snazzy engine devs would merge projects with me so we can finally have a reference engine to raise bar to that of our C++ rivals

    It's my hope that people will either use it to create cross platform apps/games or use it as a reference to bring their own engines out of the GL 2.x dark ages.

    Here's a screenie to whet your appetite - a Quake 1 map with an active particle system, and a GL4.0 tesselated terrain engine with fresnel water simulation, it's basically a port of the Nvidia Islands DX11 demo to GL4 but I've abstracted it into my 'region' concept so it can be used in a game (you can have multiple regions, nested if you desire, so you could for example walk from a BSP map out onto the terrain.. well if there were some doors. Portal rendering optimizations from BSP -> terrain/voxel/planet etc are in place but requires more development) I shall be releasing before autumn hopefully.

    LatestScreen3.jpg

    (apologies for the poor compression ratio, having problems uploading larger files)
    Last edited by phibermon; 30-06-2013 at 02:09 PM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  2. #2
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    A few more screenies of the water/terrain :

    JinkScreen1.jpgJinkScreen2.jpgJinkScreen3.jpg
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  3. #3
    Good work, I like the water. Hope to see a release

  4. #4
    Wow, this looks awesome. I hope I can try it soon ...
    Best regards,
    Cybermonkey

  5. #5
    Looks interesting though your screen shots are too small to get a proper view of your engine.
    Does the first image showcase a variety of tools/inspectors included in your engine?
    Imagine I've written something clever here inspiring you to make something awesome. If that happens give me credits

  6. #6
    Hm, I see you have some Unity-like map editor. Is that true? Also what with performance, is that good?

    Anyway IMO you should consider changing name once more - "Jink" is far too close to "Junk" and while it seems to be great engine, this makes me feel not so good.

    Anyway I'll give it a spin once its released. If it would provide functional equivalent to Unity Pro (mainly render to texture and dynamic reflections/shadows) for free it'd be great. Hopefully you'd start some sort of open source foundation - we really lack engine which is as capable and as easy to use like Unity is.

    //edit: Also you could try to make GUI part of your engine talk to Allegro.pas, maybe some wrapper unit. Algui shows its age and is really ugly. And there is little you can do without developing your own widget library as it doesn't offer any reskinning abilities whatsoever and all apps using al_gui ends up looking like... like... like THIS.
    Last edited by Darkhog; 30-06-2013 at 11:32 PM.

  7. #7
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    The rendering portions of the gui allow you to create a plugin fairly easily, you just need to be able to draw lines, rectangles of any size/colour and have some form of bitblit operation (preferably with transparency support) for icons/fonts (or in the case of GL, textures are uploaded to graphics memory)

    You can create a plugin for font rendering, wrapping up any font functionality provided by Allegro - assuming that you can query the graphical dimensions of a given output string.

    The internal font rendering uses bitmap fonts for easy OpenGL rendering, but adding vector font support such as truetype should be fairly trivial providing you can either render the vector geometry (so polygons) on your target (Allegro) or can otherwise access the pixels of some rasterised output for blitting to the display or window render target. There's no reason you can't have a render target for every single widget if you so desire, it's only a flag that gets turned off past the window level in the TJUIElement tree hierachy and the rendering / invaldiating etc will use it accordingly.

    I might change the name anyway, I suppose they're more like milestones atm


    Edit : It's not a map editor no, but perhaps one day. At the moment I have one tesselated terrain technique for rendering tiled datasets (outputs from various terrain generators) and what you see in the screenshots is a procedurally generated terrain as implemented from the nividia islands DX11 demo source, it has many paramaters and great scope for customization. as it outputs textures ready for rendering that define the height, texture used etc then creating an editor will be trivial, the engine provides all of the screen mouse -> world space position calculations required and then it's only a case of modifying the texture data at the retranslated coordinates, shift values up/down with a customizable linear/quadratic falloff from the mouse position for a smooth terrain raise/lower tool, whatever etc
    Last edited by phibermon; 01-07-2013 at 12:43 AM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

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
  •