Montag, 21. Januar 2019

Update - Situation not resolved (Beware the poisons Levofloxacin, Ciprofloxacin)

Some asked me if it got better - actually it got worse. After just 3 pills I can barely walk and got a nephrotic syndrome in addition.. Be aware of Fluoroquinolones and never take them !!

Btw, Fluoroquinolones are responsible for most antibiotic caused disabilities - but thats not what they tell you when you get the prescription. They say its well tolerated.

Brief addition: This blog uses Cookies for Google Analytics und AdSense. According to EU law, I need to state this on the page.

Mittwoch, 22. Juni 2016

Side effects of Antibiotics (Levofloxacin, Ciprofloxacin) forced me to put dev on hold

I got side effects of antibiotics (levofloxacin,ciprofloxacin) and am currently not able to continue the voxel development. Once it gets better I will resume.

Be warned: Those antibiotics have delayed severe, sometimes permanent, side effects and damage nerves, eyes, ears, tendons, heart, muscles, joints and bones. While you take the medicine everything is fine, but weeks later tendons, muscles and joints start to hurt so you can barely move. The package insert says it occurs 1:10000, but my doctor honestly said every 100th patient of him has issues with it.

You can help to make other ppl aware of this danger by sharing and signing this petition (German)

Main points are:

* Germany/better Europe should get a black box warning like US
* Restrict use to life-threatening situations
* Drugs to treat these side effects need to be researched
* Tests for testing adverse reactions from blood or DNA samples need to be developed

Freitag, 8. April 2016

Planet Rendeing : Recursive Level of Detail, With Code

Today I present you a level of detail algorithm for planet rendering. It has merely 100 lines of C++.

Samstag, 19. März 2016

Basic Networking

Basic Networking working. So far without any physics & voxels. Running server + 4 clients @60fps on my Notebook simultaneously.

Donnerstag, 25. Februar 2016

OutStar Demo (Pre-Akpha)

This is a pre-alpha of OutStar - Enjoy.

It contains three modes:

1. The game mode (no shooting so far, just walk around)
2. Block edit (toggle with tab)
3. Sculpt editor (toggle with middle mouse button)


F1 Screenshot
F2 Toggle Fullscreen
F3 Game/Edit Mode
F4 Sculpt Mode
F5 Save Level
F6 Load Level
F7..F10 Set Resolution 1024x512..1920x1080

TAB Toggle Edit/Game Mode

Space Jump
wsad Move Player
Shift Run

Game Mode:

LMB : Will be shoot

Edit Mode:
LMB set block
MMB Toggle Sculpting Tool
RMB delete block
Wheel: change block

Hold the LMB/RMB and drag to set a larger area

In sculpting tool:
Add block to octree : adds a new block to the available list

Dienstag, 3. November 2015

Game-Net: Simple RPC System for Games (C++11)

The library provides basic client / server network functionalities for games using RPCs. The major strength of the library is the template based RPC class. It allows to register and call RPCs effortless. It further includes a tutorial game server and game client (each around 300 lines of code ) for a very simple multiplayer shooting game as a proof of concept.
Network RPC Lib Features
  • Register RPCs in one line. The RPC class autodetects all paramters from the function pointer
  • RPC Data-type mismatch or wrong number of parameters are stated as error to ease debugging
  • Numbers are automatically sent as the smallest possible datatype (byte, short , .. )
  • Supports GLM datatypes for use in 3D Games
  • Supported Datatypes : (u)char,(u)short,(u)int,float,double,vector,map, GLM vec,mat and quat
  • Support for nested Datatypes like map [ string , vector ]
  • Reliable and unreliable calls possible
  • Function pointers of remote functions are not required
  • Based on ENet
  • Tested on Cygwin, Linux (Ubuntu) and Windows
  • C++11 based
Network RPC Lib Limitations
  • RPCs cannot be class member functions
  • No compression
  • No encryption
  • Only void functions supported. Non-void functions were tested but complicated everything.
  • Client to Client connections are not supported
Example Game Features
  • Lobby
  • Multiple Games
  • Handle spwaning/removing of game objects
  • Simple Shooting functionality
  • Intentionally textmode for simplicity
A first simple test on localhost (Core i7 Notebook) gave:
1 Call / Network Update:
  • 69.000 unreliable RPC calls/sec [client.call_ex(0,"hello_server", "Greetings")]
  • 74.000 reliable RPC calls/sec [client.call_ex(1,"hello_server", "Greetings")]
10 Calls grouped / Network Update
  • 144.000 unreliable RPC calls/sec [client.call_ex(0,"hello_server", "Greetings")]
  • 310.000 reliable RPC calls/sec [client.call_ex(1,"hello_server", "Greetings")]
20 Calls grouped / Network Update
  • 142.000 unreliable RPC calls/sec [client.call_ex(0,"hello_server", "Greetings")]
  • 364.000 reliable RPC calls/sec [client.call_ex(1,"hello_server", "Greetings")]
Note that this is not about the response time
Example Usage
Call Server Function:
Client Side:
NetClient client;

void set_pos(vec3 pos)
    // do something

int main()
    rpc_register_remote(client.get_rpc(), login);
    rpc_register_local(client.get_rpc(), set_pos);
    client.connect("localhost", 12345);"login", "myname", "pass");
    while(1) client.process();
Server Side:
NetServer server;

void login(uint clientid, string name, string password)
    // clientid is the first parameter for server functions, "set_pos", vec3(1,2,3));    

int main()
    rpc_register_local(server.get_rpc(), login);
    rpc_register_remote(server.get_rpc(), set_pos);    
    core_sleep(10000) ; // wait client to do stuff

Dienstag, 28. Juli 2015

Github Code

I shifted some of my code to GITHUB. You can find it here