m The link to the Clonk Forge now points to ccf.striver.net
(13 intermediate revisions by 2 users not shown)
Line 1:
Line 1:
In early march 2009, Matthes Bender told the other developers of Clonk Rage that he wouldn't have any time to work on Clonk anymore. As the Lead Designer of Clonk since Clonk 1 and Directing Manager of RedWolf Design, the company selling the Clonk titles, he left a significant vacancy. The development of Clonk Rage, the last commercial Clonk title, was mostly done as a hobby by the other developers and although they wanted to continue doing that, they felt that more contributors were needed. RedWolf Design agreed to put the game engine's source code under an open source license, the [[License#The_ISC_license | ISC license]].
OpenClonk is the [http://en.wikipedia.org/wiki/Open_source Open source] successor of the '''Clonk gaming series'''.
The source code was published in a public repository, allowing everyone to freely modify the source code and game content and discuss the future directions in an open forum. It was also decided to drop a lot of the "old" game content and drop the backwards compatibility requirement.
OpenClonk is a project dedicated to the further development of the Clonk game series. Our goal is to improve and make the real strengths of Clonk more fun to play: Bustling mining, production lines and economy, fast and fiddly melees. Another focus lies on the further enchancement of the game engine and the extensibility/modability of the game content with [[C4Script Documentation|C4Script]] which has always been one of the most important features of Clonk.
== New features since Clonk Rage ==
== What is Clonk? ==
[[File:ClonkDigging.png|right]]
Clonk is a multiplayer-action-tactics-skill game. It is often referred to as a mixture of The Settlers and Worms. In a simple 2D antfarm-style landscape, the player controls his crew of Clonks, small but robust humanoid beings. The game encourages free play but the normal goal is to either exploit valuable resources from the earth by building a mine or fight each other on an arena-like map.
This section is written for all those, who know Clonk Rage and would like to know what's new in OpenClonk. Since the project went open source, quite a few new experimental features have been introduced. In this newest installment of the Clonk series, we've left behind the old shackles and created something more advanced than anything you've ever seen in Clonk.
== History ==
=== General ===
The inventor of the game is Matthes Bender.
The first Clonk was a two player melee game in which the players fought with rocks, flints (basic explosives) and catapults. Through several versions Clonk developed into a hectic and quite complicated game with numerous tactics and possibilities. The classic versions of the game are freeware and can be downloaded from [http://www.clonk.de clonk.de] (may be in German only).
New in OpenClonk is the possibility to '''zoom''' in and out. Now, the clonk can be displayed in a proper size, larger than a mouse cursor ;-). Use the scroll wheel on the mouse or F5/F6 to zoom.
The newer versions of Clonk series (Clonk 4, Planet, Endeavour and Rage) are mostly based on the engine of Clonk 4. Clonk Planet (2000) was the first game in the series with a built-in developer mode that enabled the player to actually develop their own mods for the game. Permitting access the core scripts of the objects and scenarios, the developer mode became one of the most beloved features of Clonk. Thousands of player made and still make mods that are accessible on the [http://www.ccan.de CCAN], the main download archive. Single objects but also big settlements packs or adventures are available. On the [http://ccf.striver.net Clonk Forge], hobby developers come together to collaborate and contribute to each others clonk development projects.
Since Clonk Planet, new original game content was continuously added to the main game, for example the knight pack (introducing the knight as a new type of Clonk and medieval battles), the fantasy pack (with a powerful mage and new magic spells) or the FarWorlds (uncommon places such as the Arctic, the Jungle and the Deep-sea). The scripts of the objects and scenarios are written in Clonk's own scripting language: [[C4Script Documentation|C4Script]] (with a C-style syntax).
[[File:bones.png|right]]Also new is the possibility to add '''3D models''' to be rendered ingame. As opposed to the classic sprite graphics, 3D models are much more versatile: First, the models don't get blurry and the animations don't seem edgy when zoomed in. Animations are directly saved in the model, they don't need to be pieced together from single renderings in different animation phases and then exported into a big Graphics.png anymore (goodbye, anigrab.exe). This allows to add a lot more animations than before. Currently, the clonk has more than 100 different animations.
In the last years the Clonk community grew continuously, even beyond the borders of the German speaking countries.
The renderer loads models in the Ogre 3D format, a lightweight format for 3d models tailored to be rendered in realtime. Models in the landscape are projected orthographically and pictures of objects perspectively. Apart from the basic stuff, the renderer supports:
* UV mapped textures (including multitexturing)
* Transparent textures / alpha maps
* Texture animation
* Skeletal animation including blending of multiple animations
* Backface culling
* Live script-controlled mesh transformations and attachments
See the [[Artists Guide]] for how to create models that will be rendered in realtime. Our [http://hg.openclonk.org/openclonk-resources/ repository for resources] already encompasses many such models.
In early March 2009, Matthes Bender told the other developers of Clonk Rage that he wouldn't have any time to work on Clonk anymore. As the Lead Designer of Clonk since Clonk 1 and Directing Manager of RedWolf Design, the company selling the Clonk titles, he left a significant vacancy. The development of Clonk Rage, the last commercial Clonk title, was mostly done as a hobby by the other developers and although they wanted to continue doing that, they felt that more contributors were needed. RedWolf Design agreed to put the game engine's source code under an open source license, the [[License#The_ISC_license | ISC license]].
The source code was published in a public repository, allowing everyone to freely modify the source code and game content and discuss the future directions in an open forum. This big change gave us the opportunity to redesign the deadlocked structures of the shareware Clonk titles. By giving up the downward compatibility new concepts become possible. So it was also decided to drop a lot of the "old" game content and drop the [[FAQ#Why_do_you_start_from_scratch_regarding_the_game_content.3F|backwards compatibility requirement]].
However, most of the changes we made and are making were and are only possible because we decided to drop the backwards compatibility towards Clonk Rage and created all game content from scratch. This is why the game content of OpenClonk is far from having reached the extent of that of Clonk Rage.
The '''controls have been overhauled completely''' and are now completely controlled by script. With the new control system, it is much easier and intuitive to control your clonk. For new players, learning the unusual and unintuitive controls of Clonk has always been a huge obstacle to overcome before they could appreciate the bustling gameplay of clonk.
[[File:Digging.png|left]] The controls are now completely customizable and can be adjusted in any scenario/mod. The standard controls are based on a well known scheme from many other games: Movement with WASD, throwing, aiming and using tools with the mouse. Space for interacting with objects in the landscape (like entering a building or grabbing a vehicle). The new controls fully utilize the '''mouse control''', giving you precise control over all the items and weapons. The new shovel for example can be used also from climbing or hangling and the clonk just digs into the direction of the cursor while the mouse button is held down. Details of the new controls are explained in the first tutorials in the game.
Apart from the keyboard+mouse control, it is also possible to use a gamepad. However this feature is still experimental and does only work for one gamepad. It is also not possible yet to customize the controls but this is planned in the future. A early version of the gamepad controls were introduce in a [http://blog.openclonk.org/2010/03/clonk-with-gamepad/ blog post].
An extensive documentation of the custom controls feature can be found in the [http://docs.openclonk.org/en/sdk/playercontrols.html C4Script documentation]
Overall, the clonk has been made more agile than before: He can not only move and use stuff while jumping, he can also make use of a number of tools that help him scramble around the world - like grappling hooks, rope ladders, the improved shovel and many others.
[[File:Backpack.png|left|200px]]Closely related to the controls is the inventory system of the clonk. Every clonk has a '''backpack''' now, in which he can carry five items (which can be adjusted for any scenario). He can open the backpack and easily exchange any object in the backpack with one of the items in his hand.
There is a '''big focus on tools''' in OpenClonk. The clonk needs a shovel to dig, an axe to chop and a hammer to build. In exchange, the clonk can not only carry more than the classic clonk, but he can also use ''any'' item: A sword, a bow, a shovel, a musket, a magical staff, etc.. There is no need for special clonks anymore, the abilities of a clonk are defined by his equipment. By making use of the mouse, tools have become more versatile and easy to use.
{{clear}}
[[File:Crew_hud.png|right]] The new control system goes hand in hand with the '''complete overhaul of the HUD'''. The minimalistic HUD was a thing that was repeatedly critized on Clonk.
Now, the HUD is completely controlled by script (rather than controlled in the engine) which allows more flexibility for scenario and mod authors. The default HUD shows all clonks in the players team on the upper edge, all with an energy- and breath-bar right below their picture. This picture shows the actual clonk live, so if he is attacked or drowning, you see it in the picture.
{{clear}}
[[File:Lower_hud.png|left]]
On the lower edge of the screen, the two items that the clonk is carrying in his hands which can be used with left and right-click are shown. Also, all other objects that can be interacted with in the landscape are shown there.
All buttons that are shown in the HUD can be clicked to be used or to be selected and items can be dragged and dropped around the HUD where it makes sense. This feature is also interesting for mod makers.
{{clear}}
Since '''all game content has been created from scratch''', the many new or remade tools, weapons, items, buildings, vehicles and animals, rules, goals and environment objects must be mentioned. So actually, the question should rather be, what is not new? Well, regarding the game content, nothing. Instead of listing all the new or remade objects here, you should just play the game and see by yourself :-P.
=== For developers ===
Many changes have been made to C4Script.
* #strict is not used anymore. All scripts are considered to be strict.
* All functions have been stripped of the parameter which defines for which object this function is called. For example, now it is clonk->GetX(); instead of GetX(clonk).
* Some functions have been removed or replaced. For example FindObject() now works like the FindObject2() from Clonk Rage and FindObject2() was removed. Also, some engine callbacks have been added. Refer to the documentation.
* The ID of an object is now not limited to 4 big letters anymore. For example CreateObject(Musket); instead of CreateObject(MSKT);
* All functionalities, like climbing ladders, rope physics, bases, workshop or clonk controls have been written in unitized library objects which are then included by the concrete objects. This makes it easier to include functionalities of other objects without having to inherit ''everything''. For example, all production buildings #include Library_Workshop to inherit the basic workshop functionality.
* TODO Proplists, actmaps [Günther explain here]
* DescXX.txt, Names.txt are not used anymore. The name is set in the script and translated in the StringTblXX.txt. A description is only needed for some objects and also defined in script and translated in the stringtable.
Latest revision as of 21:20, 2 June 2016
OpenClonk is the Open source successor of the Clonk gaming series.
OpenClonk is a project dedicated to the further development of the Clonk game series. Our goal is to improve and make the real strengths of Clonk more fun to play: Bustling mining, production lines and economy, fast and fiddly melees. Another focus lies on the further enchancement of the game engine and the extensibility/modability of the game content with C4Script which has always been one of the most important features of Clonk.
What is Clonk?
Clonk is a multiplayer-action-tactics-skill game. It is often referred to as a mixture of The Settlers and Worms. In a simple 2D antfarm-style landscape, the player controls his crew of Clonks, small but robust humanoid beings. The game encourages free play but the normal goal is to either exploit valuable resources from the earth by building a mine or fight each other on an arena-like map.
History
The inventor of the game is Matthes Bender.
The first Clonk was a two player melee game in which the players fought with rocks, flints (basic explosives) and catapults. Through several versions Clonk developed into a hectic and quite complicated game with numerous tactics and possibilities. The classic versions of the game are freeware and can be downloaded from clonk.de (may be in German only).
The newer versions of Clonk series (Clonk 4, Planet, Endeavour and Rage) are mostly based on the engine of Clonk 4. Clonk Planet (2000) was the first game in the series with a built-in developer mode that enabled the player to actually develop their own mods for the game. Permitting access the core scripts of the objects and scenarios, the developer mode became one of the most beloved features of Clonk. Thousands of player made and still make mods that are accessible on the CCAN, the main download archive. Single objects but also big settlements packs or adventures are available. On the Clonk Forge, hobby developers come together to collaborate and contribute to each others clonk development projects.
Since Clonk Planet, new original game content was continuously added to the main game, for example the knight pack (introducing the knight as a new type of Clonk and medieval battles), the fantasy pack (with a powerful mage and new magic spells) or the FarWorlds (uncommon places such as the Arctic, the Jungle and the Deep-sea). The scripts of the objects and scenarios are written in Clonk's own scripting language: C4Script (with a C-style syntax).
In the last years the Clonk community grew continuously, even beyond the borders of the German speaking countries.
In early March 2009, Matthes Bender told the other developers of Clonk Rage that he wouldn't have any time to work on Clonk anymore. As the Lead Designer of Clonk since Clonk 1 and Directing Manager of RedWolf Design, the company selling the Clonk titles, he left a significant vacancy. The development of Clonk Rage, the last commercial Clonk title, was mostly done as a hobby by the other developers and although they wanted to continue doing that, they felt that more contributors were needed. RedWolf Design agreed to put the game engine's source code under an open source license, the ISC license.
The source code was published in a public repository, allowing everyone to freely modify the source code and game content and discuss the future directions in an open forum. This big change gave us the opportunity to redesign the deadlocked structures of the shareware Clonk titles. By giving up the downward compatibility new concepts become possible. So it was also decided to drop a lot of the "old" game content and drop the backwards compatibility requirement.