¡Buenas! Desarrollador novato en el foro

By Tchangla

Supporter (2)

Аватар пользователя Tchangla

25-12-2016, 21:26

¡Buenas a todos!

Llevo mucho tiempo siguiendo la pista de un MSX hasta que por fin pude trastear con algunos en esta última RU. Aun no tengo ninguna máquina, pero estoy pensando en hacerme con una para hacer pinitos y tal (me encantó el ambiente de la comunidad de MSX aquí en España).

A la vez que me presento, quería preguntar una cosa, y que me dijeseis si es mejor preguntarla aquí o en otro sitio:

Estaba programando un dungeon crawler como Wizardry para PC hace un tiempo, muy básico, intentando seguir las limitaciones técnicas de la GameBoy original (me pasé un poco de la rosca, y al final hice cosas que técnicamente no eran posibles).

Enlace a vídeo de Wizardry

Viendo la bonita escena de MSX, se me ocurrió continuar con el proyecto para este, y quería saber, con que me recomendáis empezar a programar, ¿BASIC o Ensamblador? Yo hasta ahora he tocado Java y C# (el juego en cuestión lo estaba haciendo con C# también, programando yo todo). Me suena haber leído en su momento que es mucho mejor programar en Ensamblador por que no te limita tanto, pero claro, a lo mejor es una salvajada intentar aprender sin haber tocado nunca antes este.

Y, la idea era hacer el juego para MSX1 , abarcando todos los modelos/públicos posibles.

Por ahora, no doy mucho mas por saco.

¡Un abrazo y un placer estar aquí!

Для того, чтобы оставить комментарий, необходимо регистрация или !login

By erpirao

Paragon (1236)

Аватар пользователя erpirao

26-12-2016, 10:17

hola, bienvenido al foro y a la comunidad, yo no te puedo decir el lenguaje de programación porque en su tiempo "no pasé del gosub", pero si que te digo que meterte a las bravas al ensamblador, no es muy recomendable,
habla con axelstone de este mismo foro, que está desarrollando en MSX-C, aunque por el momento solo para MSX2, .. y siendo como sois los dos, desarrolladores de lenguajes de alto nivel, te podrá dar mejores directrices
esperando tu proyecto nos hayamos, un saludo y adelante.

By Kai Magazine

Paragon (1418)

Аватар пользователя Kai Magazine

26-12-2016, 17:51

Buenas Tchangla,

Para hacer un juego tan sencillo como un dungeon crawler te recomendo el basic/turbo basic.
No tendrás que volverte loco buscando librerias para C o ensamblador para hacer los comandos ya que el Basic te los da de serie y podras empezar a programar hoy mismo.
Ademas podrás avanzar y aprender muy rapido porque opdras ver el resultado de tu codigo con solo pulsar una tecla (f5) y ver en la pantalla lo que has hecho en cuestion de escasos segundos.
Hace muchos años empecé un dungeon crawler para msx2 (alomejor aun tengo opr ahí el proyecto) en basic puro, ni siquiera turbo basic/xbasic/basic kun (los 3 son la misma cosa, un compilador que te compila el basic a ensamblador) y el juego iba sobrado.
En cuanto a hacerlo para msx1:
El msx2 tiene un apartado grafico mucho mas orientado a videojuegos y un chip grafico muy superior. Con menos esfuerzo podrás obtener mejores resultados que con msx1.
En cuanto al hecho de creer que con msx1 alcanzarás a mas publico: creo que la enorme mayoria de usuarios activos de msx que compran software tienen al menos un msx2. Alcanzarás a mas publico si haces algo bonito para msx2 que si haces algo para msx1.

Aqui puedes ver los juegos que hemos hecho en basic compilado para msx2:

Kai Magazine

Animos! y si necesitas ayuda solo tienes que preguntar.
saludos!

By jrcp_kun

Paragon (1410)

Аватар пользователя jrcp_kun

26-12-2016, 18:35

bienvenido

By Tchangla

Supporter (2)

Аватар пользователя Tchangla

26-12-2016, 20:36

¡Gracias por la acogida!

Kai Magazine, diciendome que con BASIC tengo de sobras, ¿conoces recursos que me puedan ir bien para aprender y bien documentados?

Luego, hablando de hacerlo para MSX2, quitando lo de llegar a mas gente, el precio de un MSX2 me parece bastabte prohibitivo por ahora, en cambio, MSX1 encuentro a buen precio (unos 50/60€, si, aun sigo en busca de un MSX para mi).

Que ganas de ponerme ya a hacer cositas y seguir aprendiendo y preguntado, creo que es la primera vez que me veo motivado por la comunidad de usuarios de algo.

¡Un saludo!

By Kai Magazine

Paragon (1418)

Аватар пользователя Kai Magazine

26-12-2016, 23:40

Recursos para basic los tienes todos:
Libros de basic, ejemplos a miles, juegos hechos en basic/xbasic, drivers para controlar TODO el hardware interno y externo...
Solo tienes que aprender los comandos, la logica (la cual es muy simple) y ale, a empezar, no te tienes que preocupar de nada mas.
Ademas cuentas con desarrolladores que te darán todo el apoyo que quieras (como un servidor).

En cuanto a que un msx2 es caro comparado con un msx1: puedes encontrar msx2 por 120 aprox, y la diferencia de precio merece la pena solo ya por el software existente para msx2: en msx1 hay juegos EXCELENTES, pero esque en msx2 hay muchos mas y tambien excelentes! (y graficamente superiores, claro).
De todos modos para programar en msx vas a necesitar un msx con disquetera, como minimo minimo (no vas a estar cargando y guardando tu progreso en una cinta de casete??) y para ir bien, una megaflashrom SD o similar para tener almacenamiento masivo super rápido, poder transferir comodamente archivos del pc al msx y viceversa y poder desarrollar muchisimo mas rapido que con disquete.
Entiendo que es un hobby y que no deseas gastar mucho dinero, pero si quieres aprender y realmente avanzar y lograr hacer algo, necesitarías eso como mínimo ya que de lo contrario vas a ir a paso de tortuga y te vas a agobiar muy pronto.
Un saludo!

By AxelStone

Prophet (3064)

Аватар пользователя AxelStone

29-12-2016, 19:35

@erpirao Gracias por la referencia compañero, y aún así voy a aclarar algunas cosas al autor. Ante todo bienvenido, siempre es una alegría ver nuevos desarrolladores en la scene MSX, más juegos en vista.

Sobre tu primer juego, me temo que si apuntas al MSX1 el ensamblador es lo único que te va a permitir resultados, y como lenguaje de iniciación es muy áspero. Te invitaría a cambiar de target, ¿qué tal un juego de mecánica sencilla pero en MSX2? Con ese target el BASIC es una manera fantástica de empezar, en poco tiempo tendrás resultados y eso te estimulará a seguir creando. Te digo más, no te pares ni en Turbo BASIC, si vienes de lenguajes de alto nivel vas a agradecer herramientas como NestorPreter y el lenguaje ideal es Nestor Basic, cargado de features preprogramadas.

La única pega del BASIC es que resulta más limitado que otros lenguajes, pero si tus juegos encajan en basic no hay mayor problema, eso si deberas intentarlo para saber si se sale o no. Me parece un disparate empezar una aventura conversacional en ensamblador cuando en basic lo vas a tener mucho más fácil...

Respecto a C, hay un hilo oficial en el foro inglés, aqui estamos para echarte un cable si apuestas por él.

By Kai Magazine

Paragon (1418)

Аватар пользователя Kai Magazine

30-12-2016, 00:48

El problema con nestorbasic que necesita 128k de ram y eso automaticamente descarta a todos los msx1 y muchos msx2, y si uno de los objetivos de Tchangla es llegar a cuantos mas usuarios mejor, eso es ir en camino contrario.
Nestorbasic va genial para usar moonsound con los juegos de turbo basic, pero no creo que sea el caso.

By AxelStone

Prophet (3064)

Аватар пользователя AxelStone

30-12-2016, 11:52

Pero por eso comento lo de cambiar el target. Es cierto que pide 128kb, pero las features proporcionadas son tremendas, la más destacable de largo su gestión de los segmentos de memoria, algo que multiplica las posibilidades de mejorar tu juego. En BASIC la memoria siempre es un factor crítico, con NestorBasic el poder acceder a todos los segmentos de la memoria mapeada te permite hacer juegos bastante complejos sin toparte con la memoria.

Para que el autor nos entienda, por si te estás perdiendo, te hago un pequeño resumen. El Z80 direcciona 64Kb, de los cuáles BASIC solo usa 23Kb. Si además usas Turbo Basic (altamente recomendado por su rendimiento) la memoria es sobre la mitad, ya que código compilado y fuente comparten espacio. El MSX resuelve el acceso a toda la memoria usando los llamados segmentos de 16kb, pero hay que tener fuertes conocimientos técnicos para usarlos. Pues bien, NestorBasic lo hace por ti y te permite usar todos los segmentos de 16kb que tenga tu equipo, usandolos por ejemplo para alojar datos, mapas, etc.

En cualquier caso lo importante es empezar y probar, hasta que no pruebes no sabrás lo que se ajusta mejor a tus necesidades Smile

By manolito74

Paragon (1205)

Аватар пользователя manolito74

02-01-2017, 18:09

Hola @Tchangla:

Por si te sirve de algo aquí puedes encontrar un montón de info, entre ella Libros, Manuales, etc tanto de Basic como de Ensamblador.

https://yotambientuveunmsx.wordpress.com/2014/07/01/msx-guia...

En el Blog también hay otras Entradas con Info Técnica donde también se explican cosillas sobre la Memoria y demás.

Suerte & Saludetes. ;-)

By eldeljar

Supporter (9)

Аватар пользователя eldeljar

03-01-2017, 19:43

Bienvenido Tchangla.

Yo también soy novato y vengo del mundo Java. En mi caso, aunque empecé con ensamblador para saber cómo funciona y se programa el MSX, actualmente estoy intentando desarrollar un juego de MSX 1 con C, concretamente con la librería z88dk. Esta librería dispone de algunas funciones y utilidades para desarrollar en MSX.

Es obvio que el código generado en C no es tan óptimo como ensamblador, pero también se pueden hacer cosas muy interesantes.

Esto no quita que tengas que saber algo de ensamblador, ya que tarde o temprano tendrás que revisar alguna función ya hecha en ensamblador o hacer la tuya propia.

Animo y si te pasas al lado oscuro de C tienes todo mi apoyo Smile)