Flower King

Flower King is a 3D action-game, using OpenGL 4 as a rendering API. This game was originally written by Matej Mlejnek and me for the Computer Graphics 2/3 lab (summer 2002) at the university as a work for two students about writing an OpenGL-based 3D game.
My friend Miklos Lenner wrote the excellent music for us.
In my free time, I am still working on this game.

In-game capture:

 

Screens

 

 

 

The story

 

Hugo loves collecting flowers, especially in the forest and flowers from the neighbours’ garden. He decided to make an excursion and collect some flowers and give them to his girlfriend. As he is also a rocket hobbyist, he takes his newest one on the tour. Hugo should collect also the big mushrooms, which are needed as fuel for the rocket. In the game, the player controls Hugo to help him fulfilling the request.

 

How to play

 

H show/hide the help screen with more detailed infos
W/S, Arrows Up/Down move forward/backward
A/D, Arrows Left/Right rotate left/right
PageUp/PageDown look up/down
Mouse movement rotate view
Home center view
left click jump
right click apply rocket
ESC quit to menu

 

Download

 

Version OS Date Length Release-notes Download link
v2.0 Windows binaries 2016-04-22 62.726.412 bytes OpenGL 3.3 core profile, better animated dog, better font tfk_v2_build_22_04_2016.zip
v1.3.1 Windows binaries 2007-10-11 31.404.037 bytes The terrain LOD crack-filling part is fixed tfk_v131_2007_10_11_bin.zip
v1.2 Windows binaries 2006-12-11 31.402.056 bytes Support for OpenGL 2.0 tfk_v12_bin.zip

Note: Flower King is continuously developed in my spare time (and I don’t have much free time).

Feel free to write your comments about the game below!

Further, I look for people who want to participate in the project. Especially, graphician and level designer would be very welcome. Feel free to write to my email address peter dot alexay at gmail dot com.

 

Current activities

 

2016.04.22 The current version of the game is ready to download (see above). An in-game video capture is also added.

There are several enhancements in the code, such as removing all deprecated OpenGL API calls, so that the game uses 3.3 core profile along with some OpenGL4 features (particle system using transform feedback). I am currently working on the reimplementation of the shadow-mapping feature, using Variance Shadow-maps instead of CSM.

2015.04.10 A good looking animated dog model is integrated into the game.
The model has had originally the Blender format but I had to convert it to Collada in order to allow AssImp to properly parse it.
All MilkShape-ASCII models are now converted to a format readable by AssImp.
2015.02.11 TFK web-page moved to WordPress
2015.01. Model-loader library AssImp is now used for loading model files. Currently I’m converting the models with MilkShape3D-text to MilkShape-binary because AssImp does not support the MS3D ASCII-format.Integrating AssImp into TFK makes possible to use more ready-to-use models (also skeletal animated ones) that are available free on the internet, especially new dog models (I want to replace my old fake-dog-model). The 3D-models can be of any format.The AssImp handler in TFK includes now an OpenGL 3.3 class vertex-shader, so the skeletal animation part is now also free from deprecated OpenGL functions.
2014.03. Particle-system (smoke engine) is re-implemented using OpenGL4’s transform-feedback technique.
2009-2014 Re-design due to deprecation of old OpenGL2 calls at the newer OpenGL-versions. This motivates me to re-implement fixed-pipeline calls so that VBOs and VAOs are used. The most complicated parts are the Particle System (smoke engine) and the skeletal-animation handler.
2008.10.03 After experimenting with a simple shadowing technique (projected shadow texturing), I decided to integrate a better shadow algorithm, the CSM (cascaded shadow maps), as this method is probably the best for the TFK engine.
The CSM implementation suits well for OpenGL3-class (DirectX10) graphics cards (such as GeForce 8 series), but older hardware will be also supported.
2007.10.11 Version 1.3.1 FINAL released (available on the download section).
The terrain LOD crack-filling part is fixed.
2007.10.07 Version 1.3.1 BETA released
Bug in VBO handling code is fixed, this version should run also with newer graphic cards (with VBO support). However, the terrain LOD crack-filling part is not yet 100% error-free. Some cracks (due to T-junctions) are still visible.
2007.10.05 Version 1.3 BETA released
This version contains improvements in scene-rendering (new scene type “Octree” is implemented) and a (discrete) terrain LOD algorithm is introduced. Further optimizations in model rendering (fade-out is defined for each model). On Occlusion-query capable hardware, the Octree scene rendering is combined with occlusion culling. I think, this combination has the best rendering performance. Additionally, the terrain LOD technique helps further to improve the frame-rate.
2006.12.11 Hotfix for version 1.2 released.
In this version, the terrain vertex shader is now implemented without branches, so using no special language elements improves compatibility with older graphic cards.
Further, this version has a new command line parameter (“ATI”) which causes the program to load another terrain vertex shader that works possibly better with ATI cards (I have tested on a Mobility Radeon X1600 only because I have no other possibilities. On my GeForce 6800GS the game runs without problems with the original shaders).
More detailed: Mobility Radeon X1600 (and possibly other ATI cards as well) does not support the GLSL variable gl_ClipVertex. Compiling a vertex shader that uses this internal variable causes the shader to run in software mode, which is not acceptable for an interactive application like TFK.
Therefore I made a second terrain vertex shader that does not use this variable. This causes some visual artifacts near the water borders (Z-fighting at some terrain polygons under the water), but this is a tradeoff for better performance (if the shader runs in hardware, you must not wait 10-20 seconds for a frame)! So if you experience very bad performance (FPS under 1), running TFK with the ATI parameter maybe helps.
2006.11.16 Version 1.2 released.
New features: water, occlusion culling, VBO, improved menu, improved keyboard/mouse control
2004.12.01. – 2005.02.20 Some new features implemented:
– Support for VBOs (vertex buffer objects, supported in OpenGL 1.5 and above)
The static scene (plants, streetlamps etc.) are drawn with VBOs, or vertex arrays if VBOs are not supported.
– FSAA (full-screen anti-aliasing), can be set in video setup menu
– Level of anisotropic filtering can also be set in video setup menu
– Changing the screen resolution is also possible in the menu
2004.03.03 Version 1.1 released
2003.12.01 Inserting some new plant models in the game. Intensive level re-editing is also ongoing.
2003.11.20 Implementing of dynamic terrain texturing in the engine. This utilizes multitexturing HW and allows the terrain to be textured according to the slope and height. This technique allows also more realistic roads which were built in the first level (Sunny Island). Tom Nuydens had an article about the technique on the www.delphi3d.net site, which doesn’t exist anymore.

Leave a Reply

Your email address will not be published.

*