Archived

This topic is now archived and is closed to further replies.

Eleventy

UPDATE! Can you please test this Direct3D demo for me? (Which I made)

Recommended Posts

Hey, it's been a long time since I've last updated this game, so I suppose I should let you all see my progress. Right now, it's still not a game, but I've added a cool feature, known as "Polygon-Level Collision Detection". You now realistically collide with the upsidedown (this is temporary) pyramid in the center of the world, plus, i've implemented sliding so you get a smoother "feel" when you are moving around. Other Updates: - Greatly improved on context management. The game now uses it's own functions and structures to manipulate and identify objects in the game. I hope to enable this game to support external levels whenever I get around to making them. - Greatly improved the physics system, made the banking less steep and fixed various other things. It now feels like you have more control of the ship. Original First Post Message: Hey, I've been working on this project for quite some time. As of right now, it is not really a game. All you can do is move around in the 3D world, but It does have some cool physics and graphics. I need feedback on that to see if I need to change the physics engine before I actually get to developing the game itself. All I need now is feedback on how it works. I know it works well on my computer, but I want to know how well it works on others. It's a Direct3D game where you are in a ship (not yet modeled - only the "cockpit" view is available) that moves around in a 3D world. Here are the controls: -- End of origional post -- Since I've updated the game, I have (temporaraly) removed gravity and implemented a fly up and fly down commmand. F - Move Forward V - Move Backwards A - Slide Left D - Slide Right W - Fly Up S - Fly Down Esc - Exit the game. (Sorry to whoever told me to change the controls, but as soon as I implement an options window, I will get around to it.) NOTE: Your video card must be able to support 800x600 resolution (I haven't yet implemented an "options" screen. -- this game may not run on all systems, but it should on most) When you run the executable, you will be taken directly to the game. Also note that this game does NOT support multitasking. If you use alt-tab, you will not be able to get back in the game. If this happens, Alt-tab back to the window and press the "Esc" key to end the application. If this doesn't work, simply use an alternate process (task manager) to end it. Here is the link to the download: Infinity Demo Binary (Win32) Infinity Demo Source (MSVC++ .NET) The download is only about 690K in size, so it won't take very long. Screenshot: Please don't judge this as a game, because it's not a game yet, but I want to see how it works on other machines before I continue. Tell me everything (how it performs, etc.). My System Specs --------------- AMD Athlon XP 1800+ (1533 MHz) MSI KT3Ultra2 ATI All-In-Wonder 128 Pro 512MB PC2700 DDR SDRAM (This is all you need to know, since this doesn't have sound yet) I have fixed the problem with the game being very dark, however, you still need to be in a dark room to see the sky (check it out, i've updated everything, including all the textures). Mastaba: Sorry for taking so long to actually realize what was causing the game to crash. I have correctly changed the WM_SETCURSOR command to handle the NULL pointer you were talking about, as I am now more experienced with DirectX and I spotted the problem. Oh yeah, this game now uses DirectX 9.0 instead of 8.1, so you'll need a copy DirectX 9.0 just to run it. Any feedback is appreciated Thanks. Feel free to play with the source code - insert objects of your own, etc. If you want, you can set the Pyramid to be rightside up again (the parameters to change it are near the end of the infinity.cpp file). Another fun thing to do would be to change the speed of rotation of the sky and try to move around in the world. I will later use this feature to give the player the feeling that the planet has been knocked off-orbit (probably in the last level). [edited by - JoshT172 on June 10, 2003 2:30:09 AM]

Share this post


Link to post
Share on other sites
I downloaded it but I am not able to run the it. Maybe it is because i am using direct x 9 and you did not program your demo to accept any version of direct x. I forget how to do that though.

I get the error memory could be not be read at blah blah.

Another easy common error might be that you have your texture filenames and x file names static like "C:\\windows\\desktop\\blah blah" and other people will not be running the game from the same location. To fix that use
"..\\filenamehere" That runs checks from the current directory it is in for the file. Then again maybe you did all that.

I have no idea. Good luck on your engine. Maybe someone else can run it.

my specs.

direct x 9.
windows 2k
amd 2000
geforce 4 ti4200

Share this post


Link to post
Share on other sites
Also, what exactly is a memory access violation? I heard before that it means that it tries to access memory that is not available, but I''m not sure. Also, I programmed the game to tell you exactly why it would crash (via a popup window upon exit), but I don''t remember putting in one that had anything to do with an access violation. Please, help so I can fix this. Thanks for telling me that it didn''t work, though.

Share this post


Link to post
Share on other sites
If you programmed in DX 8.1, it is still runnable under any DX version 8.1 or higher. DX is backward compatible.

An Acces violation is trying to "access" a pointer in memory that is not there, or does not have what you are requesting.

For example, LPDIRECT3DDEVICE9 Device,

If you ask for the device pointer and it was not there, or not setup properly, that could be an access violation.

Something in your code is buggy.

Share this post


Link to post
Share on other sites
Aight. Thanks for the help. As soon as I get home from school (in about 8 hours), I''ll post the source code on the net and let you look at that. I looked over the code and I can''t really tell what would be causing the problem, since it works perfectly on my computer. Also, the error has nothing to do with the ".x" files (which directory they were in) because I tried renaming the "C:\Projects\Infinity" folder (the folder it was compiled in) and it still worked fine in the "C:\InfinityDemo" directory, so my only option left is to post the source code and let you all look at it.

Share this post


Link to post
Share on other sites
Alright, I've posted the source code as I said I would earlier. This download is also small (~450K), so it won't take too long. This is the entire project (MS VC++ 6). The main source code is in the file 'infinity.cpp'.

Download Link:
Infinity Demo Source Code

[edited by - JoshT172 on March 9, 2003 2:11:22 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Your download worked fine on my machine. I would say that what you have looks pretty good, although there''s quite a bit of bounce...

My system:

XP Pro
P3 1000
DX 8.1
Matrox G450

Share this post


Link to post
Share on other sites
Didn''t work on mine, so downloaded source, compiled it, after first being forced to comment out the majority of the headers. Compiled, ran it, crashed handling the WM_SETCURSOR. The d3d device was NULL. Also noticed you are using WS_EX_TOPMOST but using CreateWindow instead of CreateWindowEx. Also can''t figure out why you are making the app window a child of the desktop window. Oh and you really need to use CheckDeviceFormats before trying to use a format.

Share this post


Link to post
Share on other sites
After fixing the errors that were causing it to crash or fail, all I saw was a white pyramid, and a blue area below it. And lots or directx errors and warnings in the debug output.

Share this post


Link to post
Share on other sites
Thanks for the responses. It seems that the crashes only occur on systems with the GeForce4 card, (or perhaps the nVidia chipset). This is probably (not quite sure) because I didn''t set the application to enumerate the device display modes, but to my knowledge, I thought that most modern graphics cards could support 800x600 at 32-bit color. Could someone please tell me how to do this, so everyone could enjoy the demo?

Mastaba: You should have seen textures instead of flat shading (perhaps the bitmap files were not in the directory when you ran it - try to place them in the debug AND project directories). I''ll also check into using CreateWindowEX instead of just CreateWindow. The crash in the WM_SETCURSOR was probably due to the fact that you edited out the majority of the headers (which I supposed caused the memory error for you).

Again, thanks for the responses.

Share this post


Link to post
Share on other sites
Same problem - access violation. GF2MX card. It did go to fullscreen briefly before breaking - looks like the device was created. You should make a logger to help us find where it went wrong.
Also, PLEASE POST A SCREENSHOT OR 2 I'd really like to see what it looks like!


Read about my game, project #1
NEW (18th December)2 new screenshots, one from the engine and one from the level editor



John 3:16

[edited by - d000hg on March 9, 2003 12:03:23 PM]

Share this post


Link to post
Share on other sites
No I did see the textures. The headers had to be commented out because I didn't have them, and they weren't necessary. Again, the reason it crashed was because the d3d device was NULL when it tried to handle the WM_SETCURSOR message. You don't have a check on the device to see if it is valid before you attempt to use it. Things were very dark, as there were Direct3D errors being reported concerning errors in one or more of the lights you set up, something about an angle being larger than pi was the problem there. In your code you hard coded a depth/stencil format of D32. Most NVIDIA cards do not support that mode, instead they support D24X8, D24S8, and D16. That's why you need to use CheckDeviceFormats so you can choose appropriate formats for the depth and color buffers.

[edited by - Mastaba on March 9, 2003 12:41:38 PM]

Share this post


Link to post
Share on other sites
d000hg: I''ve posted a screenshot on Angelfire for you all to look at. However, it has been modified from it''s original, rendered form. I had to increase the brightness of it because I wasn''t able to see it when I took a screenshot.

Screenshot:
Infinity 1

Mastaba: How do you implement the format check? I don''t think the DX8SDK had tutorials on making one.

Share this post


Link to post
Share on other sites