Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Mac

Iniciado por Pogacha, 19 de Mayo de 2005, 12:44:59 PM

« anterior - próximo »

Pogacha

 Alguien puede decirme donde conseguir info concreta sobre la arquitectura de la mac (micro, archivos, memoria, pantalla), mas bien ..., como hacer codigo portable?
SDL? PTK? ... ?
De PTK no se nada ...
Saludos.

CoLSoN2

Cita de: "Pogacha"Alguien puede decirme donde conseguir info concreta sobre la arquitectura de la mac (micro, archivos, memoria, pantalla), mas bien ..., como hacer codigo portable?
SDL? PTK? ... ?
De PTK no se nada ...
Saludos.
¿A qué te refieres con "archivos" y "pantalla"?

Si tienes experiencia con Linux, Mac OS X es realmente un Linux, así que muchas cosas funcionan de la misma forma. Luego tienes el problema del orden de los bytes, que los Mac son big endian a diferencia de los PC, que son little endian, por lo que los bytes (que no bits) están ordenados al inverso en memoria.

Luego si vas a guardar un int de 4 bytes en uno, se guardaría como:

bits 32-24 ... bits 24-16 ... bits 16-8 ... bits 8-0

mientras que en el otro sería:

bits 8-0 ... bits 16-8 ... bits 24-16 ... bits 32-24

Esto sólo tienes que tenerlo en cuenta si manejas bloques de bytes de alguna forma, como por ejemplo si tienes un array de int's y accedes por byte, porque los interpretas como colores, o algo así.

Además también influye a la hora de leer ficheros binarios.

Luego tienes el API, que es distinto al API de Windows, por supuesto.

Nunca he usado SDL, pero sí PTK. Hice mi juego con él, y para portarlo a Mac creo recordar que la persona que hizo el port (yo no tengo un Mac) apenas tuvo problemas. Casi todo era por descuidos míos, por dejarme algunos accesos a ficheros usando paths de windows (\\) en vez de usar la función para paths de PTK (KMiscTools::makeFilePath).

Lo de invertir el orden de bytes, es cuestión de que cada vez que vayas a hacer algo en lo que importe eso (escribir / leer de un fichero binario, por ejemplo), pongas los bytes de una forma (la misma, sea cual sea, para ambas plataformas). En PTK tienes flipShort/flipLong/flipFloat(dato).

Realmente con PTK te facilita muchísimo las cosas. Dentro de poco habrá versión para Linux también, y la versión actual soporta tanto OpenGL como DirectX7 en windows.
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Zaelsius

 Como dice Colson, cuidado con todos los ficheros binarios. Si vas a escribirlos, cuidado con los struct, ya que cada compilador puede darles una organización y tamaño interno diferente. Por ello, es peligroso leer los structs de una tacada si vas a leer/escribir ficheros binarios en varias plataformas.

Tambien ten cuidado con funciones de C que no son portables, como:

- itoa -> usa sprintf
- log2 -> usa log(x) / log (2)

tampoco sirven strncmp(), round(), por poner algunos ejemplos.

La libreria PTK hace que el port sea bastante sencillo. Nosotros con el Jander Clander(compo 24h) usamos esa librería y no tuvimos que crear código específico para ninguna plataforma.

Ahora estamos terminando un juego shareware con esa librería, y nos ha ido bastante bien, aunque hemos tenido que añadir código nativo en ambas plataformas para cosas como reproducción de video, detección de resoluciones disponibles, etc.

En general, mientras uses librerias multiplataforma bien probadas, no deberias tener demasiados problemas con el port. Eso sí, si no tienes un Mac a mano, o alguien que te haga el port, no puedes pretender que vaya a funcionar a la primera(además, con alguna máquina tendrás que compilar). Normalmente todas las librerias de este tipo para Mac se enlazan estáticamente, no hay infierno de DLL's como en Windows o infierno de dependencias en GNU/Linux.

Datos técnicos sobre la plataforma, te doy algunos:

-Hoy en dia es lo más normal soportar la versión Mac OS X 10.3 o superior.
-La resolución mínima es de 1024x768, 32 bits por defecto. Es raro que alguien active los 16 bit de color para trabajar.
-El núcleo del sistema operativo se llama "Darwin", es opensource y está basado en el núcleo de BSD.
-Puedes estar seguro de que OpenGL está instalado y funcionando correctamente, ya que es usado por todo el sistema para pintar las ventanas.

Creo que lo mínimo que han montado las máquinas con OS X han sido Radeon 7000 y GeForces 4MX. Aun así, es mejor comprobar las extensiones antes de utilizar algo avanzado.

Pogacha

 Gracias ...
Investigue todo lo que pude y sigo sintiendome un maldito ignorante.
No se nada de linux y a menos que no lo instale sobre alguna maquina no creo que llegue a saberlo nunca ...
Ni siguiera de lejos he visto una mac :(.
Este mundo parece no coperar con migo.
Muchas gracias nuevamente.
Saludos.

Pogacha

 Cuanto sale la licencia de PTK en definitiva?
... no es mejor el torque entonces ?

seryu

 a mi el torque me convence mas.. pero claro, torque es un verdadero lio de codigo. Pero ahi esta. El precio es ajustado, eso seguro.

josepzin

 Pogacha, lo mas facil para "sentir" Linux y tener el primer contacto, es conseguirse una version LIVE, que arranca desde CD y no hace falta instalar nada.

CoLSoN2

Cita de: "Pogacha"Cuanto sale la licencia de PTK en definitiva?
... no es mejor el torque entonces ?
El PTK ha subido ligeramente de precio y ahora vale $215.

Los últimos updates son:
- Compatible con Linux (además de los ya soporados Windows, Mac y PocketPC)
- Posibilidad de usar DirectX u OpenGL solo cambiando un flag
- Fuentes TrueType a parte de las ya soportadas bitmap fonts

¿Si Torque es mejor? Pues depende para lo que lo quieras.

Para juegos 3D, PTK no te sirve.
Para juegos 2D, Torque no te sirve (te pongas como te pongas, Torque2D no está listo para usarse comercialmente).
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Zaelsius

 Para juegos shareware me quedo con PTK sin duda. C++ con cuatro clases muy sencillas, y prácticamente sin dependencias.

Pogacha

 
CitarEl PTK ha subido ligeramente de precio y ahora vale $215.
$215  se escapa de mi presupuesto como por unos $205 ...  :huh:

Citar¿Si Torque es mejor? Pues depende para lo que lo quieras.

Para juegos 3D, PTK no te sirve.
Para juegos 2D, Torque no te sirve (te pongas como te pongas, Torque2D no está listo para usarse comercialmente).
Entiendo.

CitarPara juegos shareware me quedo con PTK sin duda. C++ con cuatro clases muy sencillas, y prácticamente sin dependencias.
Parece que si ... pero no cuento con ese dinero por ahora.

CitarPogacha, lo mas facil para "sentir" Linux y tener el primer contacto, es conseguirse una version LIVE, que arranca desde CD y no hace falta instalar nada.
Tengo un CD que dice conectiva linux con unos crios jugando en la tierra ... ni idea ... buscare en el emule si eso esta ... Linux LIVE.

Suponiendo que programo en base OpenGL, abrir ventana y manejar teclado será parecido y conseguiré codigo de ejemplo, el sonido se lo dejo a SDL_Mixer. ¿Que me quedaria por resolver? ... mis archivos de datos son txts, pero mis archivos de imagenes son png, tal vez puedo convertirlos a formato intermedio pero sin compresión ...  ZLib anda para mac?

Nota : mi motor 2d es un wrapper del NukeDX modificado y con un agregado de administración de recursos ... pero siempre fue pensado para poder pasarse a OpenGL en click click ..., en un principio pense que hacerlo por software seria lo mejor pero veo que la mayoria de los juegos shareware son plan DX8.1 u OpenGL. Y por ejemplo GG pide con un buen argumento que sea para MAC tambien.

Saludos


CoLSoN2

 
Citar
$215  se escapa de mi presupuesto como por unos $205
Bueno, entonces Torque se te escapa por $90, que esun 900% tu presupuesto ;)

Mírate el PopCap Framework. Es gratuito, open source y muy bueno. Es lo que estoy utilizando yo ahora. Lo malo es que de momento sólo es para Windows, aunque alguien que ha portado juegos de PopCap (todos usan ese framework) en el pasado a Mac está trabajando en un port del framework.
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Javi SJ Cervera

 Prueba BlitzMax, para mí es la otra gran opción 2D. Utiliza OpenGL para los gráficos (con soporte D3D7 que aparecerá en breve), es multiplataforma (Windows / Mac / Linux), tiene una sintaxis estupenda (un lenguaje orientado a objetos muy sexy con algunas reminiscencias de Basic), y es barato en comparación a los otros dos (80$, se quedan en 65€ al cambio actual). Tienes una demo en la página web.
== Jedive ==

seryu

 solo que pogacha no es español, asi que no creo qe se le qede en euros. de todas formas con el VAT y la Valencia, seguro qe tpco en españa.

[EX3]

 Le he estado echando un ojo al Blitz Max y tiene muy buena pinta, soporta muchos mas formatos que Blitz3D tales como el PNG o el OGG, y hasta incluye un interprete de scripts en Lua. Rapido y completo, la verdad es que me esta tentando, aunque me da rabia abandonar VB mas que nada por los 5 años aproxmados de desarrollo que llevo con la dx_lib32, sobre todo a estas alturas y por la soltura que tengo en dicho lenguaje.

Menudo dilema tengo en la cabeza, señor (uoh) (nooo)

Salu2... ;)
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

tewe76

 Te entiendo, EX3. Yo también he sido tentado muchas veces por otros engines. Y al final he vuelto al mío, únicamente porque VB sigue siendo el lenguaje (el IDE también) en el que me siento más cómodo.
Difícil elección, sí señor :)
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.