1,292 reputation
11016
bio website learn-cocos2d.com
location Germany
age 39
visits member for 4 years, 2 months
seen Aug 2 at 15:29

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 Entity's FSM and exposing internals of the entity
fsm are flexible and need not be hardcoded, for instance as conditions and actions custom classes can be used to create any logic flow and execute any tasks with an fsm
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
comment Component Based Entity Design how to handle rendering in tiles
Perhaps overkill for your purposes, but for the long run decoupling entities from the view is the way to go. Check out OpenGW (opengameworld.com) and follow it over the coming weeks, I'll add more info and details here (wiki.koboldkit.com/x/BoEF) that should help grasp the high-level concepts of such a system.
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?