Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





BakuLand :: MapEditor en Js

Iniciado por Bakudan, 28 de Septiembre de 2010, 03:00:51 AM

« anterior - próximo »

Bakudan



Qué nombre mas ridículo, lo sé. No es propiamente un juego, si no una herramienta que estoy haciendo para ayudarme en el desarrollo de mis juegos, aquí va la historia:

Acerca del Proyecto

Estoy desarrollando dos pequeños juegos en Python; la mayoría de los juegos (o al menos los que yo hago) están basados en el teorema de "Juego Basado en Tiles"; cualquiera que haya programado un juego de este tipo en algún motor o lenguaje (Python, Ruby, BlitzMax, C/C++, Java, etcétera), concordará conmigo en que es una lata tener que editar mapas a través de vectores.

Existen varios editores de mapas (que son implementados a los proyectos mediante parsers, con un formato que ellos dictan), la verdad casi ninguno me convenció (o mas bien, soy muy testarudo como para ahorrarme esa parte del trabajo), así que me dispuse a crear uno yo mismo, el plan era programarlo en lenguaje Python usando las bibliotecas de interface Qt (las cuales estoy empezando a testear), pero últimamente estoy muy enganchado en mi laburo de diseño güeb; estaba totalmente ocioso, así que decidí crear el editor de mapas utilizando HTML/CSS y JavaScript, si, un editor de mapas en la Web (aunque la verdad, mis capacidades con JS son bastante penosa; sirve y aprendo mas con esto).

Objetivo

Mi intención es crear un editor de niveles/mapas lo mas parecido al editor de niveles de GameMaker (un toolkit para creación de juegos) que exporte los mapas en un formato sencillo de array (mas otros datos), para posteriormente programar un parser sencillo para Python (PyGame y Cocos2D), y posiblemente para otros lenguajes.

Planes a Alcanzar
Citar

  • Edicion de Mapas por Tiles.
  • Importar Tilesets Personalizados.
  • Personalización de las medidas de los Tiles (por defecto 32x32).
  • Ajuste de la medida del mapa.
  • Sistema de dibujo por capas (3 capas).
  • Herramientas de dibujo básicas (Lápiz y Rectángulo).
  • Capacidad de Exportar e Importar mapas con un formato único.
  • Parser del formato para PyGame y Cocos2D.
  • El resto serán funciones personalizadas para mis juegos.

Información Técnica
Sobre el Desarrollo:
Está siendo programado usando HTML/CSS y JavaScript razo; posiblemente utilice algún framework como jQuery si me resulta necesario. Cuando tenga algo mas sólido, lo voy a liberar bajo alguna licencia libre (como GPL).

Sobre la Compatibilidad:
Evidentemente por ser Web funcionará para todas las plataformas; sobre los navegadores, estoy optimizandolo únicamente para Firefox, Chrome y Opera; Internet Explorer no lo he probado (porque estoy en Linsux).

Estado Actual

Versión 0.1.0
Programé un prototipo MUUUY básico (no esperen mucho); el codigo está 0% optimizado (así que no se cabreen si les anda endiabladamente lento xD). Les dejo una screenshot:



De momento solo permite agarrar elegir un tile del tileset (en la barra lateral) y dibujarlo en el mapa.

Version 0.1.5
Ahora permite agarrar un tileset completo; en la barra lateral este se muestra con un scroll para visualizar todo el tileset (como en rpgmaker); también se ha completado la "Herramienta de Lápiz" (que es la que está por defecto), esto permite dibujar libremente sin soltar el click.

Versión 0.2.2
Me ha llevado un par de quebrones de cabeza, pero ya ha quedado: se implementó el SISTEMA DE CAPAS (esto ya permite hacer mapas de verdad xD), con tres niveles y una capa de visualización completa; también se ha agregado el sistema básico del formato de mapas (el cual queda a total desconocimiento para ustedes por el momento).

El código está bastante sucio (luego lo pasaré a limpio); puede que el sistema esté un poco lento porque abusa de imagenes y transparencias, por el momento RECOMIENDO USAR GOOGLE CHROME (que es el que me ha resultado con mejor rendimiento); esto se arreglará con Internet Explorer 9, Firefox 4 y el próximo Chrome, ya que implementarán Aceleración Gráfica vía hardware.

Una foto:


Uploaded with ImageShack.us

Y aquí les dejo un enlace para que prueben los pequeños avances:
>> Testear BakuLand 0.2.2

Me gustaría que me dieran opiniones, recomendaciones y echaran algunas observaciones para implementar y reparar. Saludos :D.
00t

josepzin


Hechelion

Veo que usamos la misma fuente para los tileset  :P

http://www.stratos-ad.com/forums/index.php?topic=12760.0



¿Por qué usaste un sistema diferente para el editor y no algo directo en python?

Bakudan

#3
wow, me llevas una épica delantera xD. Yo solía usar mucho el RPGMaker, siempre me han gustado sus tilesets : P.

Sobre el lenguaje, lo que pasa es que últimamente ando muy prendido en mi laburo (diseñador web).

Aunque reconozco que me habría sido mas fácil programarlo en Python, mi problema es que todavía no manejo ninguna biblioteca de interface (estoy probándole a Qt), y aunque la curva de aprendizaje no es tan alta, me pareció interesante hacerlo en Web (me evito el tema de la compatibilidad, empaquetar el programa -porque python es interpretado- y demás detalles).

Aparte, me gusta hacer trabajos con mucha estética visual, algo que puedo lograr fácilmente en diseño : P.

Sobre el progreso, el editor ahora mismo ya puede seleccionar grupos de tiles (como un arbolito entero) para dibujar en el mapa (lo cual me hizo reestructurar muchas partes del código), todavía no he actualizado la versión en linea (debido a que aun tiene detallitos) pero lo subiré en cuando acabe.
00t

XÑA

Me parece un trabajo fantástico!! Felicidades!






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.