Upcoming February 2008 release - RCs available!

Get help with installing and running the Cafu Engine here. This forum is also for general questions and discussion of all aspects regarding the Cafu Engine.
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:
Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-01-14, 16:42

Hi all,

after the planned 7.12 (December 2007) release has become obsolete in favor of some feature additions, the next release is now scheduled for February 1st, 2008. Therefore, the release version number has been updated to 8.02, for which a new release candidate is now available.
As this RC is subsequent to the 7.12-RC1a, this is RC2 of the 8.02 release:
http://carsten.ca3de-community.de/Ca3DE-8.02-RC2.zip (roughly 270 MB). :cheesy:
[EDIT: RC2 is no longer available as it has been replaced by a more current release. See the newer posts below for the latest link.]

The release candidates will be updated until February 1st, and unless severe errors are found until then, the last release candidate will be turned into the final release on the same day, and be renamed to "February 2008 (8.02) release".

Bugs will be fixed until the release date, but no more features will be added in order to guarantee punctual release this time. ;-)

Please test, and let me know what you think!

Very important notes about the 8.02-RC2:
  • This is a Release Candidate, not the final demo.
  • Minimum System Requirements: 1 GB main RAM (1,5 GB on Windows Vista), 256 MB video (GPU) RAM.
  • Important user-visible enhancements since 7.12-RC1a:
    • New .cmap file format, reflecting the CaWE editors significantly updated Edit Surfaces tool.
    • Replaced the old DeathMatch.fgd game definition file by the newer EntityClassDefs.lua script, supporting code was written/updated accordingly. This change affects nearly all programs from CaWE, the compilers, the engine, to the game code.
    • Added a new "func_door" entity class, and added over a dozen example instances to the TechDemo example map.
  • I'll post a list with new features since the last major release soon.
  • The above link will only work as long as the RC2 is current, which however is to be expected short-lived and to be updated/replaced soon. If you find the link not working, check for more recent RCs or the final release of the Ca3D-Engine demo.
  • Issues to address until the final release:
    • Fix func_door entity code - teammates don't act as a team yet, several other smaller fixes are pending.
    • Fix netcode issue with large number of entities entering the PVS at once.
    • Fix "stuttering" of entities at server FPS.
    • Replace some (all?) of the TV models with Thrawns latest.
Have fun! :up:
Best regards,
Carsten
scott
Posts:173
Joined:2004-08-23, 09:11

Re: Upcoming February 2008 release - RCs available!

Post by scott » 2008-01-17, 05:40

Nice job Carsten, Downloading it now :)
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-01-31, 19:15

I've spent a lot of time over the past two weeks with enhancing the CaWE internals, so there was not much time left for more work on the Release Candidate. Well, I'm done with CaWE for now, and finally looked into the above listed open issues again. :builder:

Good news is that it took me only a single day to finally fix the long outstanding issue with NPC entities "stuttering" at server FPS: The client interpolates the origins of such entities appropriately now, making the movement as smooth as possible at the given client FPS.

The new interpolation code is active by default, but it can be turned off via the new console variable:

Code: Select all

interpolateNPCs=false;
Alternatively, if you're like me, using the up-arrow :up1: key a lot for repeating the last entered command, you may enter

Code: Select all

interpolateNPCs=not interpolateNPCs;
in order to toggle interpolation mode on and off.

Btw., the interpolation code treats all (NPC-)entities alike: It affects all doors, eagles, butterflies, the company bot, grenades, etc. There is no per-entity or otherwise fine-grained control over this, but that should be OK. :kid:
Best regards,
Carsten
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-02-08, 14:46

More good news on the stony road towards the next release:
  • I just implemented a fix about the above described interpolation code so that it doesn't interpolate entities that are moving very quickly (e.g. as the result of a teleport).
  • Second, I enhanced the "doors" entity code, so that doors that consist of multiple parts (e.g. the left and right halves of the typical infrared-triggered double doors, or a heavy three-part door in the TechDemo map) actually act as one.
  • Finally, I did a lot of research about improvements to the Ca3DE networking layer. Good news is that I first found a hot-fix for a problem that currently occurs in rare cases (only with self-made maps that contain many entities all in one room). Moreover, I also found a great "new" network transport protocol that will be a great basis for future Ca3DE networking: SCTP, see http://en.wikipedia.org/wiki/Stream_Con ... n_Protocol for some details.
    I will not dare to try to implement this for the pending 8.02 release (those who suffer the above mentioned problem should try the hot-fix), but certainly plan some test implementation for the release after that.
    I'll post more details about both the hot-fix as well as SCTP later.
Overall, expect the next and final RC early next week. This RC will then be turned into final at the end of the week. :up:
Best regards,
Carsten
scott
Posts:173
Joined:2004-08-23, 09:11

Re: Upcoming February 2008 release - RCs available!

Post by scott » 2008-02-11, 15:50

Is the final release going to have a proper menu etc instead of the usual front end? Being able to configure controls, graphics and sound via a menu will be very handy
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-02-11, 23:40

Hi Scott,
scott wrote:Is the final release going to have a proper menu etc instead of the usual front end? Being able to configure controls, graphics and sound via a menu will be very handy
I initially planned to have that only in the release after the next, but in the last few weeks I saw some ways to possibly get this done sooner: The plan is of course to eventually replace the current dialog with a user interface that is natively implemented by the Ca3DE GuiSys.
The GuiSys in turn is essentially as powerful as the console, that is, it can run console functions and modify console variables.

That means that replacing the current dialog is a two-step process:
  • The values that are entered in the dialog are currently hard-coded special cases. The first step would be to replace them with console variables that serve the same purpose.
  • The second step is to make a custom GUI (.cgui file) that implements the menu that you mentioned, allowing the user to see and change all the relevant values.
I'll not be able to complete all of this until the end of the week, but I will at least implement step #1. That means that you'll be able to define your default values for all settings in the config.lua file. That step alone would allow you to write a custom menu implementation that in turn writes the config.lua file and then starts Ca3DE with the -skipDialog option.

If time permits, I'll also include code that loads and transfers control to e.g. the mainmenu.cgui GUI. I would probably only supply a minimal implementation of that file for now, but with the loader hook in the C++ code in place, you could easily make your own menu. This would certainly the best solution.

Ok... I'll do my best to get as much as possible done until the end of the week! :idea:

I've also found two more minor bugs in CaWE that I want to look into [EDIT: both fixed by now :cheesy:]. Oh, and the next release will also contain a replacement for the old and cumbersome "Object Properties" dialog. The new dialog is much better: simpler, better thought-out, and yet more powerful. It will also subsume the "Entity Report" dialog and show the map script for editing (the latter is not yet implemented though).
I'll let you know on the progress soon! :chef:
Best regards,
Carsten
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-02-18, 18:27

Release Update:

I've just uploaded the third (and hopefully final! ;) ) release candidate (RC3) for the February 2008 (8.02) release:
http://carsten.ca3de-community.de/Ca3DE-8.02-RC3.zip

Still more work should be spent on the TechDemo map itself (e.g. another lift would be nice, as well as more of Thrawns TV panels), but I'm eager now to finally get this release out. Maybe someone else here is interested in helping out with enhancing the TechDemo map? If so, please let me know! :loveit:

I've also completed the changelog this time, see below. It's only a high-level overview of all the changes since last July, but it's still quite big. It will also be included in the news announcement once the RC has been turned into final in just a few days.

About Scotts question about the initial dialog/menu: I've managed to implement the "first step" as described in my post above, but not the second - sorry. But I think that this is a matter with high priority, and I'll definitively address it as soon as the new release is out. In fact, I'll post some key notes about the plans for the next release soon.

As always, have fun with the new release, and if you find any problems with it, please let me know! :)


Changelog

The changes since the previous release (7.07, July 2007) broadly fall into three categories:
  1. the introduction of Map Scripting combined with a new Clip System for collision detection,
  2. enhancements to the Ca3DE World Editor "CaWE",
  3. everything else.

Map Scripting and the ClipSys

The introduction of map scripting want hand in hand with a thorough revision of the Ca3DE clip and collision detection code, as well as many accompanying code design enhancements.
  • Finally separated the clip world from the render world: Before, collision detection was performed as a by-product of the render system. Now there is a clear separation of the two concepts that exist in parallel (the clip and render worlds).
  • Exemplary reimplemented the "ladder" game code in terms of the new clip system.
  • Created explicit collision models for all static detail models in this release as demonstrated in the second part of the tutorial at http://www.ca3d-engine.de/flash/Placing_a_Model.htm and updated the map files accordingly.
  • Added a fully scripted two-part slide door to the TechDemo map for demonstration.
  • Introduced the new "mover" (EntFuncMoverT), "trigger" (EntTriggerT) and "doors" (EntFuncDoorT) entity classes that use and demonstrate further aspects of both the new scripting and clip systems. Plenty of door instances have been placed into the TechDemo map.
  • Improved the "connection" between 3D world GUI scripts and map-scripts, so that GUI scripts can access and manipulate entities easily. This is also demonstrated in the TechDemo map with the light source near the "emergency exit".
  • Map scripting provides coroutine management, so that functions like wait(), waitFrame() and thread() are possible. See http://www.ca3d-engine.de/forum/viewtopic.php?f=4&t=365 for more details.

Enhancements to CaWE

Thanks to the efforts of Jörn Koch, CaWE has undergone many improvements:
  • The two old dialogs "Patch Surface" and "Edit Face Props" were merged into one: the "Surface Properties" dialog, which included a thorough conceptual revision and rewrite almost from scratch. See http://www.ca3d-engine.de/wiki/mapping: ... tfaceprops for the result.
  • Completed and augmented documentation about all tools, dialogs and menu items, as well as several step-by-step flash tutorials about crucial topics.
  • Much simplified the setup and configuration dialog. CaWE essentially works "out of the box" now, no complicated and error-prone initial setup required any more.
  • Game (MOD) configurations now work automatically, too.
  • 3D cameras are now displayed in the 2D views even when the Camera tool is not active. This makes precise 3D camera movement and orientation more intuitive.
  • Maps can now be compiled from within CaWE with custom options to the compile tools.
  • Several improvements to the 2D and 3D rendering of objects (e.g. bounds texts stay within view, mouse cursor depicts a small "+" when cloning objects, Bezier patches, etc.)
  • The Material Browser dialog has been cleaned up and finally shows more essential material attributes.
  • The number of Bezier patch subdivisions can now be controlled explicitly, and for new Bezier patches, "endcaps" can optionally be created with them.
  • Game definition files that describe all entity classes of a MOD are now Lua scripts.
  • Added a first, experimental incarnation of the new "Entity Inspector" dialog, which is going to replace the old "Object Properties" and "Entity Report" dialogs in the next release.

Other Improvements

All other improvements do not fall into one of the two broad categories above, but are not the less important:
  • Upgraded to wxWidgets 2.8 (latest revision from SVN branch).
  • Revised the in-game command console once more: The "convars" and "confuncs" of the C++ code are now much better integrated into the underlying Lua state. This enables the full power of Lua at the Ca3DE in-game console, makes processing a config.lua file (with e.g. user default settings) trivial, includes a powerful TAB command-line completion feature, etc. See http://www.ca3d-engine.de/forum/viewtop ... 2467#p2467 for more details.
  • Introduced many new console variables and function in the sequence, type list() for a full list and see http://www.ca3d-engine.de/forum/viewtopic.php?f=6&t=374 for an example.
  • CaLight can now create lightmaps for entities other than worldspawn.
  • Cleanup of old client and server code. The server ("remote") console feature has been entirely rewritten. It's now based on connection-less network packets. The client has been adapted accordingly as well, it now also acts as a client for connection-less server communications! Both the client and server side got the appropriate password handling facilities added.
  • The game (MOD) code now accesses the Ca3D-Engine world representation via the proper C++ interface "GameWorldI", an abstract base class. This clarifies the code design significantly.
  • Added support for the new Microsoft Visual C++ 9 (2008) compiler.
  • Server-controlled NPC (non-player character) entities now get their graphics position interpolated for stutter-free movement.
  • Addressed and fixed a huge number of other issues and bugs.
Best regards,
Carsten
User avatar
Thrawn
Posts:302
Joined:2004-08-30, 10:38
Location:NRW, Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Thrawn » 2008-02-18, 19:10

When I've got some spare time, I'm definitely going to check it out. I'm very interested in the scripted assets in the techdemo :)
Image
User avatar
Kai
Posts:177
Joined:2004-08-19, 15:56
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Kai » 2008-02-18, 19:38

I dont have time at all, but i just have to check it out :) :mrgreen:
scott
Posts:173
Joined:2004-08-23, 09:11

Re: Upcoming February 2008 release - RCs available!

Post by scott » 2008-02-19, 06:11

Wow this is a great release, it also now gives me an excuse to try out some lua scripting :)
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-02-21, 19:49

Hi folks!

Here are just a few quick thoughts and notes that I wanted to let you know: :)
  • As always, please let me know whatever you like or dislike about the latest demo.
  • The current release seems to be on a good track, I plan to turn it to final on Monday...
  • I realized that the documentation about map scripting is sparse to non-existent right now, and that the scripting support is utterly underutilized wrt. to the available samples... I'll write at least an "Introduction to Map Scripting" over the weekend into the Wiki. In any case, if you feel like familiarizing yourself with Lua in the meanwhile, it's always worth the effort!! (Ca3DE uses Lua scripting also for GUIs, the console, entity class definitions, etc.). See http://www.lua.org and http://www.lua.org/about.html for a start. http://www.lua.org/pil/ is the online version of the first edition of the "Programming in Lua" book, which is still sufficiently up-to-date (the 2nd edition contains a few changes, but you'll only need it if you get very serious about programming with Lua). Moreover, the book is full of examples and easy to read. :book:
  • I've already started work on replacing the old Options dialog with a properly GuiSys based replacement... This will finally provide everyone the artistic freedom to implement any menu system he likes. :cheesy:
  • I'm also working on a new website btw... previews comming soon.
Best regards,
Carsten
scott
Posts:173
Joined:2004-08-23, 09:11

Re: Upcoming February 2008 release - RCs available!

Post by scott » 2008-02-22, 09:10

Carsten this has been a great release, The smooth interpolation of entities really did the trick :). I'm glad you added the config.lua file, It saves me from having to type in all those commands for mouse and screen res.

Theres an issue with the dynamic lights on Trinity and the rocket launcher, the shadows jerk around violently as trinity runs and the grenade travels along.
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-02-25, 17:48

scott wrote:Theres an issue with the dynamic lights on Trinity and the rocket launcher, the shadows jerk around violently as trinity runs and the grenade travels along.
Ah, ok, thanks for reporting this. It occurs because the grenades origin was interpolated while the related light source origin was not. :oops:

Can you please try the replacement Ca3DE.exe that I attached to this post? Just rename the existing Ca3DE.exe e.g. to Ca3DE-old.exe, then copy this one into its place. It should fix the problem, please let me know. If it works, I'll make a new RC that will be turned final. I'll also take the opportunity to rename it once more: 8.03. :mrgreen:
Attachments
Ca3DE.zip
Replacement Ca3DE.exe that fixes the jerky shadows.
(563.99KiB)Downloaded 438 times
Best regards,
Carsten
scott
Posts:173
Joined:2004-08-23, 09:11

Re: Upcoming February 2008 release - RCs available!

Post by scott » 2008-02-27, 06:50

Well it appears to work. Unfortunately my geforce 6600 died yesterday and the only replacement agp card I could find on short notice was a horrible radeon 9250. As soon as any dynamic light occurs the frame rate dives into single digits, but I was able to tell that the shadow was moving a lot smoother
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: Upcoming February 2008 release - RCs available!

Post by Carsten » 2008-02-29, 11:54

Ok, thanks for the info. I'll publish the new release now... :D
Best regards,
Carsten
Post Reply

Who is online

Users browsing this forum: No registered users and 19 guests