1,302 reputation
11116
bio website learn-cocos2d.com
location Germany
age 39
visits member for 4 years, 5 months
seen Dec 6 at 14:06

Developer of OpenGW, a game world simulation engines / entity component system with Model-View-Controller architecture that can be used with any rendering engine.

Developer of Kobold Kit, the Sprite Kit game engine with tilemap support, game components, scheduling and event dispatching, and all the other things missing from Sprite Kit.

Developer of KoboldTouch (commercial) and Kobold2D (free), both game engines build on cocos2d-iphone. KoboldTouch adds MVC and component support and even improves cocos2d's own features, such as Tilemap rendering.

Author of the Learn Cocos2D book series published by Apress. The latest edition "Learn cocos2d 2" uses cocos2d 2.0 with ARC enabled and also covers Kobold2D.

Steffen's main website is Learn Cocos2D.


Dec
16
comment How to manage game objects, npcs, items?
where exactly is your problem? planning, scheduling, collaboration, merge conflicts, source control, design, documentation, testing??
Dec
15
comment How to use Bullet physics with Entity Component Systems?
to clarify: you mean you can't add/remove bodies during the physics simulation step like in most other physics engines, right? If so, this is simply a matter of checking whether the physics simulation step is currently running, and if so, queue the bodies to be removed/added and then perform the remove/add post-step in a callback.
Dec
15
answered What size textures do I need for a 2D grid based game if my tiles are larger than textures I have?
Dec
15
comment Why is interpolation passed into the rendering routine when the position and speed are related to the update routine?
The idea is to run your game simulation at a fixed time step in all situations, while rendering does the interpolation based on an object's current (or target) position and velocity. This post may answer some of the questions: learn-cocos2d.com/2013/10/…
Dec
5
comment Game development with D programming language
D is a fringe language, hardly in use today. Case in point: the D game engine project has seen its last update a week after it was created. So if you want to use D, you're a pioneer and you should be able to do almost everything by yourself. If not, or your actual goal is to make a game more than to learn a fringe programming language I strongly recommend to stick with more "traditional" languages and game engines. Try Java or C#, they seem the best compromise between low-level C++ and what D stands for, with decent support for game development (Monogame, libgdx, and others).
Dec
2
answered In a ES system, how one would implement/ deal with Modifiers?
Dec
1
comment What are “distance fields” and how are they applicable to collision detection?
did you mean distance maps?
Nov
30
answered Check every body's position and delete or not (box2d performance specific)
Nov
29
comment Cross Game Engine Compatibility - Multiple Game Engines for one Game
if you were thinking about writing game code that works with multiple render engines: opengameworld.com
Nov
29
comment Cross Game Engine Compatibility - Multiple Game Engines for one Game
Of course there are computers with multiple CPUs, and multicore CPUs are commonplace. Weird analogy.
Nov
28
awarded  Enthusiast
Nov
26
comment Make fast thing look slow (Box2D)
Getting computer physics to behave like "the real thing" is really difficult. Almost all physics engines simulate rigid bodies, meaning effects like the bending of the trebouchet arm are not accounted for neither are rope physics nor material behavior in any way accurate, so an exact simulation without "cheating" is next to impossible. The process to get close to something that looks real goes a little like this: tweak, tweak, tweak, cheat, tweak, tweak, cheat, cheat, tweak, start over, tweak, tweak, tweak, tweak, cheat, tweak, cheat, cheat, tweak.
Nov
25
comment Superclassing RPG Game Entities
@PatrickHughes your answer makes it sound as if ECS is less flexible, nothing could be further from the truth.
Nov
24
answered textures in tilemap games: use 2d planes or 3d objects? (example with Dragons of Atlantis)
Nov
24
comment Collision function calls before colliding
perhaps a polygon skin issue? there may be a tiny gap between bodies, see the box2d manual ( chapter 4 i believe) for an explanation of this behavior
Nov
23
answered Collision function calls before colliding
Nov
21
comment What should the data structure of a flexible ability system look like?
the question is quite broad, but there are design patterns that will help, most notably component based design (abilities are components of an entity). The combat system has the abilities perform the work, for example a received "raw" damage struct is passed to all abilities that modify damage (AC, buffs, resistances, powerups, etc. etc.) and those will modify the resulting damage one after the other. So what's important is to be able to prioritize abilities and have abilities that can deny doing damage at all (ie invincibility powerup).
Nov
21
answered How can I tell the player that a key or other item can be discarded?
Nov
16
comment What would be a good way to implement Zelda like attack?
Or you could simply test if there's an enemy closer than a given distance (radius) when swinging the sword. Both are viable and pretty common solutions.
Nov
14
comment Handling cyclic dependencies in entity/components system
Also you can make things easier through requirements. You can have a RigidBody anywhere at anytime without any other component. But you can't have a Jetpack without a RigidBody. You can make it illegal to add a Jetpack component to an entity that doesn't have a RigidBody, that makes raw pointers still reasonably safe. Also a common principle is not to add/remove components at runtime, but rather enable/disable them - that way you don't need to deal with broken pointers nearly as much.