• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

166 Neutral

About MatthewDiaz

  • Rank
  1. 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.   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.  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.    Thank you so much. Problem solved. Why in the world do they make changes like that though?
  6. 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.  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. Haha you are right about the do while's. Oh well. Kinda funny.
  11. 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. 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. 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?