Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - senior wapo

#586
 Usar IRC para lobby vale, pero para encapsular el trafico de la partida... uffff.  Para un juego por turnos tal vez, para una simulacion ni de coña :D

De entrada TCP para un MMORPG es muy mala cosa. Que yo sepa de primera mano, solo World of Warcraft lo usa, el resto, UDP. Ahora bien, TCP es mucho mejor que un protocolo basado en UDP mal implementado, claro esta xD

Pero eso es TCP a pelo, encapsularlo en el protocolo IRC es ya criminal. Ya jode tener 40 bytes de cabecera por paquete en la capa de transporte como para encima añadirle otros tantos por el protocolo IRC:

Imagina que quieres enviar la cadena hex FB0904DF como una notificacion de mover el personaje, pues enviarias por la red (escrito de memoria):

ethernet@werertert.ertwerwer.virtual PRIVMSG #canaljuego :FB0904DF


...que alguien cuente los bytes que ocupa eso, mas luego las cabeceras TCP+IP, ocupa más que los datos....

... y luego la latencia...

... y que el protocolo irc admite máximo cadenas de 512 bytes, incluyendo el churro ese que he puesto arriba...

Casi que no, pero para matchmaking/lobby pues sí seria válido.
#587
Programación gráfica / Directx 7 Sdk
24 de Enero de 2005, 12:24:29 PM
 Pon esto como primera linea de tu código fuente (antes de incluir las cabeceras del SDK) y podrás usar cualquier SDK:

#define DIRECTX_VERSION 0x0700

En general, mucho ojito con linkar con librerias del SDK o introducirás dependencias con el SDK que tienes, aunque uses un interface de la versión 7. En su lugar usa LoadLibrary().

Alternativamente, descárgate el SDK de la 7.0 aqui:

SDKs antiguos

De nada  :P  
#588
Industria y mercado / Vender Shareware (2)
22 de Enero de 2005, 08:58:34 PM
 Efectivamente, para residentes en España, tal y como comentan, además de las opciones de montar empresa (Sociedad Anónima) o ser autónomo (Régimen Autónomo),  tienes la otra opción empresarial que utiliza Huevox (Economía Sumergida o "Sin Papeles").  (twist)
#589
Inteligencia Artificial / Pathfinding
22 de Enero de 2005, 08:22:54 PM
 
Cita de: "Sacrifai"Muchas por las respuestas. Por cierto, senior wapo, según el metodo que me comentas, a no se que lo haya captado mal, no habria mucha precisión ¿no?
Estoy echandole un ojo al scumm porque puedo sacar cosas muy interesantes de él.
¿ A que te refieres con precisión ?

- Si te refieres a que los polígonos solo representan una aproximación de los bordes del suelo, es cierto. Dichos juegos no tenían mucha precisión a la hora de pegar el personaje a superficies curvas. Tendrías que usar mucho polígonos o recurrir a trucos. No me voy a extender en este post, pero hay maneras muy eficientes (computacionalmente) de hacerlo, parecidas a un span buffer calculado sobre una máscara de bits similar a las de transparecia de sprites, pero para elementos de fondo (que lo lio explicandolo! xD).  Los artistas a lo mejor te maldicen, eso si  :D

- Si con precisión te refieres al escalado del personaje con la distancia, pues, depende. Eran juegos de la época 16 bits, casi siempre sin procesador matemático, pero hoy en dia puedes usar poligonos 3D, o simplemente asignar a mano una Z por vértice si los fondos son ilustraciones, o guardar el bufferZ (estilo resident evil) si son renders. En el primer caso el personaje lo escalas interpolando sus coordenadas baricéntricas en el polígono con los valores Z de los vértices. Eso te da la coordenada Z del personaje y la usas para escalar. Con el segundo método, el buffer Z, simplemente la recuperas del valor del bufferZ en el pixel correspondiente al centro de los pies del personaje. Sacas la inversa (1/z) y con un par de ajustes tienes el factor de escala del personaje (o guardas el bufferZ ya "precocinado").

¿ Me estoy enrollando demasiado ?  O_O

PD: Algun hosting bueno y gratis de imagenes? Tengo que darle a boton derecho/mostrar imagen para que salgan mi avatar y la imagen que he pegado antes.
#590
Inteligencia Artificial / Pathfinding
22 de Enero de 2005, 05:05:20 PM
 
Cita de: "Sacrifai"Muchas gracias por el link, estoy echandole un ojo. ¿Este sistema tambien es adecuado para aventuras gráficas?
Si, solo que en vez de dividir el mapa en una rejilla de casillas cuadradas, el mapa es un grafo de poligonos convexos (similar al concepto de "sectores" en los mapas de DOOM1). Los polígonos no se dibujan, representan las areas donde puedes "pisar". Las implicaicones para A* son que cada nodo puede tener un numero arbitrario de vecinos.

Cada arista (segmento) de cada polígono tiene un puntero a cada uno de los 2 poligonos que usan esa arista. Técnicamente se le llama winged-edge structure (si, como la usada por Wings3D) o si eres menos pijo, un grafo de toda la vida (cada poly=nodo, cada arista=flecha del grafo).

Imagen y mapa poligonal extraidos de la demo jugable de Indiana Jones and the Fate of Atlantis, con el fin de cita académica. Copyright© LucasArts:


El workflow viene a ser:
1- Artista dibuja el escenario.
2 - Mapeador traza sobre esa imagen los poligonos 2D  (puedes ser 3D pero cambia un poco el tema) que representan el "suelo", las secciones donde el personaje puede estar de pie. Se le asigna a cada poligono un factor de escala (que luego se interpolará) para los personajes situados en dicho poligono (fingir acercamiento/alejamiento, puntos de fuga, etc...). La imagen no se modifica, y la geometría 2D de los poligonos se guarda aparte, con su conectividad.
3. Durante el juego cuando pulsas sobre una parte de la pantalla, localizas el poligono que la contiene, y de existir, usas un algoritmo de busqueda de caminos (A*, dijkstra, lo ke sea) para saber cual es el siguiente poligono al que debes moverte. La lista de aristas del poligono actual del personaje te indica que polígonos son vecinos.

Por cierto, una generalización 3D de este mapa de suelos se usa en juegos 3D para agilizar las colisiones, pero ya me desvio del tema...

Si quieres más infomación te recomiendo que mires el SCUMM Revisited y toda la ristra de proyectos que hay referentes al engine de Lucasfilm. También los de Sierra online (AGI de Sierra, es un sistema viejo sin pathfinding, pero las colisiones las implementaban con polígonos también, solo que los contornos representaban las áreas donde NO puedes pisar).

ScummVM
LucasHack!
#591
General Programadores / Lua En Visual C++ 6.0
21 de Enero de 2005, 11:31:13 PM
 LUA está muy extendido, pero mucho.

Desde una versión antiiigua usada por Lucasfilm (con el sistema SCUMM?) hasta juegos actuales. Sin ir más lejos, "World of Warcraft" (un MMORPG de Blizard) lo usa.

Con lo facil que es compilarlo y lo ligero que es, no me sorprende su exito.  :D  
#592
General / Problemas Con Windowsxp
18 de Enero de 2005, 02:08:40 PM
 
Cita de: "vicho"y si hay algo que no soporto son a los linux zealots. pero bueh..., eso da para otro thread
...y la mayoria de ellos son incapaces de darte una razón técnica para no usar FreeBSD como servidor en lugar de Linux.  Te darán las mismas razones que te da la gente normal para usar Windows: documentación, servicio técnico y cantidad de aplicaciones. Ajo y agua  :D

A mi me gusta Linux, pero como Desktop, simplemente no cumple en muchos apartados de usabilidad para quien no sea un friki informático (friki mi palabra favorita del mes =p).

En cuanto a aplicaciones, mientras Linux siga siendo una pesadilla para dar soporte técnico (cada distro hace las cosas de forma diferente), no aumentará el ritmo de aparición de aplicaciones comerciales nuevas.

El que no esté de acuerdo que me cuente sus experiencias dando soporte telefónico para Linux a usuarios normalitos, que es que no me lo imagino. Para windows es relativamente fácil. Lo más que veo son expertos en "SuSe" o "RedHat" o "Mandrake", pero sácales de su distro y a ver si le solucionan al pobre usuario su problema de que "no va la pantalla" (X11 no arranca por problemas de driver equivocado, o Linux botea en modo texto en lugar de directamente a X11 y solo ven un prompt de texto xD). Garantizado que al menos pierden 1 hora rebuscando en el sistema a ver que script hace que, en esa distro.

Y por cierto, para el usuario doméstico, GDI > tortugaXfree pero de largo  :P  
#593
General Programadores / Duda Engines
17 de Enero de 2005, 06:04:07 PM
 Enet es una buena libreria, flexible, opensource, no gpl, para UDP. Y además es compacta. Sólo tienes que proporcionarle 2 funciones para pedir y liberar memoria par a los paquetes, y despreocuparte.


En cuanto a lo de los motores, ante la duda, la más tet... err... que lo de siempre, que si tienes que preguntarlo, entonces te conviene Irrlicht  :D  
#594
General / Me Compro Un Pc Nuevo :)
16 de Enero de 2005, 01:57:27 PM
 No se como saldrán los sobremesa, pero yo tengo 2 portátiles comprados en Ahtec (diferentes modelos), ambos me han venido con componentes defectuosos (mala suerte espero). El servicio técnico parece haber mejorado, eso si, antes era imposible que se pusieran al teléfono.

En honor a la verdad el primero me lo repararon gratis (tras las típicas pegas para colarte algunos euros, claro). El otro está por ver.

Eso si, en relación precio/prestaciones no les gana nadie.
#595
Programación gráfica / Requerimientos Shareware
14 de Enero de 2005, 04:51:11 PM
 Estadísticas de placas de Valve (Steam)

Opinión personal: Público hardcore, no el típico casual de share, diria yo.
#596
Programación gráfica / Requerimientos Shareware
14 de Enero de 2005, 04:23:59 PM
 IndieWiki, sección hardware

Alli tienes lo que necesitas, las versiones de DX y algo sobre placas, aunque la información de placas es la ya tan famosa de Valve y como sabes, los jugones FPS no representan para nada al usuario medio shareware.

Usa la versión más baja de DX que puedas, pero sin complicarte la vida. DX5  funcionará en cualquier sitio. DirectX7 es buena opción, DX8 es bastante menos deseable, pero aceptable (asume que perderás  clientes). DX9 no. OpenGL no, a menos que vayas a compilar también para Macintosh (compensarás las perdidas de clientes en Windows con los que vengan de Mac).

Ten presente que usar APIs 3D para juegos 2D es aún poco recomendable, a pesar de las ventajas técnicas para el programador (zoom gratis, filtrado, alpha por hard, etc...). Al usuario le importa 0 tu comodidad, lo que quiere es que el juego funcione a la primera.

Puedes buscar más información en foros Indie:
http://forums.indiegamer.com/
http://www.garagegames.com/mg/forums/resul...t.area.php?qs=1

Y te recomendaría leerte este libro .PDF (en inglés) si de verdad vas en serio con esto del share (no es técnico, es sobre el apartado empresarial):

Bootstrappers Bible

PS: Si, ya se que me preguntan una cosa y siempre contesto unas parrafadas que ni Donald  :P  
#597
Jad Engine / Shadowmap
13 de Enero de 2005, 03:34:58 PM
 Es decir, un fake xD

No se chico, yo lo digo porque me parece haberselo oido a Carmack en el video, y por las siguientes variables de consola (hay mas, te pego unas pocas):

r_sb_linearFilter                   use GL_LINEAR instead of GL_NEAREST on shadow maps
r_sb_lightResolution             Pixel dimensions for each shadow buffer, 64 - 2048
r_lightSourceRadius              for soft-shadow sampling
r_sb_polyOfsFactor               polygonOffset factor for drawing shadow buffer
r_sb_polyOfsUnits                polygonOffset units for drawing shadow buffer


Lo mismo lo llaman shadow maps pero en realidad  es lo que tu dices. Yo creo que usan stencil y shadowmaps, pero a saber. Lo que poneis suena más rapido, puede que sea asi.
#598
General / Probar Rutina Optimizada...
13 de Enero de 2005, 03:13:26 PM
 Portatil con P4 Desktop 2.6 GHz, 1GB RAM DDR (333MHz), No recuerdo el cache, Hypertreading desactivado

Memory block    Normal memcpy()    Optimized memcpy()    % Diff
------------    ---------------    ------------------    -------

     4 Kb        3720.24 Mb/s           6510.42 Mb/s       75.00
     8 Kb        3551.14 Mb/s           6009.61 Mb/s       69.23
    16 Kb        3241.70 Mb/s           5580.36 Mb/s       72.14
    32 Kb        5580.36 Mb/s           6510.42 Mb/s       16.67
    64 Kb        1444.08 Mb/s           2993.29 Mb/s       107.28
   128 Kb        1446.76 Mb/s           3382.03 Mb/s       133.77
   256 Kb        1321.91 Mb/s           2893.52 Mb/s       118.89
   512 Kb        975.03 Mb/s           1623.70 Mb/s       66.53
  1024 Kb        963.01 Mb/s           1558.88 Mb/s       61.88
  2048 Kb        938.63 Mb/s           1588.59 Mb/s       69.25
  4096 Kb        950.06 Mb/s           1625.00 Mb/s       71.04
  8192 Kb        944.04 Mb/s           1583.67 Mb/s       67.76
 16384 Kb        946.98 Mb/s           1596.67 Mb/s       68.61



Portatil P4 Desktop 2Ghz,  256MB RAM (cache 256/512)

Memory block    Normal memcpy()    Optimized memcpy()    % Diff
------------    ---------------    ------------------    -------

     4 Kb        2693.97 Mb/s           5208.33 Mb/s       93.33
     8 Kb        2684.71 Mb/s           4595.59 Mb/s       71.18
    16 Kb        2232.14 Mb/s           4316.30 Mb/s       93.37
    32 Kb        4340.28 Mb/s           4882.81 Mb/s       12.50
    64 Kb        918.04 Mb/s           1658.70 Mb/s       80.68
   128 Kb        940.13 Mb/s           1238.11 Mb/s       31.70
   256 Kb        951.58 Mb/s           1499.52 Mb/s       57.58
   512 Kb        416.98 Mb/s           876.54 Mb/s       110.21
  1024 Kb        401.96 Mb/s           847.99 Mb/s       110.97
  2048 Kb        378.09 Mb/s           875.42 Mb/s       131.54
  4096 Kb        399.39 Mb/s           885.36 Mb/s       121.68
  8192 Kb        407.78 Mb/s           880.82 Mb/s       116.00
 16384 Kb        405.71 Mb/s           881.75 Mb/s       117.34
#599
Jad Engine / Shadowmap
13 de Enero de 2005, 12:05:57 PM
 DOOM3 utiliza tanto shadowmaps como stencil shadows. Hace algún tiempo vi un video de John Carmack en el que hablaba de los problemas que había tenido al implementar el motor de DOOM3, y dedicaba un buen rato a hablar de las sombras.

Si alguno tiene el juego se habrá fijado de las pocas sombras "suaves" (shadow maps) que aparecen en el juego. A los diseñadores de niveles se les especificó que usasen pocas de ese tipo, y solo en determinadas posiciones y circunstancias. Por ejemplo, una luz apuntando al suelo y situada justo encima de un ventilador (para que las aspas en el suelo no proyecten sombras poligonales).

Las sombras por shadow map quedan muy mal (para mi gusto) a menos que el objeto que produce sombra este próximo a la superficie de proyección o perpendicularmente. Y aún así, has de usar un shadow map de buen tamaño. Que una cosa es usar shadow maps y quede bonito en una demo de la Euskal y otra en un engine genérico.

Pero no seré yo quien diga que método es mejor  :P


Bueno que me enrrollo, posteaba para ponerte la misma imagen con shadow maps y con stencil shadows:

Con shadow maps usando un buen algoritmo
Con Stencil Shadow, implementación estándard
#600
Proyectos / Buscamos Betatesters
11 de Enero de 2005, 10:34:10 PM
 Esta majo el juego, me lo he bajado solo por verlo (sin mucha gana de jugar) y cuando me he querido dar cuenta llevaba hora y media jugando, jodios troncos  (ole)

La verdad que el aire serio y corporativo del UI no pega mucho con el juego alegre y desgarbado que luego resulta ser cuando empiezas a jugar (para mi gusto).


Pero oye, a mi me ha gustado el juego  :D

PS: ¿ que posibilidades hay de que te curres un postmortem para el foro? Molaria mil.   (uoh)  





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.