New stuff in games

Montag, 16. November 2009
Today, I held a presentation at our local Filmfestival in Kassel, Germany.
The Slides can be seen here: Vortrag.pdf, and maybe later the recordig on interfiction.
It is german only!

My topic is the simulation in RTS games and concepts for MMORTS-Games. Maybe I wll release soon some more detailed stuff in this blog or over at Blackstreamgames

An even longer time ago...

Sonntag, 23. August 2009
.. I thought writing more often might help me to get more organized (in the way I think).
However, this blog wasnt used for a long time (instead twitter arose).

Now, I´m back. And I have to tell you yet another idea for a game.

First the background, that led to this thoughts:
Some might know, in germany a discusion has started to illegalize some or many sorts of video games. Mostly the politicians say, so called "killer games", like counter strike, are the evil source for massacres. Especially with an election upfront, the topic of making many sorts of video games illegal is very popular. In germany, the discussion is lead by the ministry for family afairs and their head Mrs. Ursula von der Leyen. She votes for a radical censured and much more family friendly internet. However, without many rights, especially without the freedom to obtain uncensored informations.

This whole situation lead me to a new, yet not very bright, game idea:
You are a secret secret agent for the german intelligence. So secret, that nobody can ever know you. Your mission: find and dispatch any hardcore gaming pupil in the republic, before they can conduct a massacre.
Your enemies: Drunken parents, letting their child consume everything they want and the police, investigating the path of blood you leave.

Can you fullfill the secret wishes of the german council? Will you be able to avoid to be seen by anyone? Mrs. Censursulies will give you all the information you need, to find any videogaming pupil in the streets.
The master plan: Split the sides of the gamers by "dispatching" certain players and leaving trails to opposing sides, therefore providing hard evidence for video game introduced violence, and futher making it possible to forbid any videogame and new media product by law.

Help to protect all the good ones from any sort of maybe massacre!

Your reward: You will be the hero, that all of us will thank, one day in the future...

-------------------------------------------------------------------
OK, thats very hard stuff :-)
However, this games "provides" one, satirical solution for the whole problem of kids going into a gun rampage.

In germany it is not as easy as in some other countries to obtain weapons and ammunition. No one has a natural right to have a weapon and the possesison and process of obtaining weapons is heavily controlled by law. Still, all the german massacres where done with weapons, reachable to the pupils.
This led me to the question, if, when weapons would be easier available, more massacres would be conducted?
I can not give an answer to this question, nor can I image the answer.

Many politicians have made some steps backward in finding their scape goats in video games. However, a broad range of the german nation seems to agree, that video games are leading to a brutalization of the consuming youth. Therefore, the easiest solution seems to be the banning of video games, at least of certain genres (first person shooters).
There are some, but unalluring, voices, which point at the bigger picture. This picture contains among other things, the social backgrounds, and how growing up today, differs from growing up 30 years ago. Those explantions and thoughts are not very popular, because they show, whats have been forgotten and lost in the education of our childrens. Maybe, this has to do with the alteration of the old family model, where the father earned the income and the mother raised the children to the current model. Further, it might show some of the potential pittfalls of our free market economy (the so called social free market economy).

Do not missunderstand me. I´m not for the reintroduction of the old family model, nor for the supression of equality between the genders, nor for radical changes (and potential violent) changes in the society. However, I think we should start thinking about, what is the difference, and what impact might that have and how we can correct the impact, if there is any. The current, and hereby satarized, trend in politics is like painting over rust. Hoping to supress the disgusting results, never searching for the real cause of it. Fast words and actions, instead of lasting thoughts...

What do you thing?

a long time ago

Dienstag, 16. September 2008
I mentioned a lot of topics...

So first: The games convention was nice and I am very happy that I have attended. We did not actually sold the game or the ideas we had, but we got some feedback and I was lucky to get some time with some people to talk about it... Lets see what may arise from it, nothing concrete is known today, but we are working (or at least we try to) on a better concept and a lot of documentation to get into business this or next year...

Other thinks have emerged for now:
- I need to complete my math project until october.
- And I need to learn the math behind it for my hopefully last needed exam.
- Some writing and much more coding and even more thinking is required to get my masters thesis content up and running... (and to make Thomas smile happily...).
- Other projects with lesser risks and involvement have emerged.

For two of this projects I have done demonstration videos of some case studies for the sponsors. This had some serous impact on my webtraffic, hence the demo videos are not publicity available...

Thats what I call a serious impact :-D

"a long time ago" vollständig lesen

Ups and downs

Sonntag, 17. August 2008
Now, we (Daniel, Alex(?), and I) are in the crunch for the games convention in Leipzig.
The expectations are mixed.. High, because we believe in our engine and game, and low, because of our not yet seen status in the world of commercial game making.

So what might be working:
- There is a server, serving a simulation and distributing a lot of informations.
- There is a client, which can command entities around.
- There is communication between client and server.
- There is a nice map.
- There might be no units, but boxes instead.
- There might be some errors in mouse handling, because of maybe not in time finished mouse handler.
- There might be no 3d in movement, as 3d sucks.
- There might be a lot of stuff that would be nice to have but might not be implemented in time.

Why is that? Because of my bachelor thesis I had to distribute my time otherwise. Therefore the server part has not seen updates for a long period. This was bad for the moral of the others, because there was not a thing to develop against. Currently we try to raise the whole think in a few days from zero to demo level. Basically I started on 13. August with a brand new server, containing all the ideas of my many prior prototypes and revisions. The goal is to have a worthy a view demo by tuesday noon.
However, the to do list has some major parts on it left:
- Bullets and destruction
- Entity definition format
- 3D for landing, moving and attacking

My personal goal is to prepare a single packed jar file, with a few folders for the map and so on for distribution on the games convention wednesday...

May the force be with us and a mighty person be interested in our humble approach...

the grounds have hills

Dienstag, 29. Juli 2008
And another round in the never ending thoughts for the terrain engine...
Last time i reduced the data through zipped block auf 127m*127m terrain blocks. However today we discussed the possibilities of making nice hills end ended with a nice cosinus based algorithm.
Thats not all.. i looked at it and was astonished how little space i needed to describe the change to the ground.
11 bytes where sufficient for it. Now a quick look at the numbers:
If i do it as we do currently do it, i need the baseheight with 4 bytes and 128*128 bytes for the height data.
In the other case i still need the base, but per command i need the location (two times 1 byte), the command with 1 byte, and it seems sufficient to use 2 ints or floats for the parameters (4 bytes each).

Now its to late to integrate it into the demo. And the overhead of calculating all the changes back into the height data might take a lot of time , too.

Another nice featue would be the possibility to edit even in the same cell concurently. All the commands are put onto a stack and can be freely modified.

Hm, how can this be applied to the visuals? I dont know yet, but maybe we will find a better solution then using 128*128*9 bytes per block there, too...

Yes, we can! Mostly editing of visuals is done by draging the mouse over the landscape, while painting with the selected texturelayer oder lightmap color and a fixed radius. This is internally handled through the trail your mouse leaves on the map. Ans that should be all we need to know, or?

And the final thesis

Donnerstag, 17. Juli 2008
For all readers of this blog, who are not yet tired of hearing about my bachelor thesis:
You can read it: bachelorfinal.pdf

Many thanks again to Björn, Simone, Michael and Monika for their continuos help and support in the last year!

Bachlor is finished

Donnerstag, 17. Juli 2008
Finally I did it: my Bachelor thesis is finished. The Thesis itself will eventually be published here in some time, but until then, watch my presentation:
PrsentationBachelor.mov

Unfortunate this presentation is in german, I hope you dont mind.

Move horse, move, or did I forget to tell you how?

Sonntag, 15. Juni 2008
Yeah, the title shall be the program for this entry.

Have you ever seen Supreme Commander in action? Wow, there a lot of entities moving and firing all over the place. Thats so cool, I want it in my game, too!

But how to do it right? I have dealt ad nauseam with this questions and still no really good answer found yet. The ideas reached from brute force calculating all entities each frame of the simulation, over using some parallel data models for calculations to distribute the amount of needed calculations to many CPU-cores, and last time a distributed approach, running the simulation in various processes, not necessarily located on one computer.
However, nothing so long was really fitting the problems, I tried to solve.

"Move horse, move, or did I forget to tell you how?" vollständig lesen

add life to the dirty grounds

Sonntag, 15. Juni 2008
What`s up this time?

I thought of one further addition to the terrain engine. How do you like the idea of landscape healing or commonly spoken landscape data processing during runtime? Um, what do I mean with this? Lets reckoning two examples.

First, I smash a really big bullet into the ground, like an artillery projectile. From the real world (and properly the movies) you expect a nice and dirty hole in the ground. How does it look? Like a crater. Therefore the soil from the hole forms a wall around the crater. What happens to this loose soil if wind, rain and nature take back on this place of the terrain? The wall will reduce its height, filling partly the hole, and grass and pest plants start to occupy the area.

Second example is a forest in the middle of nice green grass. How does it change over time? It should grow, transforming the grass, directly surrounding the forest, slowly into forest.

How can something like these two examples be integrated into a terrain engine? One solution might be another specialized client, which takes care about these modifications, but this feels somewhat awkward for me. My thoughts are more about integrating such functionality directly into the server. Therefore I propose some sort of actions, attachable to the ground. Each action calculates the next time, when it should be invoked, as well as a condition for the complete removal of the action. If the time has come for an action to execute, the action modifies the landscape as defined within the action and schedules new actions for further executions.

How may such an action look like, or how can it be integrated? An action has to conform to some defined interface for this, this is easy. However, how does the action gets into the terrain engine? Lets define an id for each action that is possible, the lets put them into some sort of storage, in the form of one or more classes. Further lets introduce a new data set to the terrain, containing the list of action ids and positions for each super cell. Upon loading, the server shall request the referenced action`s classes from the storage and load them at runtime. It may work, I should properly test something like this in future. :-)

to think of heights without falling upwards

Sonntag, 15. Juni 2008
So what's about the height?

First, without height you can not fall...
Thats not good, so adding height to a game allows for falling and other nice things.

Now we have height. What else do we need? How about a nice placement map for trees and other things? Or what's about general typing for the ground?

I hope you get the idea...
Terrain in video games can suck, even without consideration of game mechanics or game physics.

But to top the basic requirements above, let me introduce some more things I like to do with me terrain:
- It should be large, really large, like for example something above an area with 100 km length on each side.
- The terrain should be changeable during runtime.
- Many clients should be able to access it, but furthermore, not only the clients should be able to access the terrain during runtime, but the editors, too. Yes it's not editor, but editors!
- And everything should be streamed.
- Additionally, the availability of different data sets of the terrain, like height data or tactical data.

How to do?
Ah simple, just get some beans, some water and make a good java coffee :-)
You will need it, to survive the sleepless nights.

Back to the roots of software design. Components first, therefore, what components needs a system, capable of doing such stuff?
1. A server, managing the terrain and providing a network protocol, capable of serving streams of terrain data to the different clients.
2. A library, which serves as an interface for all types of clients.
3. And some sort of framework for an editor.

Nothing generally special in it, or?
You may ask, why a framework for the editor? This terrain engine should server as an extensible platform, therefore I don`t know, what data might not be edited.

"to think of heights without falling upwards" vollständig lesen