Planeo tener 2 streams MJPEG de mi programación de juegos todo este año. Si les dan clic, pueden ver lo que estoy haciendo en vivo.
Una de las primeras cosas que voy a hacer es transcribir a mano el juego de Mario de MS-DOS poco a poco, en Pascal y en C, para entenderlo y aprender trucos que no sé ahorita.
Por ejemplo, ¿alguien sabe cómo implementar el suelo y objetos para implementar saltar y las demás acciones como correr?
Pueden darme sugerencias de cómo estoy haciendo las cosas, o darme más referencias de estudio.
Cada proyecto **__cache.zip en la página de proycto de la API tiene un archivo build**.bat, que compila todo limpiamente sin cambiar nada con solo correrlo, para que sirvan como los programas instalados, con ejecutables, el código e información de prueba/desarrollo.
En la página del proyecto hay varios archivos de muestra que terminan en "__cache". Con esos programas hemos aprendido diferentes cosas que vamos a aplicar en nuestro proyecto: http://sourceforge.net/projects/api-simple-completa/
Necesito hacer un proyecto para el que tenga ayuda de varios otros para cada una de sus partes.
Se me ocurre que lo primero que tengo que hacer son las primitivas de manejo y dibujado de la pantalla, y los algoritmos básicos sin saltarse.
Así que necesito alguien que se encargue de los algoritmos de línea, de círculos, de rellenado, escalado, de color a escala de grises, doble búfer, entre otros que tengo que mencionar aquí.
Una vez eso esté listo, necesito gente que me ayude a hacer un de juegos que básicamente defina un conjunto de estructuras para cada personaje. TODO en el juego es un personaje, el fondo, la música, el suelo, etc., pero necesito que me ayuden a definir con código y explicaciones claras.
Esos personajes simplemente se actualizan al mismo tiempo en un mismo bucle cada cierto tiempo para un escenario de juego. Unos pueden actualizarse y otros tal vez no.
También necesito que alguien defina cómo definir cada acción como saltar, correr, caerse, etc..., y explique los trucos de cómo se hace en un programa.
Necesito que todavía alguien más descifre el Game Programming Crash Course de GameDev.net.
Buscar cualquier cadena de caracter ASCII opcionales: [\x20-\x7F]* - para sustituir cualquier subcadena ASCII imprimible [\x00-\x7F]* - para sustituir cualquier subcadena ASCII
Buscar cadenas ASCII obligatorias con tamaño específico: [\x20-\x7F]{11} - para sustituir la ID de video de YouTube de 11 caracteres
Buscar cadenas específicas opcionales como "www.": (www\.)* - para sustutuir "www."
Ver si está 1 o 0 caracteres para la s de https: (s)* - para sustituir s o nada .{0,1} - para sustituir s o nada
Escapar caracteres especiales: \/\/ - para escapar "//" \? - para escapar algo como "watch?"
Código:
//Busca offset de youtube.com y subdominios de païs con o sin https, //con o sin www., se asegura de que sea una URL de video válida: /// text = " http://de.youtube.com/watch?param0=langes&v=Mw0yNzdyH6Y&gl=DE"; n = text.search(/http(s)*:\/\/[\x20-\x7F]*youtube.com[\x20-\x7F]*\/watch\?[\x20-\x7F]*v\=[\x20-\x7F]{11}[\x20-\x7F]*/i);
//Busca offset de youtube.com y subdominios de país con o sin https /// text = " http://youtube.com.sv/watch?v=sadgddddddd"; n = text.search(/http.{0,1}:\/\/youtube.com...\//i);
//Busca offset de youtube.com y subdominios de país con o sin https, //con o sin www. /// text = " https://www.youtube.com/watch?v=Mw0yNzdyH6Y"; n = text.search(/http.{0,1}:\/\/(www\.)*youtube.com...\/*/i);
Esta es la información que he encontrado hasta ahora para hacer drivers VxD de Win9x fácil. Los VxDs pueden ser útiles para cargar drivers o emularlos en computadoras viejas o Bochs y así hacer programas con más recursos de hardware no estándar al cargar las VxDs por nuestra cuenta.
Los archivos VxD supestamente siempre son archivos con la marca "LE" en vez de "LX".
De la cabecera LE EXE:
MemPagesCtr es la cuenta de bloques de tamaño MemPageSZ en disco, que hasta ahora puedo dejar a 512 bytes de tamaño.
LastPageBytes dice cuántos bytes tiene el último bloque en el archivo, que puede ser menor o tal vez igual que MemPageSZ.
En el código, los servicios VxD se llaman con INT 20H, seguido de 4 bytes que tienen códigos de los servicios a llamar. Windows mismo se encarga de saltarse esos 4 bytes después de la instrucción INT para evitar errores de ejecución con esos bytes de opcode inválidos.
Esqueleto simple en NASM que muestra un MessageBox al abrir o cerrar una ventana de consola de MS-DOS:
db 0,0,0,1,3,1,0,3,0,0,0,0,0,0,0,0 db 0,0x60,0,0,0,0x75,0,0,0,0x75,0,0,0,7,0,0xE1 db 0,2,0x20,0,0x27,0,0x1F,1,0x5F,0,0x65,0,0x69,0,0x6D,0 db 0x71,0,0x75,0,0x79,0,0x7D,0,0x81,0,0x85,0,0x89,0,0x8D,0 db 0x91,0,0x95,0,0x99,0,0x9D,0,0xA1,0,0xA5,0,0xA9,0,0xAD,0 db 0xB1,0,0xB5,0,0xB9,0,0xBD,0,0xC1,0,0xC5,0,0xC9,0,0xCD,0 db 0xD1,0,0xD5,0,0xD9,0,0xDD,0,7,0,0x61,0,2,0,0,7 db 0,0x5B,0,1,0x61,0,7,0,0x18,0,1,0x50,0,7,0,0x21 db 0,3,0x1F,0,7,0,0x11,0,3,0,0,7,0,1,0,3 db 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,32,32,32,32
db "MESSAGE_DDB",0,32,0X40,0X31,0 db 32,32,32,"CLASS",0,"'RCODE",0 db 0,0,32,32,32,"PRELOAD DISCARDABLE",0,0 db "CONFORMING",0,0,0,0,0,0,0,0,0,0,0,0
;times 0xD20 db 0
;align 0x1000 align 0x400
;END: ;END: ;END: ;END:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;0x1000 en el archivo tiene .00000000 ;de base en HIEW, por qué? ;;
db 0,0,0,0,0,4,0,0,1,0,0,0,"MESSAGE" db 32,0,0,0,0x80,0,0,0,0,0,0,0,0 times 16 db 0 dd 0,0,0 db "verPP",0,0,0 db "1vsR2vsR3vsR",0x83,0xE8,7,0x83,0xF8,0x21,0x73,7,-1,0x24,0x85,0,0,0,0,0xF8 db 0xC3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
La programación parte de DJGPP, NASM, conceptos de sistemas operativos y hardware, y la compilación de los diferentes programas existentes con las herramientas que se necesiten..
Bochs, VirtualBox, bootear desde discos USB y MS-DOS puro, DJGPP, sistemas operativos propios
Sale un anuncio que dice que las páginas se perderán después del 31 de enero de este año.
¿Cómo se podría hacer una lista de los sitios más importantes de Galeon.com, de favoritos y otros orígenes para hacer un mirror, tal vez entre todos, antes de que supuestamente desaparezca?
El libro de Ensamblador de Francisco Charte Ojeda, en su versión 2005 o 2009, es un importantísimo libro que enseña a programar en Ensamblador x86 para las PCs de 16 y 32 bits.
Es tal vez el mejor y más claro libro sobre Ensamblador en Español.
Sin embargo, lastimosamente ya no se encuentra a la venta desde hace varios años, por lo que los nuevos programadores de habla española/latinoamericana no podrían disfrutar del beneficio de aprender Ensamblador. Yo traté de comprarlo allá por el 2011 en Amazon pero jamás me lo enviaron ya que para comenzar también se había acabado en bodega. Se podía comprar y lo enviarían cuando lo encontraran, pero jamás me lo enviaron, y pagué unos 49 dólares por él en Amazon, aunque no sé si me los cobraron o no. Lo más probable es que no, pero ya no está disponible para comprarse.
Si bien solo habla de los modos de 16 y 32 bits, nos servirá de excelente base, si también lo complementamos junto con los diferentes manuales de Intel y de algoritmos, formatos de archivo y llamadas de sistema para cada sistema operativo.
Todos estos factores hacen que sea más difícil aprender a programar en Ensamblador para quienes hablamos Español, a menos que contemos con este libro, realmente el mejor sobre el tema que por lo menos yo he podido ver, escrito en Español, y de una manera que realmente simplifica los conceptos básicos de la programación en ese lenguaje, como si de una clase se tratara.