Club Delphi  
    FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 07-12-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Librería para hacer juegos con Pascal

Como de vez en cuando se pasa por aquí gente preguntando cómo hacer juegos con Delphi, pues creo que es buen lugar para ofertar la librería en la que estoy trabajando. Se trata de un producto secundario de mi "otra" librería de juegos: Mingro, ya que la nueva API será mucho más fácil de desarrollar si separo una parte de la misma como paquete independiente. Este paquete independiente tiene como única misión servir de enlace entre la librería Allegro y el compilador Pascal, de ahí que se llame Allegro.pas.

Todavía está en pleno desarrollo y falta bastante para que esté completa, pero aun así querría que la probaran y me dijeran qué piensan de ella (a pesar de los problemas que estoy teniendo he conseguido subirla a mi web). Lo que más me interesa es saber si compila y funciona correctamente con Delphi. Tampoco me vendría mal consejos para instalarlo en él (hace años que no lo utilizo y estoy desentrenado).

No hay documentación, así que pregunten qué es lo que necesitan saber. No la he escrito todavía porque como sé cómo funciona podría obviar cosas importantes. De esta forma, con sus preguntas, sabré enseguida qué necesita la documentación para ser completa.

(continúa en el siguiente mensaje)

Última edición por Ñuño Martínez fecha: 18-12-2006 a las 01:39:44. Razón: ¡Ya tiene web definitiva!
Responder Con Cita
  #2  
Antiguo 18-12-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Bueno, pues la librería ya es más funcional y pueden hacerse juegos completos.

Descarga y documentación (incompleta ahora, pero completa en el futuro ) aquí y ahora
Responder Con Cita
  #3  
Antiguo 01-02-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Actualizando, que es gerundio...

Revivo este hilo para anunciar que acabo de subir a Sourceforge una revisión de mi librería de juegos Allegro.pas. Además de corregir algún error (como, por ejemplo, dos gordísimos en la unidad de las matemáticas en punto fijo que me ha dado bastantes dolores de cabeza) he añadido un montón de nuevas envolventes para algunas de las funcionalidades más interesantes de Allegro, como son las transparencias, los sprites RLE (mucho más ligeros y rápidos que los normales, ¡dónde va a parar! ), los mapas de color (utilísimos para crear efectos especiales como convertir a tonos grises, simular visión calorífica al estilo de Predator...), más acceso a archivos de disco y alguna cosilla que se me escapa. También he actualizado la documentación, aunque todavía le queda mucho para estar completa.

La publico ahora, como versión beta, ya que voy a estar fuera de negocio durante una temporada y la versión definitiva va a tardar un rato, todavía... Vueltas que da la vida. De todas formas aquí tenéis la página del proyecto desde donde podréis acceder a las descargas y la documentación.

Que la disfruten con salud y ya saben, si tienen dudas, no duden y pregunten.
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
  #4  
Antiguo 01-02-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Onti Va por buen camino
Hola Ñuño

Hice todo tipo de programas, pero los juegos , es algo que siempre he querido hacer algo, pero nada; así que voy a probar tus librerías y empezar por ahí

Salu2
Responder Con Cita
  #5  
Antiguo 01-02-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
¡Oleeeeee! (ya picó uno )
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
  #6  
Antiguo 01-02-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.629
Caral Va por buen camino
No Ñuño Martínez,
Si somos mas de uno los que hemos picado.
Mi problema es que me gustaria aprender, pero tendria que empezar por conocer que son, como se instalan y para que sirven las bibliotecas.
Osea, casi nada.
Pero ganas tengo.
Saludos
Responder Con Cita
  #7  
Antiguo 02-02-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
seoane Va por buen camino
Bueno Ñuño, le he echado un vistazo a tu librería. Y se me han presentando un par de problemillas al intentar compilarlos en mi Turbo Delphi. Aquí te dejo una lista con algunos problemas y las soluciones que modestamente utilice, aunque puede que tu encuentres una forma mejor de hacerlo.

Código:
[Pascal Error] albase.pas(56): E2003 Undeclared identifier: 'DWORD'
--> Añadí la unit Windows

[Pascal Error] alfixed.pas(216): E2016 Array type required
--> Anadi la siguiente funcion
  function tabla(Base: TBLptr; Offset: Integer): AL_FIXED;
  begin
    inc(Base,Offset);
    Result:= Base^;
  end; 
  
  Y corregí el problema de la siguiente manera:
  al_fixsin := tabla(_cos_tbl,((x - $400000 + $4000) SHR 15) AND $1FF);

  Este problema se repite en varias lineas mas, utilice la misma solución

Incompatible types: 'AL_CHARptr' and 'PAnsiChar'
--> Este error aparece varias veces, un simple Typecast soluciona el problema.

Incompatible types: 'AL_CHARptr' and 'string'  
--> Este error aparece varias veces, un simple Typecast soluciona el problema.
Por cierto el ejemplo expal me gusto, es casi hipnótico
Responder Con Cita
  #8  
Antiguo 02-02-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Cita:
Empezado por seoane
Bueno Ñuño, le he echado un vistazo a tu librería. Y se me han presentando un par de problemillas al intentar compilarlos en mi Turbo Delphi. Aquí te dejo una lista con algunos problemas y las soluciones que modestamente utilice, aunque puede que tu encuentres una forma mejor de hacerlo.
Tendré que echarle un vistazo, aunque no será enseguida . Ya sabía yo que tan bueno no podía ser...
Cita:
Por cierto el ejemplo expal me gusto, es casi hipnótico
De hecho ayer mismo lo estaba probando en el trabajo (no puedo utilizar internet en casa, todavía) y la jefa casi me pilla. Menos mal que me gritó primero "Guillermo, ¿qué te pasa, que estás embobao?" De otro modo estaría en la calle .

[edit] Aquí hay algo que se me escapa. Acabo de entrar en la página de descargas y resulta que dice que NADIE HA DESCARGADO LA NUEVA VERSIÓN (4.2.1 beta). ¿Cómo es posible, entonces, que tú, seoane, hayas conseguido obtenerla sin que quedara registrado?
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.

Última edición por Ñuño Martínez fecha: 02-02-2007 a las 11:52:18. Razón: ¿Alucinación?
Responder Con Cita
  #9  
Antiguo 02-02-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
seoane Va por buen camino
Cita:
Empezado por Ñuño Martínez
[edit] Aquí hay algo que se me escapa. Acabo de entrar en la página de descargas y resulta que dice que NADIE HA DESCARGADO LA NUEVA VERSIÓN (4.2.1 beta). ¿Cómo es posible, entonces, que tú, seoane, hayas conseguido obtenerla sin que quedara registrado?
Es extraño, yo acabo de volver a entrar a la pagina y tienes razón que pone 0 descargas, pero yo te puedo asegurar que la baje.
Responder Con Cita
  #10  
Antiguo 02-02-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
¡Olvidé contestar a Caral! No te enfades, anda
Cita:
Empezado por Caral
No Ñuño Martínez,
Si somos mas de uno los que hemos picado.
Mi problema es que me gustaria aprender, pero tendria que empezar por conocer que son, como se instalan y para que sirven las bibliotecas.
Osea, casi nada.
Pero ganas tengo.
Saludos
No te preocupes. Lo explico en el archivo "leeme.txt", en castellano como debe ser . Simplemente te bajas la versión precompilada de Allegro, buscar el archivo "alleg42.dll" y copiarlo en tu directorio "Windows/System32". Luego te descargas la versión precompilada de Allegro.pas y haces lo mismo con el archivo "alpas42.dll". Finalmente te descargas la versión "normal" de Allegro.pas, haces los cambios que dice seoane en los archivos fuente que hay en el subdirectorio "lib" y copias estos archivos donde tengas las librerías de Delphi (acabo de instalar Turbo Delphi y me dice que están en C:\Archivos de programa\Borland\BDS\4.0\lib). A partir de aquí ya puedes abrir los ejemplos que están en el directorio "examples". La documentación la puedes consultar "on-line" en http://allegro-pas.sourceforge.net (en inglés por razones de márquetin ).

Y para otras dudas, aquí estamos todos .
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
  #11  
Antiguo 02-02-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Onti Va por buen camino
Cita:
Empezado por seoane
Es extraño, yo acabo de volver a entrar a la pagina y tienes razón que pone 0 descargas, pero yo te puedo asegurar que la baje.
No esta funcionando el contador , porque yo también lo descargue
Responder Con Cita
  #12  
Antiguo 27-04-2007
Saiyan Saiyan is offline
Miembro
 
Registrado: abr 2007
Posts: 47
Saiyan Va por buen camino
Cita:
Incompatible types: 'AL_CHARptr' and 'string'
--> Este error aparece varias veces, un simple Typecast soluciona el problema.
Perdon por la ignorancia...
pero me podrias ayudar diciendo como se usa el TypeCast para resolver esos problemas??.. a los demas ya los arreglé y funcionan bien tus mejoras...

Como arreglo con TypeCast?
Responder Con Cita
  #13  
Antiguo 27-04-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
sitrico Va por buen camino
No he bajado la librería pero me gusta la idea

TypeCast = conversión de tipo y debe ser algo como:

PAnsiChar(AL_CHARptr)

Código Delphi [-]
Var
i : Byte;  
begin
i := 1;
If Boolean(i) Then // esto es un TypeCast

Espero no te salga un Invalid typecast
__________________
Sitrico
Responder Con Cita
  #14  
Antiguo 27-04-2007
Saiyan Saiyan is offline
Miembro
 
Registrado: abr 2007
Posts: 47
Saiyan Va por buen camino
Muchas Gracias.. Ok, lo pruebo y comento que sucedió.
Gracias...

esta tarde lo pruebo...
Responder Con Cita
  #15  
Antiguo 07-06-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
¡Vuelvo a la carga!

Lo dicho. He cambiado varias cosas siguiendo para compatibilizar mejor con Delphi. He subido el archivo de forma temporal a esta dirección. Si alguien me hiciera el grandísimo favor de comprobar si funciona con Delphi y/o Turbo Delphi y me informara del resultado, lo agradeceré enormamente.

Recuerdo que deberéis descargar también las versiones precompiladas de Allegro y de Allegro.pas (los enlaces van directos a las descargas). Únicamente son necesarios los archivos DLL.

Gracias adelantadas.
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
  #16  
Antiguo 07-06-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
seoane Va por buen camino
Hola Ñuño,

ahora mismo no tengo mucho tiempo para hacer pruebas. Pero te cuento como me fue con un par de ejemplos.

Primero hay que añadir el directorio "lib" al "Search Path" del proyecto (Menú: "Project/Options/Directories Conditionals/Search Path"). Y definir la condición WINDOWS (Menu: "Project/Options/Directories Conditionals/Conditionals defines").

Luego modificamos la clausula uses de varios .pas

albitmap.pas
Código Delphi [-]
  USES
    albase, alcolor, alvtable
{$IFNDEF FPC}
 {$IFDEF WINDOWS}
,Windows
 {$ENDIF}
{$ENDIF}
;

alfile.pas
Código Delphi [-]
{$IFNDEF FPC}
  USES Sysutils, albase;
{$ELSE}
  USES strings, albase;
{$ENDIF}

alKeybrd.pas
Código Delphi [-]
{$IFNDEF FPC}
  USES Sysutils, albase;
{$ELSE}
  USES albase;
{$ENDIF}

exBlend.pas, lineas (142 y 154)
Código Delphi [-]
  
  image1 := al_load_bitmap (filename, AL_RGBptr(@pal));
  image2 := al_load_bitmap (filename, AL_RGBptr(@pal));

Hasta aquí llegue, probé los ejemplos: exblend, excolmap y el hipnótico expal, en cuanto tenga tiempo le hecho un vistazo al resto.
Responder Con Cita
  #17  
Antiguo 07-06-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Son más errores y problemas de los que esperaba

Lo de poner el path me lo imaginaba. Tendré que añadirlo a la documentación para que la gente lo tenga en cuenta. Estaba pensando en crear un paquete para Lazarus, así que también se podría hacer uno para Delphi, ¿o no?

En cuanto a lo de definir la condición WINDOWS, ¿no tiene Delphi una ya definida? Por ejemplo WIN32 o similar que permita saber que está compilando en él. Dado que existe Kylix supongo que sí habrá una.

El resto de las cosas ya las iré estudiando.

Gracias, y si hay algún detalle más que se necesite cambiar o añadir, decidlo sin miedo.
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
  #18  
Antiguo 07-06-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
seoane Va por buen camino
Cita:
Empezado por Ñuño Martínez
En cuanto a lo de definir la condición WINDOWS, ¿no tiene Delphi una ya definida? Por ejemplo WIN32 o similar que permita saber que está compilando en él. Dado que existe Kylix supongo que sí habrá una.
Estoy cansado de verla y no me di cuenta hasta que lo preguntaste. La que tiene definida delphi por defecto es MSWINDOWS.

Por lo tanto:
Código Delphi [-]
{$IFDEF MSWINDOWS}
,Windows
{$ENDIF}
Responder Con Cita
  #19  
Antiguo 09-07-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Allegro.pas ataca de nuevo

"Raudo como una centella
en su corcel verde botella (...)"
regresa Ñuño con sus ideas de bombero.

Pues eso, que le he hecho unos pocos cambios y me arriesgo a subirlo a su web oficial, eso sí, sigue siendo una versión "beta" porque quiero que la definitiva tenga ya toda la documentación completa y un juego de demostración para que la gente pueda empezar a cacharrear (el editor de mapas está casi terminado ya ).

La página de descargas para que le echéis un vistazo.

Lo que me interesa saber, especialmente, son dos cosas:
  • Que las instrucciones de instalación y uso son claras, se entienden y sirven
  • Que compila bien en Delphi sin tener que hacer cambios
A ver si esta vez lo he conseguido, puedo terminar la versión estable y puedo respirar tranquilo de una pugnetera vez, que eso de tener todos los proyectos a medias y sin terminar no es nada bueno para la salud.
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
  #20  
Antiguo 24-07-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Zona Libre de Madrid, Reino de Dick
Posts: 4.730
Ñuño Martínez Va por buen camino
Aquí estoy de nuevo, porque hay nueva versión. Estuve haciendo un juego y detecté un par de errores, muy simples pero bastante molestos. La página de descargas de nuevo...

El juego puedo publicarlo por culpa del servidor A ver si consigo solucionar un problema que tengo y contrato a Emilio de una vez (Espero que no se haya enfadado por el último plantón, pero uno no gana para sustos e imprevistos).
__________________
Proyectos actuales ----> Nuevo proyecto: http://www.burdjia.com/
Entorno de desarrollo ----> Materia gris.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar la libreria crt.dcu de Turbo Pascal 7 en delphi 2205 nunez1984 API de Windows 10 08-03-2010 04:36:34
Librería para hacer peticiones HTTP para delphi 5 rlago Internet 3 06-11-2006 10:28:18
Hacer juegos con delphi astut Varios 4 18-09-2006 11:37:57
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29
¿Object Pascal para todo? ReigDidion OOP 10 12-02-2004 08:28:07


La franja horaria es GMT +2. Ahora son las 09:35:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi