This information is intended for computer programmers only.

    Previous knowledge required is:

    What is a gke engine: Described here.
    Gke engines explained: This specifies fundamental gke features.

    You must be a competent programmer in, at least one, clean computer language such as Assembly, Pascal or C that lets you control such issues as the precise binary image of a data structure or a function interface. You must also have access to an IDE or compiler able to create 32 bit Windows dynamic link libraries. A debugger is also fervently recommended.


Become a developer


    There is a gke toolkit downloadable here.

    The toolkit, at the present state, is made of:
  • The original gkeTypes file used by GoKnot. In which the interface is declared.
  • The complete source code of the bridge library gnu_link.dll. This library is the engine provided with GoKnot 2.0. It calls GnuGo (GnuGo36.dll) and implements a complete gke interface. (Sources are in Pascal and can be compiled with Borland Delphi.)
  • The complete source code of the library GnuGo36.dll. To compile this, you need Microsoft Visual Studio and the complete source code of the GnuGo project, downloadable here.

    There is no reference manual, but there are hundreds of remark lines discussing many subjects. Gke design decisions are open to the needs of developers and the interface implements intelligent version support. This material is considered enough for a starting proposal, please, follow the most important advice:
If you plan to develop gke, contact me.

GoKnot may be easily downsized !!


    Without changing a line of code, or changing very few, it is possible to:
  • Hide menu options you don't like or entire submenus (E.g. Telnet).
  • Hide any property of a dialog setting it as <PRIVATE>.
  • Change MAI options and sizes. Then, hide the MAI menu and buttons.
  • Change: help, textures, dialog styles, fonts, colors ..
  • Since GoKnot is object oriented, the console may be replaced by another object that could display: Move, number, and stones captured in a more conventional, although limited, way. That, of course, requires programming, but changing the console window by a dll is almost peanuts and you could write the object yourself.

    If you want to write a gke engine, but consider GoKnot is too complicated, you may consider a GoKnot kernel with another skin to distribute with your engine. Do no hesitate in contacting.


Gke license issues (from the Toolkit)

 
  This file (and the whole toolkit) may be used according to the following conditions

    0. GoKnot is copyrighted material (c) Jacques Basaldúa.
       GoKnot compatible (here called gke) engines and programs are copyrighted
       materials of their respective authors/owners. A specific engine may be: in
       the public domain, with a gnu license or whatever licensing condition its
       author specifies.

    1. The interface itself, this file, is in the Public Domain.
       There are no legal restrictions or costs for creating GoKnot engines.

    2. Creating a GoKnot engine you benefit of using all GoKnot features at no cost.

        See GoKnot at: http://www.dybot.com/goknot

    3. GoKnot has a debugging menu, usually hidden to the users, available through the
       command line "GoKnot --debu" available for testing engines.

    4. GoKnot itself is shareware, but can be used without restrictions even if no
       license is purchased.

    5. You can distribute unregistered GoKnot copies with your engine as long as you
       distribute the unmodified installation executable.

    6. You can contact me to distribute already registered GoKnot licenses with your
       engine with interesting discounts.

    7. You are also allowed to use this information to create gke compatible programs
       that can benefit of an easy link to gke engines. This makes non-trivial tasks
       such as computing the dead stone list in a board position available with just
       a few function calls.

    8. Using gke from your (or any) program does NOT imply that you may use all engines.
       Except when otherwise specified, engines are copyrighted material. In the future,
       GoKnot may provide public key cryptographic functionality to support computer-ID
       crypted engine licensing. If that is done, that functionality will be documented
       so that all gke developers can use it on an equal opportunity basis.

    9. These clauses are a commitment between me, the author of this interface and of
       GoKnot, and whoever develops gke engines or gke programs. The commitment is
       about GoKnot being available in these terms for use with your engines.
       To guarantee your rights as a developer, you must register as follows:

            a.  Contact me at gke_devel@dybot.com specifying that you intend to
                develop gke software.

            b.  After a reasonable time, some software should prove that you actually
                did some gke software development. A binary is enough.

   10. Should these conditions change, the following will apply:

            a. The interface will always be public, anyone may develop gke software.

            b. If GoKnot distribution conditions should change, that is, the
               availability of GoKnot is restricted by me or by someone who purchases
               selling rights on the program, the following will still apply:

               b1. New conditions will only apply to future GoKnot versions.

               b2. Registered developers (as specified in 9) will have acquired the
               right to have privileged access to future GoKnot versions in terms
               according to their previous status.


  G o K n o t   H e l p
Version   2.0  
Help index
Download GoKnot at  
www.dybot.com/GoKnot