guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile Game Library


From: David Thompson
Subject: Re: Guile Game Library
Date: Thu, 30 May 2013 07:00:16 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

On 05/30/2013 06:07 AM, Javier Sancho wrote:
In my view, playing with entities gives two ways for doing things in a game. Game designers work with "objects" that have components that have properties, i.e., it's possible to create a ship with a position and a velocity. And game programmers work with data (or functions) which are passed to a system (function) that returns data (or functions), so these systems can be treated separately, can be running in another processor, etc. But it's my opinion. What problems have you encountered using entity systems?

I haven't tried implementing an entity-component system in Scheme, but in the past I've tried to grok writings on the subject and wrote an implementation in C++ and later in Python. The Python version worked much better than the C++ version, since Python is more dynamic. I like components in theory as it provides a good separation of concerns, but in practice it always ended up being too complex to work with. The dependencies between components and the message passing were hard to deal with nicely. In the end I would just fall back to a much simpler model to represent game objects.

http://hg.savannah.nongnu.org/hgweb/gacela/

But it's the previous version with an object oriented vision and a
little unstable. I am designing a new approach based on entity systems
and I hope I start writing code soon.

I'm interested to see how you implement your entity-component system. You seem to have a better idea of how to do it than I do.


Cheers.

--
Javier Sancho Fernández - http://www.jsancho.org/
Associate Member of the Free Software Foundation - http://www.fsf.org/
Contra el DRM - http://www.defectivebydesign.org/what_is_drm




reply via email to

[Prev in Thread] Current Thread [Next in Thread]