Archive for February, 2010

Right in the eye!

Posted in Development on February 25th, 2010 by Newton – 5 Comments

Perhaps you noticed that the pictures of your crew selection buttons in the upper left corner of the screen are now animated synchronously with the actual movement of the clonk you control. Ever tried to aim a javelin in such a way that the little clonk in the upper corner throws it right in your face?
It happens so fast that you can almost not see it, but here is a snapshot of the exact moment 🙂

Ouch!!

Who knows what other miracles perspective rendering has in store for 2D Clonk?

What we’ve been working on

Posted in Development on February 24th, 2010 by Ringwaul – 3 Comments

Believe me when I say we’ve really been putting some effort into OpenClonk. The work we’ve put into the game over the past month has really started to speed up, and we’ve already got some nifty objects the team has been working on. Since a picture can fulfill what words cannot, I’ll keep the pictures plenty and the words few.

Using the shovel

This time around, we’re taking full advantage of mouse control. This functionality has helped us develop new and interesting items, and drastically improve such objects from previous Clonk titles. Starting with some of the basics, how could we not have a shovel?

Shooting with the bow

Aiming the musket

With mouse control we need to have some weapons, of course! Here we have a Clonk testing his Bow. The bow may be a fairly old design, but Clonks can make excellent use of this versatile weapon in any terrain.

Another creation of ours is the Musket, pictured here. The musket is a fairly lethal weapon, and can be loaded with different types of shot for devastating effects. Though the musket may be fairly powerful, and more accurate than a bow, the musket requires a moment of time to load shot into the barrel.

Clonk riding a boompack

And here we are with an incredibly ludicrous, yet effective, tool: the Boompack. The boompack is basically a rocket, except Clonks have gotten it into their heads it would be a fantastic idea to ride it. And surprisingly, they were right! Any clonk foolhardy enough to ride one may tilt the boompack’s direction while flying to avoid mountain sides.

And here is a completely fresh idea for Clonk: the Magical Jar of Winds. The Wind Jar is a multi-purpose tool: it is able to propel enemies away from you, and possibly even incoming weapons hurled by the enemy. It can also be used to give friends an incredible boost to their jump to get to out-of-reach places. And lastly, when timed correctly it is possible to launch yourself great distances by funneling the wind behind you.

A tremendous jump using the wind jar

Here we have a Clonk doing what they are well known for: mining. However, the Clonk now has new tools at his disposal. By far the most effective is the Dynamite Box. Each stick of dynamite taken from the box will be interconnected by a fuse, which the Clonk may light with his ignition box, causing a mighty explosion.

Clonk mining gold with dynamite box

Lastly, here is a crew of Clonks defending their small settlement with a variety of weapons. As you can see, the clonk on the right side of the settlement is using a javelin. The Javelin can be thrown to deal large amounts of damage, but at distances it can be quite difficult for the javelin to find it’s mark. The Clonk seen in the middle of this picture is using a sword and shield, which are still in the process of development.

Clonks defending a settlement

Comprising this settlement is the Tools Workshop, where clonks shall create basic tools for production and combat. As one can clearly see, the second building is a windmill, used to generate power for a settlement.

Digging Reworked

Posted in Development on February 10th, 2010 by MimmoO – 1 Comment

Hey folks,

Sven2 has reworked the digging system, and the Clonk is a lot more agile in close underground situations now. The Clonk does now not stop digging when he is hindered, for example by an obstacle or undiggable material, when you keep the mouse button pressed. If he is tumbling or falling, he will instantly restart digging, as soon as it is possible.
You can view the topic in the forum here: https://forum.openclonk.org/topic_show.pl?tid=368

The other important change is, that you can now start digging from scaling and hangling. This gives a huge boost in many situations, for example if you are stuck and could not free yourself, you can now just dig yourself out. If you are hangling on a very thin brigde out of loam, you can now dig a few pixels of them out, allowing you to pass through it. But of course, you can not dig vertically in the ceiling, this would be overpowered. All in all, this change is great in my opinion.

The Masterserver is still running and works fine. A very popular scenario, which seems to be the favourite of Sven2 at the moment (maybe because he can test the new digging system there), is “The Cavern“. It is a race from the bottom to the top in a high, but not very wide landscape. It also uses the new checkpoint system for races, which allows scenario developers to create a more complex route, or forcing the players to not always take the straight way.

We also have a screenshot series for you this time, which shows the scenario “The Cavern“. You can see how the new digging system looks like, and, if you have not played OC yet, how it looks ingame.

Website additions

Posted in Announcements on February 9th, 2010 by Newton – Be the first to comment

The OpenClonk website has seen some growth lately. Since the game reached a … let’s boldly call it… “playable” state, we thought it is time to ease things for content developers and for people who just want to try out the current repository version of Clonk without going through the hassle of compiling the source by themselves.

Nightly builds

Click on Builds in the navigation to get to the nightly builds page. Every week, a new development snapshot (a build of the current OpenClonk game which runs out of the box, no installation required) will automatically be available. Additionally, every night a new engine will be compiled and uploaded there as a nightly build. The fame for this system goes to Clonk-Karl who previously posted something about how to cross-compile clonk (under linux for windows).

In case you rather want to compile Clonk yourself, have a look at the developers guide in the wiki. Actually it is quite easy to set up, especially because PeterW wrote a tutorial for that. Please be so kind to post bugs you find with the newest development snapshots into the bugtracker. Also, note that the development snapshots are just that and not much more, much of the game content is not written yet. But if you take a peek into our forum, you’ll see that it is bustling with activity and in fact, you are invited to join us. After all, this is what an open source project is about, no?

Masterserver

Also, B_E finished the masterserver for OpenClonk which keeps track of the games which are currently open or running. That means, you can directly test playing OpenClonk over internet (it works!) through the menu without having to join via direct IP.

No games on the masterserver ... yet

Reference

I uploaded an updated documentation for content development. This should help all content developers to develop for the future Clonk title (OpenClonk, that is). Also, Luchs is currently working on overhauling the docs, I hope I can report about that soon. The docs might still be outdated at some parts or not available in English language but this will hopefully change now that it is available for the public again. Please do not hesitate to report any errors, wrong stuff, errors in translation etc. in the bugtracker or, if you like, in the forum.

Cross Compiling the Engine

Posted in Announcements on February 3rd, 2010 by Clonk-Karl – 2 Comments

In case you want to cross compile the OpenClonk engine from Linux, this is how I made it work:

First, install the mingw32 cross compiler for your distribution. On Debian the package is called mingw32. Then, fetch the required dependencies. You can get libpng, jpeg, zlib, freetype and openssl from gnuwin32. Fetch the developer packages and unpack all to a deps/ subdirectory. glew binaries can be found on its hompage. I put these into a separate glew/ directory but it’s probably also fine to throw the files together with the others into deps/. fmod can be fetched from fmod.org. Again, I put it into a separate fmod/ directory.

Now comes the only somewhat tricky part: The d3dx library. MinGW has a library file for it, called libd3dx9d.a, but there are no header files. However, Wine ships them (in /usr/include/wine/windows/d3dx9*.h on my system). So copy all of them into d3dx9/include/ (or deps/include/ FWIW). Not all symbols used by OpenClonk are declared in Wine’s header files though, so I added the remaining ones required. Here is the resulting patch. There is one more problem though: MinGW’s libd3dx9d.a does not export the symbol D3DXCompileShader. I therefore used d3dx9.lib from the official DirectX SDK and put it into d3dx9/lib/. If you don’t have it already it’s quite annoying to obtain though: You have to download a multi-100MB installer just for that single library file. I think it should be possible however to create a working libd3dx9.a using Wine’s .def file, but I haven’t tried this.

OK, so once this is done we have all dependencies together. What remains to be done is to create a so-called toolchain file for cmake to tell it that we are not going to target the platform on which we are building. For that purpose, create a new file called toolchain-mingw32.cmake (or different, it does not matter) and add this content:

# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)
 
# which compilers to use for C and C++
SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)
SET(CMAKE_RC_COMPILER i586-mingw32msvc-windres)
 
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc /home/ck/deps /home/ck/glew/glew-1.5.2 /home/ck/d3dx9 /home/ck/fmod/fmodapi375win/api)
 
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

Remember to adapt the paths to the dependency files as necessary. One final thing to do, if you have used separate directories for glew, fmod and d3dx9 is to add Symlinks to deps:

ln -s glew/glew-1.5.2/include/GL deps/include/GL
ln -s fmod/fmodapi375win/api/inc/*.h deps/include
ln -s d3dx9/include/*.h deps/include

I think this is only required because OpenClonk’s CMake script does not add the include paths of these libraries to the Compiler Flags (which it probably is supposed to do). Finally run

cmake -DCMAKE_TOOLCHAIN_FILE=~/toolchain-mingw32.cmake -DCMAKE_INSTALL_PREFIX=~/mingw-install
make

and have fun watching how the Code is compiled.