Foros - Stratos

Stratos => Proyectos => Mensaje iniciado por: Altair en 02 de Mayo de 2011, 09:32:39 PM

Título: Publicado Nautilus Game Library
Publicado por: Altair en 02 de Mayo de 2011, 09:32:39 PM
Por fin, llego la hora, despues de muchos retrasos por mil cosas.

http://ngl.ayudaprogramacion.net/NGL_BETA-0.1.tar.gz

Nautilus Game Library (NGL) es una libreria en C/C++ que combina el lenguaje C (y un poco de C++) con las librerias SDL para crear una forma de programar juegos 2D bajo Linux que sea "tipo DIV".

Es una primera version, y aunque hay muchas cosas mejorables creo que ha quedado bastante bien para ser la primera version. Pero, sobretodo, hay mucha ilusion y ganas de aprender.

No soy ningun experto en C/C++, ni tampoco en SDL. Lo que estais viendo aqui es un proyecto personal. El resultado de muchos dolores de cabeza al enfrentarme a problemas que han ido surgiendo y horas investigando foros, Internet, la wikipedia, manuales y ejemplos. Comparado con la mayoria de la gente del foro, creo que soy muy novato en muchos temas xD

Mi agradecimiento tambien a las muchas personas que han apoyado este proyecto, de forma directa o indirecta.

En la descarga hay: el codigo fuente, unos cuantos ejemplos a modo de tutorial listos para compilar, unas cuantas capturas de pantalla y el manual de referencia.

Como se como soy, me aplico a mi mismo la ley de Murphy: "podras revisarlo de arriba a abajo, de abajo a arriba, de derecha a izquierda y de izquierda a derecha; cuando creas que lo tienes todo bien atado es cuando puedes estar seguro de que te has dejado algo".

Espero vuestros comentarios.
Título: Re: Publicado Nautilus Game Library
Publicado por: Altair en 03 de Marzo de 2012, 10:58:42 AM
Buenas,

voy a seguir la sugerencia que me han dado de tratar de mantener en un único hilo este tema, un poco por lo de tenerlo todo más ordenado y esas cosas.

He terminado hace poco la versión 0.4 de Nautilus y estoy bastante satisfecho con como ha quedado. Las novedades de esta versión son el pathfinding, reproducir películas y la posibilidad de juegos cliente-servidor.

Creo que stratos es un buen lugar para una especie de "testeo intensivo" porque muchos usuarios de aquí usaron en su dia div2/fenix. Muchas cosas son muy parecidas. Creo que muchos juegos que se hicieron para div2 y/o fenix podrían adaptarse fácilmente.

Esta es una lista de las funciones disponibles en esta versión:

NOTA: si no tienen el prefijo "ngl_" son funciones miembro, detalles en el manual.

FUNCIONES DE PANTALLA
ngl_set_mode

FUNCIONES DE INTERACCION
ngl_collision
ngl_get_angle
ngl_get_dist

FUNCIONES MATEMATICAS
ngl_rand_seed
ngl_rand

FUNCIONES GRAFICAS
ngl_paint
ngl_paint_region
ngl_paint_entity
ngl_alpha
ngl_mask
ngl_rotate
ngl_set_fps
ngl_get_fps
ngl_put_pixel
ngl_get_pixel_r
ngl_get_pixel_g
ngl_get_pixel_b
ngl_geom_hline
ngl_geom_vline
ngl_geom_line
ngl_geom_line_aa
ngl_geom_line_thick
ngl_geom_rectangle
ngl_geom_rectangle_rounded
ngl_geom_box
ngl_geom_roundedbox
ngl_geom_circle
ngl_geom_circle_aa
ngl_geom_circle_filled
ngl_geom_arc
ngl_geom_ellipse
ngl_geom_ellipse_aa
ngl_geom_pie
ngl_geom_pie_filled
ngl_fill

FUNCIONES DE PLANOS
add
del
get_number
paint
paint_one
paint_group

FUNCIONES DE MUSICA Y SONIDO
ngl_sound_init
ngl_sound_close
load
unload
volume
volume_up
volume_down
play
play_num
resume
rewind

FUNCIONES DE ENTRADA
ngl_key
ngl_mouse_get_x
ngl_mouse_get_y
ngl_mouse_get_button_state

FUNCIONES DE SCROLL
load
unload
set_x1
set_x2
set_y
paint
move
init
limit
speed
direction
set_y1
set_y2
set_x

FUNCIONES DE TEXTO
ngl_init_ttf
ngl_ttf_quit
ngl_load_font
ngl_unload_font
ngl_font_set_color
ngl_font_text_solid_basic
ngl_font_text_solid_utf
ngl_font_text_shaded_basic
ngl_font_text_shaded_utf

FUNCIONES DE ANIMACIONES
ngl_play_movie

FUNCIONES DE CRONOMETROS
start
stop
get_ticks
pause
unpause
is_started
is_pause

FUNCIONES DE PATHFINDING
ngl_blocks
ngl_path_find
reset
number
get_x
get_y

FUNCIONES DE RED
ngl_net_open_server
ngl_net_open_net_server
ngl_net_close_server
ngl_net_accept_client
ngl_net_open_localhost
ngl_net_open_network
ngl_net_close_client
ngl_net_read
ngl_net_write

Por último deciros que voy a tratar de financiar este proyecto mediante crowdfunding, he elejido lanzanos.com como podría ser cualquier otra, no tengo preferencias. De todas formas la cantidad necesaria es asequible, detallada en http://www.lanzanos.com/caja/proyecto/2291/

Si no conocéis esta forma de financiación, aquí la explican http://www.lanzanos.com/como/funciona/
Título: Re: Publicado Nautilus Game Library
Publicado por: Erkosone en 11 de Marzo de 2012, 02:49:48 AM
Hola Altair, supongo que lo sabes, pero hay derivados de DIV actuales, tanto comerciales como gratuitos que están muy muy evolucionados y optimizados, supongo que este proyecto como bien dices es un reto personal, pero..

Ya como curiosidad personal, es una simple prueba de como montar un engine o tienes pretensiones mas allá de unos test?