]>
git.jsancho.org Git - gacela.git/log
Javier Sancho [Tue, 11 Nov 2014 12:35:07 +0000 (13:35 +0100)]
Experimenting with syntax
* games/asteroids/asteroids.scm: Experimenting with syntax for games
Javier Sancho [Tue, 16 Sep 2014 13:37:49 +0000 (15:37 +0200)]
More declarative way of making games
* src/examples/asteroids.scm: Declarative asteroids game
* src/game.scm: Functions renamed to a more declarative way, erasing
'make-'
Javier Sancho [Thu, 17 Apr 2014 09:55:55 +0000 (11:55 +0200)]
Preparing skeleton for engines, systems, etc
* engines/arcade.scm: First engine for developing arcade games
* examples/asteroids.scm: Asteroids game, with two ways of make a game
* game.scm: New structure that contains the engine and all the entities
with their initial state
* systems/opengl.scm: First system for displaying entities using opengl
libraries
Javier Sancho [Thu, 3 Apr 2014 07:36:16 +0000 (09:36 +0200)]
Components with similar headers to functions
* src/system.scm: Support to #:optional and #:key when defining new
components with define-component
Javier Sancho [Thu, 27 Feb 2014 14:31:16 +0000 (15:31 +0100)]
Entity sets and engine api through systems
* src/system.scm: entities and components in a cons-pair of two hash
tables and systems returning entities changes
directly
* src/engine.scm: modifying an engine is possible only using systems
and each system modify engine entities when runs
* src/examples/entity-componentfunctions.scm,
src/examples/making-systems.scm,
src/examples/composing-systems.scm,
src/examples/engine-conway-game.scm:
modifications for correct execution with the new state of art
Javier Sancho [Sun, 16 Feb 2014 16:25:07 +0000 (17:25 +0100)]
Conway Game Engine
Javier Sancho [Sun, 26 Jan 2014 16:23:58 +0000 (17:23 +0100)]
Improving engine exit
* src/engine.scm: Problem with ^C for aborting engine execution
solved.
Javier Sancho [Tue, 14 Jan 2014 17:58:39 +0000 (18:58 +0100)]
New way for returning results from systems
* src/system: New type entities-changes that encapsulates entities
modifications. A system that only does I/O operations
doesn't must to return an entities-changes object.
* src/examples/composing-systems.scm: Updated example
* src/examples/making-systems.scm: Updated example
Javier Sancho [Mon, 13 Jan 2014 05:51:52 +0000 (06:51 +0100)]
Do step duration properly
* src/engine.scm: use step start time and end time for calculating
delay and step duration
* src/misc.scm: new function 'current-utime' that gets current time
in microseconds
Javier Sancho [Tue, 7 Jan 2014 05:56:00 +0000 (06:56 +0100)]
Support for engine properties
* src/engine.scm: new functions get-property and set-property! allow
interaction with properties stored in entities
Javier Sancho [Sun, 29 Dec 2013 06:59:23 +0000 (07:59 +0100)]
Composed systems return as single systems
* src/system.scm: systems created by join or threaded must return a
procedure for modify entities an components and must
be non-destructive, so alist-copy is used when modifications
are calculated
Javier Sancho [Sun, 29 Dec 2013 06:55:05 +0000 (07:55 +0100)]
Repairing composing systems example
* src/examples/composing-systems.scm: used the old way of making systems with a lambda; current way is similar to let syntax
Javier Sancho [Sun, 8 Dec 2013 06:11:34 +0000 (07:11 +0100)]
Set engine systems while running
* src/engine.scm: new function set-engine-systems! using engine mutex
for avoiding concurrency errors
* src/system.scm: new function group-systems, that returns joined
systems or an empty system, depending on arguments
Javier Sancho [Sun, 17 Nov 2013 07:32:23 +0000 (08:32 +0100)]
Engine Execution
* src/engine.scm: Engine execution with inner properties for looping
delay and other future parameters. Mutexes are used
to prevent accessing entities and engines in an
undesired way.
Javier Sancho [Sun, 3 Nov 2013 14:42:25 +0000 (15:42 +0100)]
Improving with-engine
* src/engine.scm: with-engine now saves current engine for recursive
calls and uses engine mutex for exclusive access
Javier Sancho [Sun, 20 Oct 2013 19:50:00 +0000 (21:50 +0200)]
Engine Access Protocol Interface
* src/engine.scm: functions for accessing and modifying engine
entities, using a mutex for preventing changes
collission if the engine is running
* src/system.scm: now every function that modify entities returns
the result of the modification with the resulting
entities and components
Javier Sancho [Mon, 7 Oct 2013 15:55:14 +0000 (17:55 +0200)]
Engine definition functions
* src/engine.scm: functions for creating new engines (make-engine,
define-engine) and for working with entities and components
inside them (with-engine)
Javier Sancho [Sun, 6 Oct 2013 06:53:14 +0000 (08:53 +0200)]
More verbose and powerful system definition
* src/examples/making-systems.scm: Examples redefined
* src/system.scm: System definitions with more than one components grouping
and without requiring a function directly
Javier Sancho [Wed, 2 Oct 2013 16:06:12 +0000 (18:06 +0200)]
Replace define-macro with define-syntax
Javier Sancho [Sat, 14 Sep 2013 06:27:46 +0000 (08:27 +0200)]
Functions to access entities and components inside systems
* src/system.scm: get-key
get-component
* src/examples/making-systems.scm: access functions testing
Javier Sancho [Wed, 11 Sep 2013 05:13:43 +0000 (07:13 +0200)]
Making systems with macros instead functions. Now, we have define-system and make-system.
Javier Sancho [Mon, 9 Sep 2013 04:54:07 +0000 (06:54 +0200)]
Better examples
Javier Sancho [Wed, 4 Sep 2013 16:30:35 +0000 (18:30 +0200)]
More verbose mode for working with entities and components; assoc
lists no more needed
* src/system.scm: entities/components functions now return a function
for changing the entity/component structure
* src/test.scm: functions testing adapted to new scheme
Javier Sancho [Thu, 22 Aug 2013 09:05:28 +0000 (11:05 +0200)]
More verbose mode for working with entities and components; assoc
lists no more needed
* src/system.scm: entities/components functions now return a function
for changing the entity/component structure
* src/test.scm: functions testing adapted to new scheme
Javier Sancho [Wed, 21 Aug 2013 06:15:09 +0000 (08:15 +0200)]
Functions to merge systems, using a linear way or using threads
* src/system.scm: join-systems
threaded-systems
* src/test.scm: merge functions testing
Javier Sancho [Thu, 8 Aug 2013 19:39:47 +0000 (21:39 +0200)]
It's not obligatory to write type components at declarations; if
component is a Gacela component (a special record), type is detected
automatically.
* src/system.scm: normalize-components - returns a list with pairs
(type . component)
Javier Sancho [Thu, 8 Aug 2013 04:59:48 +0000 (06:59 +0200)]
Making systems; systems return a lambda function for process
modifications at entities and components
* src/system.scm: set-entities
* src/test.scm: system functions testing
Javier Sancho [Sun, 28 Jul 2013 14:49:26 +0000 (16:49 +0200)]
Making systems; systems return a lambda function for process
modifications at entities and components
* src/system.scm: set-entity
set-entity-components
* src/test.scm: system functions testing
Javier Sancho [Mon, 22 Jul 2013 05:27:00 +0000 (07:27 +0200)]
Making systems; systems return a lambda function for process
modifications at entities and components
* src/system.scm: remove-entity
* src/test.scm: system functions testing
Javier Sancho [Fri, 12 Jul 2013 13:42:58 +0000 (15:42 +0200)]
Making systems; systems return a lambda function for process
modifications at entities and components
* src/system.scm: export-component
new-entity
* src/test.scm: system functions testing
Javier Sancho [Thu, 27 Jun 2013 09:28:13 +0000 (11:28 +0200)]
Making systems; preprocessing entities and components data for game
systems
* src/system.scm: find-entities-by-components
make-system
Javier Sancho [Wed, 5 Jun 2013 13:58:38 +0000 (15:58 +0200)]
Structures for managing entities and components, using mutex for
future synchronization with game loop
* src/gacela.scm: entity
get-entity
Javier Sancho [Wed, 5 Jun 2013 09:22:33 +0000 (11:22 +0200)]
Component definitions support using Guile records
* src/system.scm: define-component
get-component-type
Javier Sancho [Fri, 31 May 2013 11:38:08 +0000 (13:38 +0200)]
Preparing new version 0.6
jsancho [Fri, 31 May 2013 08:36:21 +0000 (10:36 +0200)]
Preparing new version 0.6
Javier Sancho [Mon, 29 Apr 2013 04:51:12 +0000 (06:51 +0200)]
Adding freeimage
Javier Sancho [Sun, 28 Apr 2013 15:43:18 +0000 (17:43 +0200)]
Using guile-figl
Javier Sancho [Sun, 10 Mar 2013 16:39:55 +0000 (17:39 +0100)]
Using guile-figl
Javier Sancho [Mon, 4 Mar 2013 07:57:29 +0000 (08:57 +0100)]
Using guile-figl
Javier Sancho [Sun, 24 Feb 2013 18:21:03 +0000 (19:21 +0100)]
New modules figl
Javier Sancho [Wed, 17 Oct 2012 19:00:53 +0000 (21:00 +0200)]
Color management integration with meshes
Javier Sancho [Sat, 13 Oct 2012 13:29:48 +0000 (15:29 +0200)]
Drawing circles
Javier Sancho [Tue, 9 Oct 2012 16:42:15 +0000 (18:42 +0200)]
New picture mesh using resources cache
Javier Sancho [Mon, 8 Oct 2012 19:24:41 +0000 (21:24 +0200)]
Texture primitive.
Javier Sancho [Thu, 27 Sep 2012 22:52:27 +0000 (00:52 +0200)]
Primitives definition (for meshes)
Javier Sancho [Mon, 24 Sep 2012 19:07:37 +0000 (21:07 +0200)]
Catching errors from main loop and square meshes
Javier Sancho [Fri, 21 Sep 2012 18:21:08 +0000 (20:21 +0200)]
Meshes located at video module and new game loop procedure returning game elements
Javier Sancho [Mon, 17 Sep 2012 05:34:11 +0000 (07:34 +0200)]
Controllers list for views
Javier Sancho [Thu, 13 Sep 2012 05:42:05 +0000 (07:42 +0200)]
Defining views with controllers and meshes
Javier Sancho [Sun, 9 Sep 2012 06:59:53 +0000 (08:59 +0200)]
Main loop with recursivity
Javier Sancho [Mon, 3 Sep 2012 18:12:51 +0000 (20:12 +0200)]
Defining views
Javier Sancho [Mon, 3 Sep 2012 15:23:02 +0000 (17:23 +0200)]
Defining views
Javier Sancho [Sun, 2 Sep 2012 17:07:45 +0000 (19:07 +0200)]
Defining views
Javier Sancho [Sun, 2 Sep 2012 12:02:26 +0000 (14:02 +0200)]
Defining views
Javier Sancho [Thu, 23 Aug 2012 15:32:42 +0000 (17:32 +0200)]
Views and meshes playing together
Javier Sancho [Tue, 21 Aug 2012 16:44:09 +0000 (18:44 +0200)]
Basic functions for working with views
Javier Sancho [Tue, 21 Aug 2012 16:14:30 +0000 (18:14 +0200)]
Minor changes
Javier Sancho [Mon, 20 Aug 2012 17:02:10 +0000 (19:02 +0200)]
We have stable meshes with properties, translate, rotate, turn and more.
Javier Sancho [Sun, 19 Aug 2012 19:15:50 +0000 (21:15 +0200)]
Extensions for main loop (meshes, controllers, etc)
Javier Sancho [Sun, 19 Aug 2012 08:26:43 +0000 (10:26 +0200)]
Implementing meshes using records
Javier Sancho [Thu, 16 Aug 2012 16:34:52 +0000 (18:34 +0200)]
Meshes required parameters can be unspecified
Javier Sancho [Wed, 15 Aug 2012 08:19:45 +0000 (10:19 +0200)]
Mesh Primitives Definition
Javier Sancho [Tue, 14 Aug 2012 15:25:13 +0000 (17:25 +0200)]
Functions for playing with arguments when apply to procedures.
Javier Sancho [Thu, 9 Aug 2012 12:21:59 +0000 (14:21 +0200)]
Changing things.
Javier Sancho [Fri, 27 Jul 2012 18:33:43 +0000 (20:33 +0200)]
New procedure-header procedure.
Javier Sancho [Mon, 23 Jul 2012 19:25:34 +0000 (21:25 +0200)]
Properties for meshes.
Javier Sancho [Sun, 22 Jul 2012 06:36:09 +0000 (08:36 +0200)]
Turn and rotate meshes.
Javier Sancho [Fri, 13 Jul 2012 18:31:24 +0000 (20:31 +0200)]
Show, hide and translate for meshes.
Javier Sancho [Wed, 11 Jul 2012 18:19:06 +0000 (20:19 +0200)]
Defining meshes as closures.
Javier Sancho [Mon, 2 Jul 2012 16:18:42 +0000 (18:18 +0200)]
More meshes
Javier Sancho [Sun, 1 Jul 2012 07:52:56 +0000 (09:52 +0200)]
Defining basic meshes.
Javier Sancho [Tue, 26 Jun 2012 19:42:57 +0000 (21:42 +0200)]
Now yes, we have views.
Javier Sancho [Sat, 23 Jun 2012 08:08:06 +0000 (10:08 +0200)]
Introducing views
Javier Sancho [Thu, 21 Jun 2012 19:29:08 +0000 (21:29 +0200)]
Introducing FRP concepts
Javier Sancho [Tue, 19 Jun 2012 19:43:01 +0000 (21:43 +0200)]
Bug solved with glmatrix-block export.
Javier Sancho [Sun, 17 Jun 2012 20:01:40 +0000 (22:01 +0200)]
New game function with its own thread.
Javier Sancho [Sat, 16 Jun 2012 07:51:12 +0000 (09:51 +0200)]
Introducing bricks.
Javier Sancho [Thu, 14 Jun 2012 19:24:26 +0000 (21:24 +0200)]
Fullscreen mode.
Javier Sancho [Sun, 10 Jun 2012 07:37:06 +0000 (09:37 +0200)]
Adding SDL_GetError.
Javier Sancho [Sun, 10 Jun 2012 06:30:23 +0000 (08:30 +0200)]
Removing not needed files.
Javier Sancho [Sat, 9 Jun 2012 16:45:54 +0000 (18:45 +0200)]
Solved problem with Guile Autoconf macros.
Javier Sancho [Fri, 8 Jun 2012 19:35:12 +0000 (21:35 +0200)]
Improved cache system for resources and more things.
Javier Sancho [Fri, 1 Jun 2012 17:21:31 +0000 (19:21 +0200)]
Sprite Sheets support.
Javier Sancho [Sat, 26 May 2012 17:10:43 +0000 (19:10 +0200)]
Limit to re-exports (a game must load all modules it needs).
Javier Sancho [Tue, 15 May 2012 19:02:06 +0000 (21:02 +0200)]
Guybrush moves with cursors left and right
Javier Sancho [Tue, 15 May 2012 19:01:44 +0000 (21:01 +0200)]
Now mobs use let*
Javier Sancho [Tue, 15 May 2012 18:52:26 +0000 (20:52 +0200)]
New function to get properties of a texture.
Javier Sancho [Sun, 13 May 2012 07:49:47 +0000 (09:49 +0200)]
Drawing Guybrush
Javier Sancho [Sat, 12 May 2012 18:28:32 +0000 (20:28 +0200)]
Merge with 314:
ebaa79d516f3
Javier Sancho [Sat, 12 May 2012 18:27:05 +0000 (20:27 +0200)]
Starting a new platform game.
Javier Sancho [Tue, 24 Apr 2012 19:30:01 +0000 (21:30 +0200)]
Only one function for mobs.
Javier Sancho [Sat, 21 Apr 2012 06:15:25 +0000 (08:15 +0200)]
A new way of instantiating mobs.
jsancho [Sun, 15 Apr 2012 12:23:56 +0000 (12:23 +0000)]
Direct access to mob properties.
jsancho [Fri, 30 Mar 2012 15:37:31 +0000 (15:37 +0000)]
Addons to mobs.
jsancho [Fri, 16 Mar 2012 10:25:29 +0000 (10:25 +0000)]
Storing original font size.
jsancho [Thu, 15 Mar 2012 20:46:47 +0000 (20:46 +0000)]
Save font size into font smob.
jsancho [Thu, 15 Mar 2012 15:32:21 +0000 (15:32 +0000)]
Adjustments for running games from emacs or shell.
jsancho [Sun, 26 Feb 2012 08:40:22 +0000 (08:40 +0000)]
Z-index for mobs when running in 2d-mode
jsancho [Sun, 5 Feb 2012 11:32:52 +0000 (11:32 +0000)]
Asteroids using Gacela modules
jsancho [Sun, 5 Feb 2012 11:32:05 +0000 (11:32 +0000)]
Running gacela functions inside game loop thread for avoiding GL problems with threads