erkosone wrote:Pues lo que te sea mas cómodo, la verdad es que usar grillas de cualquier tamaño de celda no es problema si usas las formulas correctas y lo estructuras todo.
La pega de gemix es que las variables X e Y son INT y eso limita hasta el inifinito.. porque tienes que andar usando variables intermedias y luego cuando quieres conocer la posicion "en coma flotante" de un objeto.. no te sirve con mirar su X o su Y.. en fin.. que es un horror.. creo que esto está solucionado ya por fin en la version openGL.
de momento me es suficiente para este tipo de juego en formato INT, necesito numeros enteros, calculos sin coma flotante para esto.
y te confirmo que SERA FLOAT las nuevas X,Y(no se si algo mas) en OpenGL, ya me aviso Cictec de ello.
jajaj "limita hasta el infinito", siempre existen limites, pero debes resolverlas tu mismo, mira Minecraft parece infinito los mapas, cuando existe un limite de cordenadas...
erkosone wrote:Yo siempre pensé que resolution es una verguenza XD.. da verguenza desde sus origenes en Div..
jamas lo use, es liarte mucho.
erkosone wrote:Haber.. lo que yo haría es hacer una grilla de 100x100, y usar size para rellenar el hueco a un tamaño de sprite ideal, pero por dios.. no uses map_get_pixel() ni nada que tenga que ver con eso, yo lo desaconsejo completamente porque eso trabaja a nivel de pixel.. y eso está completamente desfasado y obsoleto.
tranquilo, ni loca se me ocurio usar esas tecnicas, ni tengo un mapa/grafico de fondo que ocupe toda la zona del nivel, ni eso.
ni mapa de durezas ni hostias, eso es consumo de memoria Ram y aumento de CPU tontamente.
pero podria haber un mapa de busqueda(clasico Div2, blanco y negro) para los enemigos(hacia el jugador), a nivel de pixel mininuto.
pero es algo experimental eso, y actualmente no lo tengo en mente ponerlo, podria perjudicar eso.
Actualmente en un intel Atom 1,6Ghz, solo usa un 10% de consumo de CPU. por que funciona a 10FPS...
de momento cumple el rendimiento deseado....
ya digo la grilla de juego: de momento esta entre minimos de 10 hasta 30...casillas. naturalmente puedo aumentarlo, pero aumentaria el uso de CPU por los enemigos/bloques en movimiento.
erkosone wrote:La targeta grafica entiende de texturas y de mover texturas, y la cpu con las librerías de físicas que hay ahora.. funcionan mas rapido las cosas por física que por mapas de durezas..
Em mi humilde opinión.. cualquier cosa que no sea con física.. y mas al nivel que lo has llevado tu en este juego.. va a sufrir las consecuencias en openGL.. y es una bajada brutal de performance.
Deberías intentar rehacer el juego usando chipmunk o box2D
no se como sera en openGL, pero solo deseo que el funcionamiento sea mejor, no peor.
de momento solo uso OVERLAP y GET_DIST, los pingunos y bloques en movimiento.
intento usarlo lo minimo esas dos funciones, podria sacrificar el OVERLAP(colision por caja grafica) y usar solamente GET_DIST(Radio), o montarme una funcion para calcular una AREA RECTANGULAR, SI esta dentro ese proceso con sus XY, si esta dentro devuelve TRUE, asi de facil. pero si o si DEBO recorrer los procesos GET_ID(TYPE pinguinos) o GET_ID(TYPE Bloque_mov).
sinceramente estas semanas, siempre he podido optimizar poco a poco mas, el codigo. se llega a notar mejoria de CPU.
puliendo apurando, compactar codigo...
uso los SWITCH, WHILE,FOR,FROM,BREAK, RETURN... segun vea necesario,
a veces ni si quiera con solo llamar SIGNAL(ID,S_KILL); es suficiene, soy muy bruta hago directamente RETURN; lo reventamos de la memoria brutalmente.
usar fisicas, necesitaria guia para aprender a usarlo, y definir unas reglas de comportamiento, no pueden moverse libremente a 360º al estilo AngryBirds.