MatthewDiaz

Member
  • Content count

    94
  • Joined

  • Last visited

Community Reputation

166 Neutral

About MatthewDiaz

  • Rank
    Member
  1. Using games to educate

    Aren't good realistic simulation programs in and of themselves a great educational teaching tool? Some examples of what I am talking about are Microsoft Flight Simulator, Rail Works Train Simulator, Universe Sandbox and maybe even Americas Army. I understand that the OP is talking about the genre of educational games, but I believe it is still worth noting that we learn more from games than we think. Before I played Gran Turismo I knew absolutely nothing about cars, but now I know at least some things.
  2. Beginning Directx11 Game Programming by Allen Sherrod and Wendy Jones covers the basics and is a good starting point also.
  3. Retro Hacker Game

      I know about Uplink and the Hacker series and figured what I want to do is loads different. I mean for one thing they have graphical interfaces and where my game idea is concerned it doesn't have one leading you to learn a set of textual commands to manipulate files on a computer making you feel as if what you are doing is much more hands on.
  4. Retro Hacker Game

     I have been thinking of ideas for a game that was text only that would actually be something people would want to play. I finally came up with something that I believe would work. Imagine the game is nothing more than you running a computer with an OS similar to DOS somewhere in maybe in the early 80s. You get jobs from people from some primitive form of online messaging to break into other computers for simple and complex tasks. For example one job may have you try to gather the user name and password for a specific employee in a company. Another may have you attach a virus to a specific file. Another may have you find dirt on a specific person by searching their past online messages. All of this done in text only.      Also I could have an online shop for buying new programs and faster computers. For example maybe you need to find a specific file in the hard drive in a computer amongst many folders. You could buy a search program that makes this job much faster. Another program could let you find a password as long as you have a valid user-id. A more expensive program can maybe let you find both the user-id and password. I mean the possibilities are pretty much endless. Better computers may allow you to perform tougher jobs quicker before you are "caught" or your location traced. If your location is discovered you may lose money trying to find a new secure location to work from. I can go on and on. What do you guys think? Would you play such a game?
  5. Directx fails to start in MSVC++ 2010

       Thank you so much. Problem solved. Why in the world do they make changes like that though?
  6. Directx fails to start in MSVC++ 2010

    The value of result is E_FAIL through each iteration of the for loop and E_INVALIDARG at the end of the loop. It fails every time even though it shouldn't. I am trying to explain that the code is fine and that something else is the problem. I just don't know what that is. I tried uninstalling programs like AVG and anything else I installed since this code worked fine but to no avail. I have literally over 10 projects that worked fine months ago when I last debugged them with the same code. I come back months later to find that no of them run, they compile, they just don't run because the CreateDevice fails every time. The last resort is to wipe my hard drive and reinstall windows I am just hoping to avoid that.
  7. This is in Directx11 BTW. The code is fine. This code worked fine 5 months ago and I never touched it since. For some reason every project I try to debug fails because it cannot start Directx. Here is the code for( driver = 0; driver < totalDriverTypes; ++driver ) { result = D3D11CreateDeviceAndSwapChain( 0, driverTypes[driver], 0, creationFlags, featureLevels, totalFeatureLevels, D3D11_SDK_VERSION, &swapChainDesc, &swapChain_, &d3dDevice_, &featureLevel_, &d3dContext_ ); if( SUCCEEDED( result ) ) { driverType_ = driverTypes[driver]; break; } } if( FAILED( result ) ) { DXTRACE_MSG( "Failed to create the Direct3D device!" ); return false; } Basically the result fails every time when before this code worked perfectly fine. I already reinstalled the Directx SDK June 2010 and I reinstalled MSVS 2010. I went ahead and uninstalled recent MSVS redistributables that were installed since I last used MSVS. Didn't solve the problem. Oh and here is the error in the debugger...   c:\users\smoke\documents\visual studio 2010\projects\modnarengine\modnarengine\modnarenginebase.cpp(141): Failed to create the Direct3D device! hr=S_OK (0x00000000) The program '[896] ModnarEngine.exe: Native' has exited with code -1 (0xffffffff).   Any help with what may be the problem is greatly appreciated. Help please.
  8.  Does anyone know what the very first video game console was that had alpha channel blending for sprites?
  9. Creating a Random World for an RPG

     That is exactly what I am looking for. Thank you. I guess I should also maybe make an array of int arrays. With each int array containing a seperate flood. Then I can use the sizes of each array to determine the area sizes and put the high tier towns and dungeons in the smallest arrays. That is perfect. Thank you.
  10. Background in a 2d side scroller

    Haha you are right about the do while's. Oh well. Kinda funny.
  11. Background in a 2d side scroller

    This sample code may help. Keep in mind that this was my first attempt at coding parallax scrolling. It worked but I am sure there is better code out there that does the same thing. Just repeat code like this for every background you have. Lower the numbers screenmovecount is divided by for backgrounds that are closer. float screenmovecountx_; float screenmoveoucnty_; float moveamountx; float moveamounty; if(levelstate_ == 0) { //Screenlocation is the camera world location //Screenmovecount is how many pixels away the camera is from the middle of the level's //first screen screenmovecountx_ = 512.0f - screenlocationx_; screenmovecounty_ = 384.0f - screenlocationy_; if(playlevel_.GetBackGround("static").IsOccupied() == true) { } if(playlevel_.GetBackGround("dynamica").IsOccupied() == true) { //Making the numbers greater makes the background move slower in x or y direction moveamountx = screenmovecountx_ / 32; moveamounty = screenmovecounty_ / 64; // Background is 2048 x 768, game screen is 1024x 768x // The background's inital drawing position when the level starts is 1024x 340x // These do while loops prevents the background from being drawn offscreen if(moveamountx > 0.0f) { do{ moveamountx = moveamountx - 1024.0f; }while(moveamountx > 0.0f); } if(moveamountx < -1024.0f) { do{ moveamountx = moveamountx + 1024.0f; }while(moveamountx < -1024.0f); } //If the camera is at 512x340(middle of first screen) background moveamountx // and y would be 0 and the background would be drawn at 1024x 340x, fitting snug // For every 32 pixels the camera moves to the right the background will be drawn 1 // pixel to the left levelbackgrounds_.at(1).SetSpritePosition(1024.0f + moveamountx, 384.0f + moveamounty); }
  12. Background in a 2d side scroller

    I programmed a game that used both tiles drawn behind the player and large backgrounds that scrolled as you describe. If you don't have to use tiles for your background then don't. Use large images if you can, or several images that make up your entire background. What I would do is I would have one background image that didn't move, like a sky. That image would be the size of the game screen. The next background would be drawn in front of that(like mountains). That image I would make 2 screens wide and 1 screen high(you can make it wider). The image when divided into 2 would actually be the same image twice. This is just so I can loop the image when it goes too far left or too far to the right. If you make it wider than 2 screens you just need to make the first and last screen exactly the same so switching between the 2 is seemless. So many 2d games from the past utilized that little "trick". It makes it much easier on the artist. He or she doesn't have to create extremely large backgrounds.
  13.  Well I am working on a project I dubbed Random RPG. It is basically a retro style(I use the NES color pallete and 25 color limit) RPG that is visually very much like the original Dragon Warrior games on the NES. Now I created a random continent generator(tile based) I am very proud of. My problem is trying to come up with solutions for how to place the towns and dungeons. The problem comes down to not just finding the best locations but also how to space them correctly.   For example, imagine my generator created a moutain range that surrounded plains tiles. My generator does this quite often and if it is not by mountains, it is by a combination of mountains and water. Like this.       MMMMM     MMMPMMM       MMPPPM        MMPPPMM           MMMMM    Now it would be in my best interest to figure out the easiest way of checking for where these locations are so I can place a high tier dungeon or town that would only be accessible later in the game, when the player acquires a flying form of transportation. Each type of tile is represented by a number and the entire continent is really one big array of integers. I have a seperate array with the tile information(tile world location, tile type etc.) in another array the same size which gathers all the integer arrray information once the world is generated. So if my continent is a map 256x256 I add 256 to an index in the integer array to check the tile directly north, - 1 for the one directly left and so on. From what I explained could anyone help me come up with some ideas for how i can tackle this probem?  
  14. Desura frustrations

    I am pretty upset with the situation i am experiencing and I will explain it the best way I can. Maybe someone can ease my mind, I don't know. I put up my indie game on Indiedb.com about 3 months ago. I asked if I could alphafund it on Desura the first day(desura and indiedb are sister sites). They said no and suggested I improve the look of the game, and the feel. No biggie. I spent about 2 months doing all that and I also made some changes that some from the community suggested. A week ago I asked Desura support again if I could alphafund. In 3 days no response, so I sent another email mentioning that it was just in case the last email was missed or if I put my contact email wrong on the previous request. It has been a week now since the first email and no response still. I am frustrated not because they don't say yes but because they aren't say anything at all. I feel like I am being avoided. I mean if the answer is no, then tell me no. I am a 32 year old man. I can handle it. Who is to say that when the game is up to their standards for alphafunding or even a published release they just avoid me again? If they don't respond at all I may have to move my game elsewhere and I shouldn't have to do that.
  15. I decided to use a random raindrop system to do the rain in my 2d game. Unfortunately with my limited knowledge the method to draw my rain looks like this. [CODE] bool Game::DrawRain() { unsigned int stride = sizeof(VertexPos); unsigned int offset = 0; d3dContext_->IASetInputLayout( raindropsprite_.inputLayout_ ); d3dContext_->IASetVertexBuffers( 0, 1, &raindropsprite_.vertexBuffer_, &stride, &offset); d3dContext_->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST ); d3dContext_->VSSetShader( raindropsprite_.solidColorVS_, 0, 0 ); d3dContext_->PSSetShader( raindropsprite_.solidColorPS_, 0, 0 ); d3dContext_->PSSetShaderResources( 0, 1, &raindropsprite_.colorMap_ ); d3dContext_->PSSetSamplers( 0, 1, &raindropsprite_.colorMapSampler_ ); for(int i = 0; i < 150; i++) { raindropsprite_.SetSpritePosition(raindrops_.at(i).GetScreenX(), raindrops_.at(i).GetScreenY()); XMMATRIX world = raindropsprite_.GetWorldMatrix( ); mvp_ = XMMatrixMultiply( world, vpMatrix_ ); mvp_ = XMMatrixTranspose( mvp_ ); d3dContext_->UpdateSubresource( raindropsprite_.mvpCB_, 0, 0, &mvp_, 0, 0 ); d3dContext_->VSSetConstantBuffers( 0, 1, &raindropsprite_.mvpCB_); d3dContext_->Draw( 6 , 0); } return true; } [/CODE] It is of course alot slower than I would like it to be and I have yet to find a easy to follow tutorial on instancing for Directx 11. The ones I found try to explain it to you as if you are already an experienced programmer familar with Directx 11 and are also done in a 3d coded environment. Can anyone provide a link to a tutorial that explains how to do it very well and preferably in a 2d environment?