]> git.jsancho.org Git - gacela.git/log
gacela.git
10 years agoExperimenting with syntax
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

10 years agoMore declarative way of making 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-'

10 years agoPreparing skeleton for engines, systems, etc
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

10 years agoComponents with similar headers to functions
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

10 years agoEntity sets and engine api through systems
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

10 years agoConway Game Engine
Javier Sancho [Sun, 16 Feb 2014 16:25:07 +0000 (17:25 +0100)]
Conway Game Engine

10 years agoImproving engine exit
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.

10 years agoNew way for returning results from systems
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

10 years agoDo step duration properly
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

10 years agoSupport for engine properties
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

10 years agoComposed systems return as single systems
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

10 years agoRepairing composing systems example
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

10 years agoSet engine systems while running
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

11 years agoEngine Execution
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.

11 years agoImproving with-engine
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

11 years agoEngine Access Protocol Interface
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

11 years agoEngine definition functions
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)

11 years agoMore verbose and powerful system definition
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

11 years agoReplace define-macro with define-syntax
Javier Sancho [Wed, 2 Oct 2013 16:06:12 +0000 (18:06 +0200)]
Replace define-macro with define-syntax

11 years agoFunctions to access entities and components inside systems
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

11 years agoMaking systems with macros instead functions. Now, we have define-system and make...
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.

11 years agoBetter examples
Javier Sancho [Mon, 9 Sep 2013 04:54:07 +0000 (06:54 +0200)]
Better examples

11 years agoMore verbose mode for working with entities and components; assoc
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

11 years agoMore verbose mode for working with entities and components; assoc
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

11 years agoFunctions to merge systems, using a linear way or using threads
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

11 years agoIt's not obligatory to write type components at declarations; if
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)

11 years agoMaking systems; systems return a lambda function for process
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

11 years agoMaking systems; systems return a lambda function for process
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

11 years agoMaking systems; systems return a lambda function for process
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

11 years agoMaking systems; systems return a lambda function for process
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

11 years agoMaking systems; preprocessing entities and components data for game
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

11 years agoStructures for managing entities and components, using mutex for
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

11 years agoComponent definitions support using Guile records
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

11 years agoPreparing new version 0.6
Javier Sancho [Fri, 31 May 2013 11:38:08 +0000 (13:38 +0200)]
Preparing new version 0.6

11 years agoPreparing new version 0.6
jsancho [Fri, 31 May 2013 08:36:21 +0000 (10:36 +0200)]
Preparing new version 0.6

11 years agoAdding freeimage
Javier Sancho [Mon, 29 Apr 2013 04:51:12 +0000 (06:51 +0200)]
Adding freeimage

11 years agoUsing guile-figl
Javier Sancho [Sun, 28 Apr 2013 15:43:18 +0000 (17:43 +0200)]
Using guile-figl

11 years agoUsing guile-figl
Javier Sancho [Sun, 10 Mar 2013 16:39:55 +0000 (17:39 +0100)]
Using guile-figl

11 years agoUsing guile-figl
Javier Sancho [Mon, 4 Mar 2013 07:57:29 +0000 (08:57 +0100)]
Using guile-figl

11 years agoNew modules figl
Javier Sancho [Sun, 24 Feb 2013 18:21:03 +0000 (19:21 +0100)]
New modules figl

12 years agoColor management integration with meshes
Javier Sancho [Wed, 17 Oct 2012 19:00:53 +0000 (21:00 +0200)]
Color management integration with meshes

12 years agoDrawing circles
Javier Sancho [Sat, 13 Oct 2012 13:29:48 +0000 (15:29 +0200)]
Drawing circles

12 years agoNew picture mesh using resources cache
Javier Sancho [Tue, 9 Oct 2012 16:42:15 +0000 (18:42 +0200)]
New picture mesh using resources cache

12 years agoTexture primitive.
Javier Sancho [Mon, 8 Oct 2012 19:24:41 +0000 (21:24 +0200)]
Texture primitive.

12 years agoPrimitives definition (for meshes)
Javier Sancho [Thu, 27 Sep 2012 22:52:27 +0000 (00:52 +0200)]
Primitives definition (for meshes)

12 years agoCatching errors from main loop and square meshes
Javier Sancho [Mon, 24 Sep 2012 19:07:37 +0000 (21:07 +0200)]
Catching errors from main loop and square meshes

12 years agoMeshes located at video module and new game loop procedure returning game elements
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

12 years agoControllers list for views
Javier Sancho [Mon, 17 Sep 2012 05:34:11 +0000 (07:34 +0200)]
Controllers list for views

12 years agoDefining views with controllers and meshes
Javier Sancho [Thu, 13 Sep 2012 05:42:05 +0000 (07:42 +0200)]
Defining views with controllers and meshes

12 years agoMain loop with recursivity
Javier Sancho [Sun, 9 Sep 2012 06:59:53 +0000 (08:59 +0200)]
Main loop with recursivity

12 years agoDefining views
Javier Sancho [Mon, 3 Sep 2012 18:12:51 +0000 (20:12 +0200)]
Defining views

12 years agoDefining views
Javier Sancho [Mon, 3 Sep 2012 15:23:02 +0000 (17:23 +0200)]
Defining views

12 years agoDefining views
Javier Sancho [Sun, 2 Sep 2012 17:07:45 +0000 (19:07 +0200)]
Defining views

12 years agoDefining views
Javier Sancho [Sun, 2 Sep 2012 12:02:26 +0000 (14:02 +0200)]
Defining views

12 years agoViews and meshes playing together
Javier Sancho [Thu, 23 Aug 2012 15:32:42 +0000 (17:32 +0200)]
Views and meshes playing together

12 years agoBasic functions for working with views
Javier Sancho [Tue, 21 Aug 2012 16:44:09 +0000 (18:44 +0200)]
Basic functions for working with views

12 years agoMinor changes
Javier Sancho [Tue, 21 Aug 2012 16:14:30 +0000 (18:14 +0200)]
Minor changes

12 years agoWe have stable meshes with properties, translate, rotate, turn and more.
Javier Sancho [Mon, 20 Aug 2012 17:02:10 +0000 (19:02 +0200)]
We have stable meshes with properties, translate, rotate, turn and more.

12 years agoExtensions for main loop (meshes, controllers, etc)
Javier Sancho [Sun, 19 Aug 2012 19:15:50 +0000 (21:15 +0200)]
Extensions for main loop (meshes, controllers, etc)

12 years agoImplementing meshes using records
Javier Sancho [Sun, 19 Aug 2012 08:26:43 +0000 (10:26 +0200)]
Implementing meshes using records

12 years agoMeshes required parameters can be unspecified
Javier Sancho [Thu, 16 Aug 2012 16:34:52 +0000 (18:34 +0200)]
Meshes required parameters can be unspecified

12 years agoMesh Primitives Definition
Javier Sancho [Wed, 15 Aug 2012 08:19:45 +0000 (10:19 +0200)]
Mesh Primitives Definition

12 years agoFunctions for playing with arguments when apply to procedures.
Javier Sancho [Tue, 14 Aug 2012 15:25:13 +0000 (17:25 +0200)]
Functions for playing with arguments when apply to procedures.

12 years agoChanging things.
Javier Sancho [Thu, 9 Aug 2012 12:21:59 +0000 (14:21 +0200)]
Changing things.

12 years agoNew procedure-header procedure.
Javier Sancho [Fri, 27 Jul 2012 18:33:43 +0000 (20:33 +0200)]
New procedure-header procedure.

12 years agoProperties for meshes.
Javier Sancho [Mon, 23 Jul 2012 19:25:34 +0000 (21:25 +0200)]
Properties for meshes.

12 years agoTurn and rotate meshes.
Javier Sancho [Sun, 22 Jul 2012 06:36:09 +0000 (08:36 +0200)]
Turn and rotate meshes.

12 years agoShow, hide and translate for meshes.
Javier Sancho [Fri, 13 Jul 2012 18:31:24 +0000 (20:31 +0200)]
Show, hide and translate for meshes.

12 years agoDefining meshes as closures.
Javier Sancho [Wed, 11 Jul 2012 18:19:06 +0000 (20:19 +0200)]
Defining meshes as closures.

12 years agoMore meshes
Javier Sancho [Mon, 2 Jul 2012 16:18:42 +0000 (18:18 +0200)]
More meshes

12 years agoDefining basic meshes.
Javier Sancho [Sun, 1 Jul 2012 07:52:56 +0000 (09:52 +0200)]
Defining basic meshes.

12 years agoNow yes, we have views.
Javier Sancho [Tue, 26 Jun 2012 19:42:57 +0000 (21:42 +0200)]
Now yes, we have views.

12 years agoIntroducing views
Javier Sancho [Sat, 23 Jun 2012 08:08:06 +0000 (10:08 +0200)]
Introducing views

12 years agoIntroducing FRP concepts
Javier Sancho [Thu, 21 Jun 2012 19:29:08 +0000 (21:29 +0200)]
Introducing FRP concepts

12 years agoBug solved with glmatrix-block export.
Javier Sancho [Tue, 19 Jun 2012 19:43:01 +0000 (21:43 +0200)]
Bug solved with glmatrix-block export.

12 years agoNew game function with its own thread.
Javier Sancho [Sun, 17 Jun 2012 20:01:40 +0000 (22:01 +0200)]
New game function with its own thread.

12 years agoIntroducing bricks.
Javier Sancho [Sat, 16 Jun 2012 07:51:12 +0000 (09:51 +0200)]
Introducing bricks.

12 years agoFullscreen mode.
Javier Sancho [Thu, 14 Jun 2012 19:24:26 +0000 (21:24 +0200)]
Fullscreen mode.

12 years agoAdding SDL_GetError.
Javier Sancho [Sun, 10 Jun 2012 07:37:06 +0000 (09:37 +0200)]
Adding SDL_GetError.

12 years agoRemoving not needed files.
Javier Sancho [Sun, 10 Jun 2012 06:30:23 +0000 (08:30 +0200)]
Removing not needed files.

12 years agoSolved problem with Guile Autoconf macros.
Javier Sancho [Sat, 9 Jun 2012 16:45:54 +0000 (18:45 +0200)]
Solved problem with Guile Autoconf macros.

12 years agoImproved cache system for resources and more things.
Javier Sancho [Fri, 8 Jun 2012 19:35:12 +0000 (21:35 +0200)]
Improved cache system for resources and more things.

12 years agoSprite Sheets support.
Javier Sancho [Fri, 1 Jun 2012 17:21:31 +0000 (19:21 +0200)]
Sprite Sheets support.

12 years agoLimit to re-exports (a game must load all modules it needs).
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).

12 years agoGuybrush moves with cursors left and right
Javier Sancho [Tue, 15 May 2012 19:02:06 +0000 (21:02 +0200)]
Guybrush moves with cursors left and right

12 years agoNow mobs use let*
Javier Sancho [Tue, 15 May 2012 19:01:44 +0000 (21:01 +0200)]
Now mobs use let*

12 years agoNew function to get properties of a texture.
Javier Sancho [Tue, 15 May 2012 18:52:26 +0000 (20:52 +0200)]
New function to get properties of a texture.

12 years agoDrawing Guybrush
Javier Sancho [Sun, 13 May 2012 07:49:47 +0000 (09:49 +0200)]
Drawing Guybrush

12 years agoMerge with 314:ebaa79d516f3
Javier Sancho [Sat, 12 May 2012 18:28:32 +0000 (20:28 +0200)]
Merge with 314:ebaa79d516f3

12 years agoStarting a new platform game.
Javier Sancho [Sat, 12 May 2012 18:27:05 +0000 (20:27 +0200)]
Starting a new platform game.

12 years agoOnly one function for mobs.
Javier Sancho [Tue, 24 Apr 2012 19:30:01 +0000 (21:30 +0200)]
Only one function for mobs.

12 years agoA new way of instantiating mobs.
Javier Sancho [Sat, 21 Apr 2012 06:15:25 +0000 (08:15 +0200)]
A new way of instantiating mobs.

12 years agoDirect access to mob properties.
jsancho [Sun, 15 Apr 2012 12:23:56 +0000 (12:23 +0000)]
Direct access to mob properties.

12 years agoAddons to mobs.
jsancho [Fri, 30 Mar 2012 15:37:31 +0000 (15:37 +0000)]
Addons to mobs.

12 years agoStoring original font size.
jsancho [Fri, 16 Mar 2012 10:25:29 +0000 (10:25 +0000)]
Storing original font size.

12 years agoSave font size into font smob.
jsancho [Thu, 15 Mar 2012 20:46:47 +0000 (20:46 +0000)]
Save font size into font smob.

12 years agoAdjustments for running games from emacs or shell.
jsancho [Thu, 15 Mar 2012 15:32:21 +0000 (15:32 +0000)]
Adjustments for running games from emacs or shell.

12 years agoZ-index for mobs when running in 2d-mode
jsancho [Sun, 26 Feb 2012 08:40:22 +0000 (08:40 +0000)]
Z-index for mobs when running in 2d-mode

12 years agoAsteroids using Gacela modules
jsancho [Sun, 5 Feb 2012 11:32:52 +0000 (11:32 +0000)]
Asteroids using Gacela modules

12 years agoRunning gacela functions inside game loop thread for avoiding GL problems with threads
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