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.
| |
 |
| | |
|
|
|
|
|
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:
| | |
| | |
|
|
 | |  |
|
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.
| | |
| | |
|