PDA

Ver la versión completa : He programado un juego que ¿Tira? con Directx ... PRUEBAS



time2sail
20/02/2005, 15:08
EDITADO2: He vuelto a subir otra versión, ahora con VS6.0 updateado, versión "release" ... El archivo nuevo es CONTRA.ZIP substituyendo la versión anterior.

Hola, durante unos días he estado haciendo una práctica para una ALE de videojuegos en mi facultad, se tenía que hacer con directx así que sólo hay versión para windows, tened benevolencia puesto que es el fruto tan sólo de 4 días de trabajo y prácticamente "from scratch"...

El caso es que tenemos hecho ya bastante, pero a un amigo nuestro el juego le peta. Yo lo he probado en 4 pc's más y va "de lujo".

¿Alguien sería tan amable de probar el juego en su windows e ir posteando si le ha funcionado o no, y con qué "configuración" ?

De momento:

-Probado en 2 P4 con Windows XP SP2 y Directx9.0c funcionando sin problemas.
-Probado en 1 Athlon XP con Windows XP y Directx9.0c petando después de elegir dificultad.

P.S: Compilando con Visual Studio no da ni un sólo warning, y evidentemente, ni un sólo error.

Gracias !!!

EDITADO: Añadido Ejecutable del juego en DEV-CPP. A ver si será el Visual Studio 6.0....

Wave
20/02/2005, 15:14
En mi Duron 1800 funciona, pero va hypermegasuperveloz.

time2sail
20/02/2005, 15:17
En mi Duron 1800 funciona, pero va hypermegasuperveloz.

Superveloz ??? Es la primera vez que lo oigo, lo hemos probado en 2 P4 3.0 GHz... e iba igual que en un 2200. Por eso me sorprende.

Bueno, sea como fuere, muchas gracias por la info !!!

malloc
20/02/2005, 15:18
Me funciona perfectamente.

System Info Version: 2.2
Operating System: Microsoft Windows XP
Processor: AMD AMD Athlon(tm) @ 1.64 GHz
Graphics Card: NVIDIA GeForce4 Ti 4200
Total Physical Memory: 768 MB
Free Physical Memory: 425.75 MB
Motherboard Manufacturer: http://www.abit.com.tw/
Motherboard Model: NF7-S/NF7,NF7-V (nVidia-nForce2)

DirectX Version: 9.0
DirectDraw Version : 5.3.0000001.0904
DirectShow Version: 6.05.01.0900

Description: Controlador de pantalla primaria
Manufacturer: NVIDIA
Name: NVIDIA GeForce4 Ti 4200
Total Local Video Memory: 64 MB
Total Local Texture Memory: 64 MB
Total AGP Memory: 62 MB
Display Driver: nv4_disp.dll
Display Driver Version: 6.14.10.6176
Driver WHQL Certified: Yes
Max Texture Width : 4096
Max Texture Height: 4096
Max User Clipping Planes: 0
Max Active Hardware Lights: 8
Max Texture Blending Stages: 8
Textures In Single Pass: 4
Vertex Shader Version: 1.1
Pixel Shader Version: 1.3
Max Vertex Blend Matrices: 0
Max Texture Coordinates: 8
Vendor ID: 0x10de
Device ID: 0x0253
Sub-System ID: 0x87001462
Revision: 0xa3

El juego... sencillico y no estaria mal borrar los meurtos de vez en cuando :)

Saludos y animo.

time2sail
20/02/2005, 15:22
Me funciona perfectamente.
El juego... sencillico y no estaria mal borrar los meurtos de vez en cuando :)

Saludos y animo.

anoto la sugerencia, pero la verdad es que es aposta... será un trauma de la infancia que tenía (odio que los muertos desaparezcan).

Logann
20/02/2005, 15:28
Me revienta en windows2000 Athlon 1600 ati8500

gatsu
20/02/2005, 15:34
a mi me va: win XP SP2 home edition, AMD athlon64 3000+, 512Mb ram

time2sail
20/02/2005, 15:44
Me revienta en windows2000 Athlon 1600 ati8500

¿versión de Directx ?
¿Cuando peta ?

otaku_chobits
20/02/2005, 15:58
no me rula :llorosa:

P4 a 3,2 direct 9.x ram 1GB, grafica 512Mb nose k + decir.

el caso es k puedo escojer 1 player o 2, escojo el nivel y se me cierra la aplicacion ~_~

Logann
20/02/2005, 16:09
Tengo Dx 9.c i me peta en el mismo lugar que otaku_chobits

time2sail
20/02/2005, 16:37
Uhm... gracias a los que lo estáis probando, realmente no sé porqué está pasando éso, y menos aún porqué a unos sí, y a otros no...

Revisaré el código ésta tarde en un momentito...

P.D. A quien os pete el juego, please, decidme si es en este punto (después de elegir dificultad )

Licantropo
20/02/2005, 16:40
a mi me pasa lo mismo, en el mismo lugar. Justo despues de seleccionar la dificultad peta.

melkhior
20/02/2005, 16:43
A mi me va perfecto, tanto en un athlon xp 2100 con 512 RAM como en un P4 2,53 Ghz con 1 GB de RAM. Por cierto, el juego es parece mucho a uno llamado crimson land, si te lo curraras podria estar muy bien (a mi me encantan este tipo de juegos).

gatsu
20/02/2005, 16:45
eso por usar pentium XD, error dificil de encontrao XD

PuNk_NoT_DeAd
20/02/2005, 16:46
A mi , me da error cuando selecciono la difilcultad, me dice windows que este programa tiene un fallo y debe cerrarse.
Mi equipo es:
Placa:Asus k8VT DELuxe
CPU:Amd Athlon 64 3400+
RAM:1.5GB DDR400 Kingston
GPU:Saphire ATI RADEON 9600 XT 256 MB
DX: 9.0c
O.S.:Windows xp SP2





Salud

time2sail
20/02/2005, 17:00
Ahora mismo estoy intentando compilarlo con el Dev-Cpp, pasando del Visual Studio, y me da unos problemas al linkar, a ver si los soluciono y pruebo con éste, pues quizá es cosa de Visual Studio , me extrañaría que por cuestiones de hardware petase...

P.D: Si al alguien le sirve de información, el juego usa Directx7 y VStudio 6.0

otto_xd
20/02/2005, 17:01
amd xp 2600 512 megas de memoria y targeta ati, se peta despues de la selecion.
Un saludo

theNestruo
20/02/2005, 17:09
En mi ordenador funciona (Athlon XP 1700+, nVidia GeForce 4 MX 440, W2K Pro SP4). Eso sí, va a una velocidad injugable. Si tengo cargado Fraps (una aplicación que te marca la velocidad en FPS de las aplicaciones que usan OpenGL o DirectX) el juego vuelve a Windows tras la selección de velocidad.

P.S: Compilando con Visual Studio no da ni un sólo warning, y evidentemente, ni un sólo error.
Eso no quiere decir nada, lamentablemente:
¿Qué versión de Visual Studio?
Mi consejo es que te bajes otro compilador gratuito (yo uso MinGW Developer Studio) y pruebes a compilar desde otro lado, ya que es conocido que VisualStudio permite cosas que no debería y viceversa (en especial en la versión 6, que creo que salió antes de que estuviera establecido el standard de C++ y hace algunas cosillas raras con los templates y con la biblioteca STL).
Por cierto, yo he compilado fuentes hechas en VisualStudio (concretamente, las del remake de F-1 Spirit que está haciendo Popolon, de BrainGames) y me ha tocado modificar bastantes cosas. Por eso te recomiendo que pruebes con otro compilador.
Más cosas... ¿tienes actualizado el VisualStudio al último service pack?
¿A qué nivel tienes puestos los warnings?
En Visual MinGW Developer Studio por defecto te saca "All common warnings" y, en modo debug, los "Default compiler warnings". Yo además le tengo marcados "Extra warnings" y "ANSI compilance (pedantic errors)". Lo que no le tengo activado es "Warning as errors", ya que hay tres warnings que siempre me salen:
- In function `WinMain':
- warning: unused parameter `hPrevInstance'
- warning: unused parameter `lpCmdLine'
- warning: unused parameter `nCmdShow'
Supongo que sabrás qué son (son los parámetros del WinMain), pero como realmente no tengo necesidad de usarlos, pues siempre se quedan ahí los warnings. Esto te lo digo porque me parece muy raro que no te salga ni un sólo warning.
¿Utilizas la directiva STRICT antes de incluir windows.h?
Si no es así, te lo recomiendo.
¿La plataforma de compilación es diferente (superior) a aquellas en las que falla el programa?
Yo hace tiempo tuve un problema muy curioso: en el mismo PC tenía Windows 98 y Windows 2000. Mi aplicación (usaba GDI, no DirectX), compilada en W2K, funcionaba en W2K pero no en W98 ni en los WNT de la facultad. Compilada en W98 (exactamente el mismo código fuente y el mismo compilador; por aquellos entonces VisualStudio) funcionaba en los tres sistemas. ¿La explicación? Windows tiene backward compatibility, lo que significa que si compilas en una plataforma, el ejecutable resultante va a funcionar en todas las superiores, pero no te aseguran que funcione en las inferiores. No parece ser tu caso, ya que tu juego funciona también en W2K, pero prueba a compilar en la máquina que da el error (de hecho, si puedes depurar allí sabrás perfectamente en qué línea está dando el error).

time2sail
20/02/2005, 17:10
He subido el juego compilado con otro IDE. Está actualizado el primer post.



el juego es parece mucho a uno llamado crimson land, si te lo curraras podria estar muy bien (a mi me encantan este tipo de juegos).

No sé qué juego es, pero quizá lo vaya actualizando, de momento es un poco verde para decidir por dónde seguir, o simplemente si continuar. Está hecho en 4 días y no muchas horas, además de ser lo primerísimo que programo de videojuegos.

TheNestruo:

Cúanta información... Dentro de un rato te iré contestando, porque muchos de éstos parámetros no los he tocado, o sea que compilé tal cual vino el programa.

En la facultad usábamos Visual Studio 6.0, y fué allí dónde hice prácticamente todo el trabajo. ( En casa me descargué la versión del emule, pero como estoy más acostumbrado a hacer otro tipo de programas, en linux y sin IDE o sea, a base de makefiles y emacs... pues que estoy muy verde todavía)

bulbastre
20/02/2005, 17:24
de qué va el juego?

time2sail
20/02/2005, 17:27
En stdafx.h: (dónde incluyo windows.h) tengo esto:

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553540000__INCLUDED_)
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000 __INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers

#include <windows.h>

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553540000__INCLUDED_)

NO USO la directiva STRICT porque realmente no la conozco.

por otro lado:

-Compilado en Windows XP SP2
-Visual Studio 6.0 sin parchear ( versión A PELO ).
-Desconozco el nivel del warning que dá por defecto el visual studio... pero lo estoy buscando ahora mismo.
-No tengo acceso a las máquinas en las que peta, y menos a windows anteriores al XP...

Seguiré investigando... gracias por todo !!!

time2sail
20/02/2005, 17:28
de qué va el juego?

supuestamente es un shooter... : P

Logann
20/02/2005, 17:30
La nueva versión tambien peta, tal vez sea algun tipo de desbordamiento que algunas tarjets/directx ignoran ...

time2sail
20/02/2005, 17:31
La nueva versión tambien peta, tal vez sea algun tipo de desbordamiento que algunas tarjets/directx ignoran ...

Juer... así que realmente no es un problema del VisualStudio... puaj v___V

saboteur
20/02/2005, 18:22
Aquí van bien las dos versiones.
WINDOWS XP AthlonXP 2400+ 512MB DDR GEFORCE 6800LE DIRECTX 9

pakoito
20/02/2005, 18:29
CPU:Amd Athlon 64 3400+
RAM:1.5GB DDR400 Kingston
GPU:Saphire ATI RADEON 9600 XT 256 MB


Te odio (pero en plan bien) :D

theNestruo
20/02/2005, 18:42
NO USO la directiva STRICT porque realmente no la conozco.
Pues es muy fácil de usar. Donde pones (en tu código, ¡no en el stdafx.h!)...

#include <windows.h>

...tienes que poner...


#define STRICT
#include <windows.h>

Así no te permite usar handlers genéricos y hace una comprobación mucho más estricta de los tipos typedefinidos de Windows. Resultado: es menos posible que el compilador te permita hacer algo malo.

-Visual Studio 6.0 sin parchear ( versión A PELO ).
Parchéalo, tío, ¡que no cuesta nada!(click aquí (http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx)).

-Desconozco el nivel del warning que dá por defecto el visual studio... pero lo estoy buscando ahora mismo.
Debería de estar en "Project options" o algo similar (¿F7?).

-No tengo acceso a las máquinas en las que peta, y menos a windows anteriores al XP...
Hum... Prueba a bajarte el Fraps y ver si con él arrancado a tí también te peta. Dado que en mi ordenador funciona sin él cargado y se corta con él cargado, pruébalo en tu ordeandor y si también falla ya puedes depurar y ver qué es exactamente lo que falla (click aquí (http://www.fraps.com/))

Otra cosa... ¿estás distribuyendo el debug build o el release build?

ilarri
20/02/2005, 18:44
Peta en mi pc.=/ en el menu.

Operating System: Windows XP Professional (5.1, Build 2600) Service Pack 1 (2600.xpsp1.020828-1920)

Processor: AMD Athlon XP(tm) Processor, ~2.1GHz (originariamente un Duron 1600@ ;P overclokeadillo vamos!)

Memory: 1024MB RAM (DDR2 450Mhz)

DirectX Version: DirectX 9.0c (4.09.0000.0904)

Card name: GPU RADEONTM 9550 256MB
Manufacturer: ATI
Chip type: GPU RADEONTM 9550
DAC type: Integrated RAMDAC

Display Memory: 256.0 MB
Current Mode: 1024 x 768 (16 bit) (60Hz)

La ram es DDR3 a 400Mhz...para mi k son los drivers de ati¬¬

lo demas es ya normalito, una placa cutre k pilla pc express y poco mas.

tioooooooo arreglao k kiero ver el juego leches!

time2sail
20/02/2005, 19:00
Estoy bajando el parche, me daba miedo lo de parchear una versión pirata de un programa, pero bueno...
Al final he vist el nivel de warnings de VS: Level 3 ( no veo que dé más explicaciones). No he respondido antes porque buscándolo me he pasado un buen rato ( y eso que lo tenía delante de los morros todo el tiempo !!!! ).

Provaré con Strict, aunque la única inclusión que tengo del windows.h es en el stdafx.h ( que luego incluyo en el proyecto evidentemente... ).

Distribuyo el Debug. Como ya te digo, es la primera vez que uso visual studio, incluso que programo en Windows, y realmente no sé como sacar la "release" o en qué se van a diferenciar...

Por otra parte, poniendo el nivel de warnings a 4

me acaba de dar los siguientes errores al cambiar el profile a Release:

Linking...
Contra.obj : error LNK2001: unresolved external symbol _DirectDrawCreateEx@16
Contra.obj : error LNK2001: unresolved external symbol _IID_IDirectDraw7
Contra.obj : error LNK2001: unresolved external symbol _GUID_SysKeyboard
Contra.obj : error LNK2001: unresolved external symbol _DirectInputCreateA@16
cTeclat.obj : error LNK2001: unresolved external symbol _c_dfDIKeyboard

parece típico de no encontrar las librerías de Directx, pero las he revisado y están las rutas bien puestas...

theNestruo
20/02/2005, 19:10
Provaré con Strict, aunque la única inclusión que tengo del windows.h es en el stdafx.h ( que luego incluyo en el proyecto evidentemente... ).
...Entonces pon la directiva strict antes de incluir stdafx.h. ;) En mis proyectos es que nunca había stdafx.h; yo siempre he ido "a pelo".


Distribuyo el Debug. Como ya te digo, es la primera vez que uso visual studio, incluso que programo en Windows, y realmente no sé como sacar la "release" o en qué se van a diferenciar...
Pues la release no lleva información de depuración y sí que va optimizada. La versión debug es sólamente para ir probando, para tracear y watchear, para que si falla te diga en qué linea está el error, para que te inicialice todas las variables que se crean aunque tú no se lo digas (y para que veas punteros que "se te han ido de madre" les da direcciones tipo 0xDBDBDBDB, 0xBAADF00D y cosas así), etc...
Para que te hagas una idea de la de información que puede llegar a meter un debug build, el proyecto en el que estoy trabajando ahora compila a un .exe de 46KB en modo release y de 1187KB en modo debug.

time2sail
20/02/2005, 19:19
...Entonces pon la directiva strict antes de incluir stdafx.h. ;) En mis proyectos es que nunca había stdafx.h; yo siempre he ido "a pelo".


Pues la release no lleva información de depuración y sí que va optimizada. La versión debug es sólamente para ir probando, para tracear y watchear, para que si falla te diga en qué linea está el error, para que te inicialice todas las variables que se crean aunque tú no se lo digas (y para que veas punteros que "se te han ido de madre" les da direcciones tipo 0xDBDBDBDB, 0xBAADF00D y cosas así), etc...
Para que te hagas una idea de la de información que puede llegar a meter un debug build, el proyecto en el que estoy trabajando ahora compila a un .exe de 46KB en modo release y de 1187KB en modo debug.

fiuuuu......... madre mía !!!!

Voy a seguir trasteando con la versión release y también con el nivel de warnings y optimizaciones, a ver si consigo avanzar...
También me sorprende que ahora se queje al linkar, mientras que en debug no lo hace, y los paths son los mismos....
UPDATE: ya está arreglado lo de las librerías... vaya tontería !!! xD
Los path estaban bien, pero no estaban incluídos en el "link" del ejecutable.

EDIT: Última versión en el primer post: CONTRA.ZIP