1,287 reputation
11016
bio website learn-cocos2d.com
location Germany
age 39
visits member for 4 years, 1 month
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.


Apr
12
comment What are the benefits of using an entity ID system?
last paragraph should be a bullet point of its own (memory management). There are situations where one class needs a reference to another entity for some time, but the entity reference may become invalid (ie projectile target entity died). By returning NULL when requesting an entity by ID each class takes responsibility to do the right thing (rather than crashing) when the entity reference becomes invalid.
Mar
31
comment How can I calculate “All squares within R” in a natural looking manner?
Or quite simply enlarge the radius by (about) half the tile size. Might be a "close enough" solution.
Feb
25
comment How can I develop a game for iOS?
At this stage in the learning process, really ANYTHING you do will help you move forward and the platform absolutely doesn't matter the least bit. Just be sure to use a stable technology (ie Sprite Kit, libgdx) with lots of documentation and a great community. Google can help you narrow down the popular choices, what tutorials are out there, and check the activity on official forums and stackoverflow/here. Engine feature lists are secondary (or tertiary) to that.
Feb
22
comment Should I use a engine when building a snake game?
learn to make a game, or learn to make a game engine? Use an engine unless it's the latter. ;)
Feb
22
comment Should I use a engine when building a snake game?
there are many reasons for either approach but they are largely subjective, therefore offtopic here. Question is: do you primarily want to make the game, and do so quickly? Then engine. Otherwise the decision is really up to you.
Feb
21
comment iOS OpenGLES - Multithread Game loop - Render and Update
what's the point of multithreading here? After all the render method has to wait for update every frame, so there won't be any benefits from running them on separate threads. Instead multithread algorithms such as game logic or draw order sorting or preparing vertex buffers.
Jan
26
comment XNA blurring moving images
try without math.round, just plain int casting
Jan
21
comment Checking which object cause most gravitational force
What do you need that function for, exactly? Still, the optimization techniques are in my post, spatial hashing, approximation, creating a tree of objects that actually have an influence at a given point or sector, and so on. You may even be able to offload this work to the GPU, properly optimized it may likely be faster than the CPU and with 300 fps you still have a lot of reserve (on your system at least).
Jan
18
comment limits of tiles on tilemap, for mobile devices?
I don't even know what render/game engine you're referring to.
Jan
18
comment limits of tiles on tilemap, for mobile devices?
no general recommendation can be made, that's like forecasting the weather 3 months from now. If sou only render visible tiles and implement tile streaming you could in theory even have endless maps.
Jan
18
comment limits of tiles on tilemap, for mobile devices?
depends on how the tilemap is implemented in code, a general or technical limit depends entirely on the actual tilemap renderer
Jan
14
comment methods for player interaction with world
The "best way" always depends on requirements. If you optimize for speed, the best way may be to use assembler code. But still it is often subjective and debatable if that specific way is the "best way" even when considering the requirements. Especially when it comes to performance you can write low-level code and still find ways to optimize but the trade-offs are marginal. So when is a way the best way? When you no longer need to improve upon it. Not looking at this from a research point of view but from a practical, pragmatic developer's perspective.
Jan
14
comment methods for player interaction with world
As a helpful note, I think you're on the right track if those interactive objects are not tiles but placed freely in the world. If they were tiles you could simply look up the type of tile one tile ahead of the player.
Jan
14
comment methods for player interaction with world
"proper way" is defined as "the way that works" - there are of course always different ways to improve upon that, based on requirements or merely personal preference, to achieve better performance, ease of use, number of lines of code, readability, maintainability, backwards compatibility, coding style, etc - though many of these requirements are actually trade-offs against other requirements. This also means there's never a "best way" in case you were wondering. ;)
Jan
12
comment How can I distribute powerups “fairly”?
As far as I remember the various Bomberman versions, they were never truly balanced. In fact I feel they may be less fun if the powerup distribution had been programmed to be "fair".
Jan
9
comment box2d's ApplyForce works wrong after cocos2d-x's replaceScene
check that the previous box2d world and the previous scene have been destroyed/deallocated properly
Jan
7
comment Floating point precision issue with Box2D
even better: use edge chain shapes for ground collisions as discussed in the box2d manual
Jan
6
comment Walking Sprite animation Cocos2D
define "real" ..
Jan
4
comment How do I prevent other dynamic bodies from affecting the player's velocity with Box2D?
just add gravity vector to velocity every frame
Jan
4
comment Why are we not using integers in game physics?
@Tomas Betting is not knowing. ;) Besides to draw lines I can usually rely on glDrawLine and similar. And not everything is discrete, delta time for example. Also: subpixel rendering, anti-aliasing, and similar effects. Point being: even if there are optimized integer-based algorithms that may even to this day be faster, they typically aren't meaningful to most real world development being done today.