Page 1 of 2 12 LastLast
Results 1 to 10 of 20

Thread: Jink Engine

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

    Jink Engine

    I just wrote a massive post all about progress, features, requests for like-minded individuals to join me and an internet error caused it all to be lost like socks in a washing machine.

    I don't have time to write it all again so I'll do the brief version :

    JinkClient, JinkServer, JinkEd - a collaborative editing engine for various game types.

    It's pretty and it's got good stuff in it but it's not finished. If you want to help me make it production ready, talk to me.

    I've not worked on it for a while but I am now. I'm making a game about space and stuff.

    Hope you're all well, here are some screenshots.

    Attached Images Attached Images
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  2. #2
    Looking very nice. It is clear that you have put a lot of work into it.

    I would like to say "Sure I'm interested in helping you out" but based on the fact that I spend very little time (too little) programing I'm afraid that I probably won't be of much help to you.

    EDIT: As for internet screwing you on posting a massive post. In time I learned that whenever I'm writing a bigger post I usually copy the posts text into notepad before actually posting it. So if something goes wrong I can copy paste it back to browser when attempting to post it again.
    This is crucial when you are posting on forums which have time limited login session (you are automatically logged out after certain time of inactivity) since writing a massive post would probably take you more than 15 minutes which is most often time interval after which you are automatically logged out in case of inactivity on such forum.
    And yes PGD also uses such interval for logging you out unless you check "Remember me" checkbox when logging-in in which case a permanent login session is established.
    Last edited by SilverWarior; 07-09-2016 at 03:53 PM.

  3. #3
    That's very interesting. Tell us more. Delphi, Lazarus or both? How many platforms does it support? What license does it use? Is it integrated with Steam, GoG or some other platform?

    And the more important thing: What do you need to finish it? May be I can help.
    No signature provided yet.

  4. #4
    I cannot help too, but I just wanted to say that your work is impressive! o.O

  5. #5
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    I develop with FPC + Lazarus and don't own Delphi - to my current knowledge the only part that should cause problems with some Delphi versions is the FPC style operator overloading in the maths library - not a massive job if it needs changing but a bit monotonous.

    It currently reliably supports Windows and Linux with slightly less reliable OSX support - I worked on Android and IOS support a couple of years ago but I've not touched these for a long time and are currently not in the framework/engine. The structure was in such a flux that maintaining GLES render-paths as I worked was slowing me down too much so I intended to re-implement but didn't get round to it.

    Licence is undecided but it's my intention to provide it for free in one form or another at least in a capacity that lets people make and release games for free. I will seek recommendations or discuss / vote with any devs who decide to commit effort to the engine.

    Games can be written and run without compilation via the high level game style abstractions and scripts (so it's more like modding existing games) but using the source directly yields less constraints and better performance (although adding pre-compiled code in with plugins/modules is a feasible option) so it has a use even closed source.

    It has no game platform integration although that would be a great feature to have - working on my own given what's left to finish, such features are a low priority but I totally agree that it must be added at some point to make the engine truly viable.

    The GUI can render in software mode (using graphics32 - Cocoa support on OSX has not been developed yet) as well as all GL versions from 2.1

    The engine has a shader builder (working but not fully complete) that will generate shaders for 2.1 to GL 4.x - not all engine features are supported on all GL versions (Terrain + water use tesselation hardware on GL4 and do not have clip-mapping implementations for GL 2+3)

    Shadows are current VSM but I will be adding a PCF scheme soon with an old school 2x2 filter for better performance on older hardware.

    To be perfectly honest I really don't like supporting GL2.1 - the engine is heavily geared towards GL3 and up and I've been thinking of dropping 2.1 support all together in order to free up time for other tasks.

    ---

    I'm currently working on the end game parts, spawn points, control schemes, input mapping etc so it's as easy as possible for somebody to get started making a game.

    I'm also streamlining the server/client parts of the editor/engine and adding the last batch of messages (every single editing action is synced in realtime with all clients) and then cleanup and testing that will allow any client to play-test at any moment without effecting the editing state for the server or other clients (so some entities and things are dynamically spawned during play, these should not be spawned on other clients that are editing - you can probably guess from this statement the nature of the networking and messaging)

    --

    so what needs to be done? well it depends on what you define as 'finished' for this project - if it's an engine to make a FPS then it's nearly finished, if it's an engine to make a game like Skyrim then a bit more, if it's an engine to make a space simulator then a bit more still.

    But it's currently all of these things (an abstracted 'Region' concept allows for BSP maps, terrain, planets, voxel grids)

    And on top of all that there's a 2D renderer too which could be a game engine although it's currently just used for dynamic 2D content such as computer screens in games.

    --

    Yeah I need help. It could be brilliant but it needs more people and some more love.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  6. #6
    Unfortunately I think that's a bit over my skills (i.e. OpenGL 1.1 without extensions nor shaders is my top skill right now). Also I'm quite focused in Allegro.pas that needs a lot of work too (I think it is limiting my skills, but I promised I'll do it, so I must do it).

    Anyway I like to see a professional engine written in (Object) Pascal. We had Gamecask but unfortunately it looks a bit dead now.

    I really like to help but I don't know how. Please let us know when you have something.
    No signature provided yet.

  7. #7
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    Even opinions and moral support are welcome and most definitely Allegro.pas is a worthy project to maintain your commitment is recognized and admired! After all these years I think one of the most important skills to have when programming is dedication.

    Gamecask looked great, GLScene based if I remember correctly - the level of integration with physics and the capability of the editor looked first class and the sheer amount of graphics resources available to the developers must of required some serious art skills too. I'd love to talk to the developers to understand their timetable - get any opinions or advice they might have.

    I know that building my own engine and components was going to seriously slow me down rather than using GLScene but I had two motivating factors - firstly I wanted to learn how everything worked and the best way to do that is to code it yourself.

    Secondly I wasn't happy with GLScene - no criticism at all - it's a great suite of components and a skilled developer can do a lot with it - I just didn't personally like the level of abstractions and general structure - I felt that that sacrificing some flexibility for higher level abstractions would of made it way more accessible and yield better performance/less class soup.

    So Jink in terms of design and intent started out as a client/server focused alternative to GLScene that assumes you're going to be making games. Along with an editor and dedicated resource formats it lets you do that faster.

    Let me stress that I highly recommend GLScene - it's absolutely brilliant and can do everything you want to do

    Major kudos goes to the Cast II engine and its developer also - it was using and experimenting with Cast that gave birth to this engine and I owe much of my design to Cast - still fantastic and highly recommended (http://www.casteng.com/casteng/)
    Last edited by phibermon; 08-09-2016 at 09:48 AM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

  8. #8
    PGDCE Developer de_jean_7777's Avatar
    Join Date
    Nov 2006
    Location
    Bosnia and Herzegovina (Herzegovina)
    Posts
    287
    Quite impressive. I myself also develop my own engine. Good way to learn graphics APIs and to improve ones coding. Will use this as an example of what can be achieved with Pascal
    Existence is pain

  9. #9
    Quote Originally Posted by phibermon View Post
    Even opinions and moral support are welcome and most definitely Allegro.pas is a worthy project to maintain your commitment is recognized and admired! After all these years I think one of the most important skills to have when programming is dedication.
    You make me blush...
    No signature provided yet.

  10. #10
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    Oh pshhh credit where credit is due


    UPDATE :

    I've setup my hackintosh again - ElCapitan has proven to be a nightmare to get working with my graphics card - in the end I had to create a custom NVCAP (a series of hex values that is queried at a low level to determine what outputs are available on a card and the priority of those outputs for use as the primary display) but now it's working. I've also setup a Mavericks install on another drive - worked instantly - go figure.

    Anyway - the important point is that previous support was coded on Mountain Lion back when the maximum supported GL version was 3.2 and very buggy support at that!

    Since Mavericks, OSX has supported GL4.1 (a rather laughable performance from Apple given they're still no further and they've JUST released the brand new 'Sierra') which means with the occasional alternate render-path, all engine functionality (heavy use of tessellation for Terrain rendering and my currently in development planet rendering) is working on OSX

    I don't have ATI hardware except in a laptop and I'm not getting OSX running on an AMD chip any time soon so if anybody out there is running OSX with ATI hardware and would provide testing - I'd appriciate it!

    Linux support is just fine with official Nvidia drivers for Linux as well as Mesa - not tried ATI or Intel cards on that platform however but can't see it being a problem - maybe some GLSL bugs that the more forgiving Nvidia drivers have allowed me to miss.

    IOS and Android support are a complete mess - not really interested in spending a week or two researching the latest IOS hoops to jump through in order to support Iphones etc and I've only got GLES 2.0 support on my available android device which isn't all that great - but I've got some basic stuff compiled and running on Android 4.4 and 6.0.

    For now I'm dropping IOS and Android support but will maintain the basics so it can be spun up at a later date.

    Finally I've looked into Vulkan support and it's well within my grasp - unfortunately Nvidia have refused to support Fermi chips! so no way to test - lets hope ATI have been kinder and supported the chip in my laptop

    ---

    All in all it's looking good - I've closed off all current bugs and I'm well on the way to having the planet renderer up and running - so many different techniques to experiment with!

    I've massively improved the portal rendering - I'm using it to cheat rendering through windows and the such on my spaceship - from inside or outside - Basically rather than spend aaaaages creating an interior and exterior design and a performance sapping culling mechanism to support the sparse layout - I'm just using a BSP scheme for the ship internals, roughly matching the shape of a ship model in the space renderer - then I slap a portal in the BSP level and one on the exterior ship and BOOM - I avoid tons of work both performance wise and 3D modelling wise - so what if the inside is actually bigger than the outside? unless you've got a tape measure you can't tell - so I simply won't add one

    To test this I'm currently flying Quake1 deathmatch level 2 (the greatest map of all time) across a terrain while on the outside it's a cube - Dr Who eat your heart out.

    ---

    Developing my game by using the Engine and tools as designed is helping to refine both for the task - really looking forward to releasing some stuff so I can finally get some feedback and hopefully see it used!

    Stay frosty.
    Last edited by phibermon; 23-09-2016 at 10:11 PM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

Page 1 of 2 12 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
  •