Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 7 developers from Canada and 18 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!

The Invasion

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 simpler   Members   -  Reputation: 913

Posted 13 July 2012 - 01:32 PM

Hey there GameDev!

It's been a while since I made my last post on these forums but I just wanted to come by and say that my latest game, The Invasion, now is released! It's a first person shooter where you face enemy waves of various difficulties and your goal is to stay alive and kill as you can in order to complete the wave. Right now there's only 4 levels in the game, each leve contains 3 waves and to finish a level you have to clear each wave.

It's my first 3d game which I made for learning, but my goal was to both learn new stuff and have a finished and (somewhat) fun game in the end.

The game is written in C++ with DirectX 9 for graphics and IrrKlang for sound.

You can download the game from my homepage. (NOTE: You must have VC++ redist and DirectX installed to play)
If you are interested in the source code then take a look at my GitHub repository.

Here's some screenshots:

Posted Image

Posted Image
maybe you recognize the model and icons ;)

I know some things in the game needs more work and if you find any bug or have any kind of problem please tell me. Any kind of comments are worth a lot, I'd love to get some feedback! Feel free to drop any kind of suggestions Posted Image

Thanks for reading!


#2 lawnjelly   Members   -  Reputation: 429

Posted 14 July 2012 - 12:49 AM

The reason no one has replied is probably because no one has got it to work. I downloaded it last night, and it has some dependencies that are not present (I used dependency walker to examine the executable, you may have some such tool):

It depends on:

The ones that are likely to cause you problems are

D3DX9D_43.DLL (some particular version of dx9 you are using? it doesn't work with my version of dx9)
MSVCR110.DLL (these 2 are runtime libraries for visual studio 11?)

I would suggest for development builds you simply just ship these problematic dlls in the archive. For visual studio runtimes, you can also statically link to them so the relevant code is included in your executable (that's what I tend to use personally). For release builds, the DLLs may be different.

Also there may be licenses for how you are allowed to distribute certain DLLs for shipping versions, you may need to include redistributables, like the directX one you mention (no one is likely to install a particular version of DirectX just to test something, for instance some of us are limited to a particular sdk version of DirectX 9C to retain compatibility).

There are some dlls you don't need to worry about, and will be on everyone's system, such as

(irrklang.dll dependencies)

these are part of windows.

#3 simpler   Members   -  Reputation: 913

Posted 14 July 2012 - 02:29 AM

Thanks for the valuable information! After some research I found out that I linked against d3dx9d.lib which is for debugging and it seems to depend on

D3DX9D_43.DLL. Now I changed to d3dx9.lib which depends on d3dx9_43.dll and I think thats a DLL everyone with DirectX should have.

And I think I solved the

MSVCP110.DLL and

MSVCR110.DLL problems by specifing "Multi-threaded (/MT)" as the runtime library in the code generation tab.

Hopefully it works now!

Edited by simpler, 14 July 2012 - 02:29 AM.

#4 lawnjelly   Members   -  Reputation: 429

Posted 14 July 2012 - 02:54 AM

Got it working now, using the 1a version from the project page (version 1 was the one on the front page I got earlier).

Looks good .. some things I'd look at possibly:

1) Mouse input, seemed a bit laggy and overresponsive maybe?
2) Movement speed, felt very slow
3) Sound of the enemies, needs to be quieter as they are further away and louder closer, to give you some idea of their proximity
4) Needs a special more distinctive sound for when you are being hit, when I died it was normally because a monster had crept up behind, and I didn't know I was being hit ... You could also e.g. colour the screen red to show you are being hit.
5) Maybe a readme file containing the keys and instructions?

I didn't make it very far through the levels lol Posted Image

#5 simpler   Members   -  Reputation: 913

Posted 14 July 2012 - 09:49 AM

Thanks for the great points! :)

I fixed some of the stuff and updated the game to a new version.
About the mouse input; did it feel laggy in the menus as well, or was it just when you were playing?

The new version:

- Added red color and increased the sound when hit
- Added a white overlay while paused
- Adjusted the game over screen
- Increased and fixed movement speed
- Made enemy sounds depend on distance
- Cleaned up in folders

#6 NewDisplayName   Members   -  Reputation: 359

Posted 04 September 2012 - 12:28 AM

Now I changed to d3dx9.lib which depends on d3dx9_43.dll and I think thats a DLL everyone with DirectX should have.

I very much doubt it that this will work on machines of end-users who don't have 9.0c or upwards installed properly on their machines.
Basically, this dll is present in system32 folder and it never appears to be a problem for developers who have DirectX SDK installed on their machines. But this won't be the case with most end-users. Unfortunately, I myself don't know how to overcome this issue. Sometimes shipping this dll along with the exe has been a solution, but it doesn't work in all the cases. I have seen a few issues. This dll seems to come into picture with matrices btw. Some debugging can give that idea but not so concrete.

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.