Older news
July 19, 2007:
Just to let you know that my whole VRML stuff is on the move to SourceForge.net. See project page on SourceForge.
I already use their SVN repository to host my code. Most of my whole private repository was imported there, so even though the repository on SF exists for less than a week, it already has 1800+ commits :). If you look close enough, you'll notice two games visible in the repository that were not released yet on these pages. They are available only from SVN sources for now: sandbox (a demo of isometric rendering) and "The Rift" (my current small project — a demo in the style of adventure games, with still background and 3d players; just a start for now).
See sources and many other pages for detailed instructions how to get code out of SVN repository.
June 12, 2007:
Finally, the great update happens ! Most important are "The Castle" 0.7.0 and view3dscene 2.1.0 releases, and (for programmers) the underlying changes to Kambi VRML game engine. Actually almost all programs on these pages are updated too (packaged in a different way, ported to Mac OS X, minor fixes).
As for the question: why didn't you update anything on these pages within the last 6 months ?. My answer is: I was imprisoned in a cave. By a legion of elves. Really, hundreds of nasty bastards with pointy ears kidnapped me and threw me into a dark cave. Just today my cat managed to rescue me. :) Seriously, recently my life was just pretty occupied — I'm on the 1st year of Ph.D. Studies at the University of Wrocław (in case you didn't notice the link to "Teaching" stuff at the top of the main page). Besides, well, life has been really good lately — thanks to K.O. and the mountains. :)
"The Castle" user-visible features:
--screen-size
command-line option.
Most notable bugfixes:
Most notable engine internal improvements for programmers (of course not counting features and fixes that already got mentioned above... ) :
Viewpoint
indicates gravity direction. This way you can set gravity up vector
and initial camera up vector to different things.
vrml/opengl/examples/shadow_volume_test
,opengl/examples/demo_matrix_navigation
,3d/examples/draw_space_filling_curve
,opengl/examples/fog_coord
,audio/examples/algets
andaudio/examples/alplay
.
VRMLRayTracer
interface changed to much cleaner object-oriented.
"The Castle" improvements for content (e.g. 3D level) designers. Many "The Castle" debug menu improvements and greatly improved game confugurability by editing game XML files:
sounds/index.xml
file,
debug menu option "Reload sounds.xml".
items/kinds.xml
file.
levels/index.xml
file.
Many level properties, also hint boxes are configurable there.
KambiHeadLight
node to configure headlight from VRML.
Also packaging changes: units-src
renamed to
kambi_vrml_game_engine-src
,
kambi.cfg
file is included inside, test_kambi_units
is included inside. Most programs package names include their version numbers.
Minor programs releases: rayhunter 1.2.1, lets_take_a_walk 1.2.0, glViewImage 1.2.1, glplotter 1.1.6, glcaps 1.1.1, gen_funkcja 1.0.1, bezier_curves 1.1.5, malfunction 1.2.3, kambi_lines 1.1.2.
February 28, 2007:
Hello! It's been a while without any significant update on this page — so I thought that I just let you all know that the work on "The Castle" and Kambi VRML game engine was ongoing in these last months. 0.7.0 release of "The Castle", 2.1.0 release of view3dscene along with releases of most other programs on this page are scheduled within a week or two. A lot of internal features (usable for programmers wanting to use my engine, or 3D content designers for "The Castle") were done, along with a lot of bugfixes and many small feature additions.
October 7, 2006:
Good news for FreeBSD users: I finally upgraded my FreeBSD to 6.1, and got NVidia OpenGL working smoothly there, along with OpenAL. So I updated all FreeBSD binaries on these pages to their latest version. I also confirmed that "The Castle" compiles and works perfectly under FreeBSD (although the FreeBSD binary is not included in the game archive yet).
October 1, 2006:
A made a new page about my
Kambi VRML game engine.
Most of the content of this page was already said here and there,
but now I want to say it more explicitly: I'm making a reusable game
engine. Also the engine sources are updated now, three new example
programs are added: images/examples/image_convert
,
opengl/examples/test_font_break
and
opengl/examples/multi_glwindow
.
September 27, 2006:
Final version of my master's thesis about my VRML engine is available now.
September 21, 2006:
Newest version of my master's thesis about my VRML engine is available. Only the 7th chapter remains undone. Later update the same day: all chapters done!
Units sources updated:
included is an example how to do fog culling (to the fog visibility range),
see the file units/vrml/opengl/examples/fog_culling.dpr
.
Also blending source and dest factors are now configurable.
Also behavior on incorrect Background
nodes is now better
(reports warning and proceeds).
September 13, 2006:
First of all, a draft and unfinished version of my master's thesis about my VRML engine is available.
view3dscene 2.0.1
released — small updates and fixes. New menu items
were added to display the whole octree and to change the
point size of PointSet
.
The quadric stacks value (for the command-line option
--detail-quadric-stacks
and KambiTriangulation
node) can be 1 now.
The recently released FPC 2.0.4 is used to compile view3dscene now.
Also, view3dscene entry was added to freshmeat. You can use this e.g. to subscribe to new releases, so that you will be automatically notified about new releases of view3dscene.
In VRML test suite
vrml_2/kambi_extensions/fog_linear_with_immune.wrl
test fixed.
August 24, 2006:
First of all, I'm proud to announce that VRML 2.0 (aka VRML 97) support is implemented now. It's by no means complete yet, but it's definitely usable already — see VRML implementation status for details and results of various test suites. Almost all of my non-standard VRML extensions work in VRML 2.0 too, and actually you can even mix VRML 1.0 and 2.0 features in your files.
--scene-change-*
command-line options;
--scene-change-*
command-line options remain to work
but only for the first loaded scene, so they are mostly useful
when combined with --write-to-vrml
).
edytorek
is removed from these pages.
Reasoning: I was not using it, not developing it, and I lost my interest
in it long time ago. Since a long time I use Emacs as my only
text editor, under all OSes. So there were a couple of embarassing
issues with edytorek
: it was Windows-only, it was
compiled with Delphi Personal, and I didn't publish here it's source code...
All these issues are quite embarassing for someone who
uses Linux and FreePascal as his main work tools, and develops
open-source programs... Of course I intended to clean edytorek
code, porting it to Lazarus and publish it's sources some day,
but, honestly, I don't think that it will ever happen.
So, goodbye edytorek
.
August 1, 2006:
New version of "The Castle"
(0.6.5) released: whole documentation is in HTML (available
both here online and offline inside documentation/
subdirectory, README file inside archive doesn't contain much now),
--debug-log
option will print lots of debug info,
lifeloss when falling down lowered (to avoid getting hurt too easily
when jumping), removed one scroll of flying from "Castle Hall"
(to make the trick with flying over creatures harder),
many other small changes and fixes.
My nearest development plans:
June 8, 2006:
New version of "The Castle" (0.6.4) released. Various small improvements and one important fix: open-source Radeon drivers under Linux are reported to work correctly right now. Unfortunately, issues with proprietary Radeon drivers (under Windows, and probably under Linux too) are not fixed yet — so stay tuned :)
In an unrelated news: For those of you who know my old alternative
email address [email protected]
: don't use this address anymore.
I will not receive mail send to this address.
If you recently (in May 2006 or later) send a mail to this adress,
then I probably didn't get it.
My only vaild email address is now
[email protected].
New version of "The Castle" (0.6.3) released. Various "cleaning" changes and fixes:
Comparison: Times and memory use below were measured on Linux with release build, with NVidia drivers. Note that the actual times and memory use may vary wildly from one graphic driver to the other, as the most time and memory consuming tasks are in preparing OpenGL things, like display lists and textures. For example, on Windows, memory consumption is slightly lower, which indicates that NVidia drivers are slightly better optimized for memory use on Windows. But hopefully the proportions will be around the same. Times below were measured for entering "New Game" -> "The Gate" level.
0.6.2 version times: Loading level: 10 sec Loading creatures: 41 sec Loading items: ~ 4 sec Memory use: 496 MB 0.6.3 version times: Loading level: 10 sec (nothing optimized here for time) Loading creatures: 24 sec Loading items: ~ 2 sec Memory use: 278 MBA lot of improvements to how we store and generate TVRMLGLAnimation instances was done for this.
Also view3dscene (version 1.2.4) released: mouse look available (use "m" key). Just like in "The Castle".
New version of "The Castle" (0.6.2) released. Changes from version 0.6.0 include: right mouse button now does jumping, sound of SpiderQueen hurt fixed, SpiderQueen adjusted — overall it's a little easier to defeat now, although some details make it also harder (life decreased, the trick with jumping/flying on SpiderQueen is now much harder), bow + arrows added, Werewolf has higher life now. This was all done for version 0.6.1, that was final version for PGD competition. Version 0.6.2 brings only minor corrections to README and "Credits" text.
New version of "The Castle" (0.6.0) released. This is final (or almost-final) version for the PGD competition. List of changes since 0.5.9 version is huge, among the most important features are: new level "Cages" with new creatures, much reworked level "The Gate" (thanks to Szymon Stoma and Kaśka Zaremba), new features making creatures harder to beat (homing missiles, knockback for player, now so easy to interrupt boss attack, aliens try to always stay away from you, most creatures are generally faster), life indicator for bosses, and an ending sequence is done.
Also view3dscene (version 1.2.3) released with some improvements:
New version of "The Castle" (0.5.9)
released: creatures are now configurable by kinds.xml
file,
--debug-no-creatures
command-line option,
you can set color bit depth and display frequency (the last feature is actually
honoured only on Windows for now — yeah, I'm under the pressure :) ).
"Official" downloadable version is still 0.5.6,
version 0.5.9
compiled only for Linux is here.
New version of "The Castle" (0.5.8) released: debug menu for lights improved (ambientIntensity for lights, "Edit headlight", "Global Ambient Light"), some other small things. There's also a new level, but it's hidden — don't look at it now, should be finished tomorrow. "Official" downloadable version is still 0.5.6, version 0.5.8 compiled only for Linux is here.
New version of "The Castle" (0.5.7) released: debug menu item to change jump properties, debug menu item to edit level lights, some other small fixes. "Official" downloadable version is still 0.5.6, version 0.5.7 compiled only for Linux is here.
New version of "The Castle" (0.5.6) released: trying to nail down display bugs on Radeon: checking display lists availability, "Creature animation smoothness" and "Restore to defaults" in "Video options".
New version of "The Castle" (0.5.5) released: many small pending features/bugfixes done: you can restart "New Game" from any level that you once managed to get to, when changing keys assignment and the conflict is found you can just clear the assignment of the old key (Eric Grange idea), fixes when floating just above the water, player moving speeds adjusted better, better navigation when flying/swimming (you can go up/down just by looking up/down), fixed walking down from slight hills, fixed accidentaly moving adjacent menu items sliders, left/right keys are by default assigned to left/right strafes now, some others.
New version of "The Castle" (0.5.4) released: mouse looking implemented. Also "The Castle" archives are now hosted on much faster server provided by Szymon (thanks!).
ALSourceAllocator
and it's demo in audio/examples/
.
This is an intelligent manager of OpenAL sounds,
used in The Castle.
Updated view3dscene (ver 1.2.2):
VRML extensions:
separate
for WWWInline
node.
Fog
node extensions to define volumetric fog
fogImmune
field for Material
node
Also head bobbing much better, and various other improvements.
Important updates to demo_animation
(see units/vrml/opengl/examples/
) in the
sources:
TVRMLGLAnimation
extended to be able
to animate / morph between an atritrary number of models (>= 2),
not only 2. Each model has an associated point of time in the
animation. Demo (gus_3_final, to be used together with gus_1_final
and gus_2_final) added.
Updated glViewImage (ver 1.1.5) (various small fixes).
Updated many other programs sources to keep them compileable, because of many changes in units, and some other various small fixes.
Oh, and I put here my public GPG key.
See also screenshots of my game "The Castle" (link not available anymore). This is the main thing that I'm working on right now, it's for the PascalGameDevelopment competition.
Detailed changes log follows:
General updates:
units-src.tar.gz
archive, so
this Will Not Happen Again.
malfunction (ver 1.2.0) specific updates:
view3dscene (ver 1.2.0) specific updates:
glViewImage (ver 1.1.4) small improvement (accepts dir name on command-line).
Other OpenGL programs updated: lets_take_a_walk (ver 1.1.3), glplotter (ver 1.1.3), bezier_curves (ver 1.1.3), kambi_lines (ver 1.1.1). Also sources docs page shortened, kambi_vrml_test_suite repackaged and fixed some links to www.web3d.org VRML specification.
Last-minute note about FreeBSD: compiled programs for FreeBSD will not be updated today. I'm sorry, but currently I have terrible problems with OpenGL on FreeBSD — current NVidia drivers (8178) cause kernel crashes (it seems that they didn't really update their drivers to FreeBSD 6 ?), and Mesa is terribly unstable. I checked various OpenGL programs, including Mesa demos, and they all just fail in various mysterious ways (segfaults, hangs, etc.). So it's not a problem specific to my programs — it's some problem with my FreeBSD setup, but I don't have time to fight with it now. Anyway, after compiling, I was unable to actually test my programs on FreeBSD, so I will not upload here completely untested binaries. If you use FreeBSD, feel free to just compile them yourself.
New unit VRMLGLAnimation was created, to easily produce animations
from still scenes.
See extensive demo in vrml/opengl/examples/demo_animation.dpr
,
with raptor and sphere sample models.
I'm also glad to add that I'm starting in Pascal Game Development game competition. This should result in a new game available on these pages around April 2006, and between February and April 2006 I will constantly update my units on these pages.
December 11, 2005
Documentation generated by pasdoc
and units sources updated again:
much more impressive introduction page, old README_GLOBAL file removed,
many things translated to English. Some issues with compilation
with FPC 2.0.2 fixed.
November 27, 2005
Documentation generated by pasdoc
and units sources updated
to reflect many new features and improvements in
PasDoc 0.10.0 released yesterday.
November 12, 2005
lets_take_a_walk
1.1.2 released (only for Linux) — fixed problem with linking to
current Debian-testing openal version.
October 2, 2005
A lot of content on these pages finally translated to English.
New versions of most programs released, with updated documentation
and often other improvements. Full list of changes:
--detail-...
options added).
Also handling of some Inventor models improved —
RotationXYZ is handled, some other Inventor fields are parsed
(and then ignored).
devel
subdir with some scripts and Blender, GIMP and Terragen
data files. Polish docs removed.
--write-partial-rows
option by <log-rows-file>
.
Polish docs removed.
various_notes_begin.pasdoc
and gen_light_map.dpr
are contained in units sources.
Second update on the same day, October 2, 2005:
lets_take_a_walk
hanged on exit (i.e. when you pressed Escape or Alt+F4 etc.). Fixed now.
Third update on the same day, October 2, 2005:
(busy day, eh ? :)
September 12, 2005
June 07, 2005:
May 21, 2005:
All VRML loading code now loads using TPeekCharStream, you can always wrap any other TStream inside TSimplePeekCharStream or TBufferedReadStream. This means that loading VRML from file is both more flexible in source code and less memory-consuming at runtime.
Also all VRML reading code can read VRML files compressed by gzip.
view3dscene updated to version 1.1.2, rayhunter updated to version 1.0.1. Example VRMLs updated.
March 14, 2005:
This is implemented by new interface to TMatrixWalker.OnMoveAllowed and new method TVRMLOctree.MoveAllowed.
First part of optimizing OpenGL display using frustum culling done: frustum culling without the help of octree done.
User-visible changes: added --renderer-optimization
parameter for view3dscene, see
view3dscene
page for docs of this parameter.
New view3dscene
menu commands "View|Show in Examine mode camera frustum",
"Console|Print current camera frustum".
Sources changes: VRMLFlatSceneGL unit allows new optimization method: roSeparateShapeStates. VectorMath and MatrixNavigation: done routines to calculate frustum's planes, and calculate frustum's geometry, and check whether frustum collides with sphere and TBox3d. TVRMLFlatSceneGL.RenderFrustum done.
Second part of optimizing OpenGL display using frustum culling with the help of octree: done.
Done second octree based on scene ShapeStates. view3dscene creates it, and can display it's statistics. TOctree.ItemsInNonLeafNodes property added to allow octree nodes to store all cummulated items of their children. TOctree.EnumerateCollidingOctreeItems implemented and TVRMLFlatSceneGL.RenderFrustumOctree implemented.
Added to sources file units/vrml/opengl/README.optimization_notes
that describes how current optimization works, what are the possible
drawbacks and what are the possible alternatives (and what
drawbacks are hidden in those alternatives :).
In case you're interested how it works but you don't want to download
my whole sources, you can read this document
online.
gprof rulez — small bug that was harmless but was causing a lot of slowdown in TVRMLFlatScene.ValidateFog (combined with roSeparateShapeStates) fixed. Also problem in VRMLFlatSceneGL with GL_COMPILE_AND_EXECUTE solved. Also problem with updating Caption too often (this caused some noticeable slowdown on XWindows on my system).
Example program units/vrml/opengl/simpleViewModel_2.dpr
added.
Mnemonics for GLWindow menus implemented. view3dscene (1.1.1), glViewImage (1.1.1), glplotter (1.1.1), bezier_curves (1.1.1) all updated with mnemonics.
February 28, 2005:
view3dscene, glViewImage, glplotter, bezier_curves are updated (minor version number++, to 1.1.0, Linux/FreeBSD users are encouraged to upgrade).
Inside sources, opengl/gtk/gtkglext/ directory is created with GdkGLExt and GtkGLExt units.
February 3, 2005:
Complete rework of Images unit interface. Now it has object-oriented interface, much safer and cleaner. Unfortunately compatibility with previous versions is broken.
Details: Records TImageRec, TRGBImageRec, TAlphaImageRec are now replaced with classes TImage, TRGBImage, TAlphaImage (and there's also TRGBEImage class).
No functionality is lost, but now using these classes is more straightforward, no longer need to maintain "dummy" conversion routines ImageRec(To|From)(RGB|Alpha). Also now you can use Images unit to define new TImage descendant. Also many things are now safer and checked by compiler at compile-time.
Also many docs updated and translated to English in Images unit.
Sources of most programs needed to be changed accordingly. Changed: view3dscene, glViewImage, rayhunter, malfunction, kulki, lets_take_a_walk, bezier_curves.
Improvement in KambiPng/KambiZlib units:
Details: Now programs using these units (e.g. indirectly by using Images unit) do not require libpng+zlib to be installed on user system.
GTK GLWindow: key shortcuts in menus are displayed and handled entirely by GTK, not by some hacks in GLWindow unit.
Also WinAPI key shortcuts to menus are now displayed as they should (justified to the right).
key shortcuts changed to conform to be more standard (I'm trying to follow GNOME HIG, although I know that my programs are pretty far from it right now), and also to not cause problems as GTK 1 or GTK 2 menu item shortcuts:
All my Pascal programs get a version number. Existing programs on these pages are initially marked as version 1.0.0. Added page describing my versioning scheme.
All programs with version number accept -v
(or --version
)
command-line parameter to display version number.
Page with some notes about parameters understood by my programs updated.
From now on, all FPC programs on these pages will be compiled with FPC 1.9.6. Compatibility with FPC 1.0.10 is dropped, and I will do not even guarantee that my programs compile with FPC 1.9.4. So all programs are recompiled and all sources updated, sources page is also updated.
Published imageToPas in units/images/tools/
.
Small example of MathExprParser unit in units/base/examples/kambi_calc.dpr.
Polish version of page with some notes about parameters understood by my programs is removed. Only English version will be maintained from now on.
glViewImage has new Edit menu with some simple commands that change viewed image. This was done mainly to basically test that these functions work, but may be useful anyhow.
Fixed some problems with using --fullscreen-custom
under Win32.
Removed from sources many files that were needed only for FPC 1.0.10: randomconf.inc, mtrand.pas, 10 files *_defpars.inc
UNIX (Linux, FreeBSD) versions of malfunction, kulki,
lets_take_a_walk again have ability to change screen resolution
(--fullscreen-custom
parameter)
that was not available due to bug in FPC 1.0.10.
Some usability problems with kulki solved.
January 12, 2005: Added to sources nice example programs that demonstrate some higher-level functionality of my units:
units/opengl/examples/menuTest.dpr
(GLWindow with menu)
units/vrml/opengl/examples/simpleViewModel.dpr
(simple demo of loading and rendering VRML/3DS models and
allowing user to walk in them; something like extremely-simplified
view3dscene)
units/vrml/examples/many2vrml.dpr
(converting 3DS and others
to VRML)
December 10, 2004:
Sources of units and view3dscene
updated: units and view3dscene compile with FPC 1.9.5 from CVS
from 2004-12-07 (at least under Linux), units/base/examples/
subdirectory with two small example programs.
December 5, 2004: Sources of units updated to commit many improvements to docs (some translations to English and some preparations to generate nice docs with pasdoc). No big changes.
Note: Don't expect any new things to happen on these pages this month (I'm busy in some commercial project since some time, and I probably won't have time this month). However expect many work to happen here next year.
August 23, 2004:
(August 7: another update of units' sources, small changes)
August 2, 2004:
31 July 2004:
27 June 2004:
--scene-changes-xxx
command-line params)
29 May 2004:
25 May 2004:
20 May 2004:
8th of May, 2004
26th of April, 2004
13th of April, 2004
Full English docs finally available. Maintenance of Polish docs dropped. Many general reorganizations in docs.
Many changes in user interface in view3dscene too: some rarely used key bindings removed (m, g, n), many parts of menu extended to something more comfortable, "lights kind" replaced with 3 separate settings: "light calculate", "head light", "use scene lights". --lights-kind parameter dropped, new --light-calculate (should be much more useful) parameter added.
Linux (GTK) version stabilized.
You need FreePascal Compiler to compile this. You also need to slightly modify sources of FPC. Here are diffs for FPC 1.0.10 and FPC 1.9.3 (link not available anymore). Note that FPC 1.9.3 (downloadable from FreePascal CVS server) requires considerably lesser amount of "hacking" to compile rayhunter. If you use FPC 1.9.3, you will only have to apply changes to packages/libc unit under Linux, and under Windows everything should compile with unmodified FPC 1.9.3 version. While with FPC 1.0.10 there are many more patches and you will have to add some additional units. So I strongly suggest you to use FPC 1.9.3.
18th of march, 2004: I updated view3dscene and glViewImage. Now both programs have a useful menu bar, under Windows and Linux. Under Linux this requires installation of GTK 1.x and gtkglarea libraries. This is some attempt to make user interface of those programs a little more friendly. I'm curious about your observations about this improvement — how do you like it, how does it work under various Linux and Windows versions etc.
I started to maintain this update log at 18th march, 2004.