Jump to content
  • Advertisement
  • 07/19/11 04:00 AM
    Sign in to follow this  

    Game Pitch - Bioshock

    Game Design and Theory

    Gaiiden
    [size="5"] About Game Pitches Welcome to Game Pitches! This site serves to be a free resource to game designers offering them the web's largest single collection of game design documents and game pitches. Be they famous or obscure, big or small, successful or not, this site is intended to be a resource for learning how better to design and pitch games in the spirit of sharing information and improving the state of the art through freely available knowledge. Let's make great games!"

    - Jon Jones Founder, GamePitches.com

    Here is yet another really cool online resource we're happy to feature by reposting one of their more popular design pitch documents here on GameDev.net for everyone to check out. There's plenty more over on GamePitches.com and new ones are being added constantly. It used to be that design documents were the popular thing to post online for budding developers to read through and see how a professional game was organized on paper, but once you get the hang of that how to you seek out financing from a publisher to produce your game? Now you can see how well-known studios have convinced people to give them money to make their now well-known games. Learn by example with this great resource!

    - Drew Sikora Executive Producer, GameDev.net

    [size="5"]Irrational Games - Bioshock Pitch Document

    [media]http://www.scribd.com/doc/32211144[/media]



      Report Article
    Sign in to follow this  


    User Feedback


    "Make you own Weapons" - I don't remember that part. Would be interesting to know why some ideas are scrapped exactly.

    I mean, I can understand - I'm happy with guns I pick up, crafting weapons sound more like work than fun - but I don't know.

    Share this comment


    Link to comment
    Share on other sites
    Well it was possible to [u]upgrade[/u] weapons... Maybe they initially wanted to let the player construct the weapons from scratch? That would be a little far fetched, i think...

    Share this comment


    Link to comment
    Share on other sites
    The story itself, about being a deprogrammer and rescue an heiress sounds closer to what they are using in Bioshock: Inifinte.

    Share this comment


    Link to comment
    Share on other sites
    Funny, the main character Carlos Cuello was the technical lead when I was working on the PS3 version.

    Share this comment


    Link to comment
    Share on other sites
    I notice there're a few pie-in-the-sky features in this pitch that never made it into the final game. I'm interested to know, did they have a proof-of-concept prototype to go with this pitch, or were they able to get initial funding purely off their reputation and this document?

    Share this comment


    Link to comment
    Share on other sites
    This is a great service to current and future game developers everywhere! I really enjoyed reading through this!

    Share this comment


    Link to comment
    Share on other sites
    Hinch, I doubt there's ever been a game pitch that didn't promise the moon. Sometimes it's hyperbole, sometimes it's ideas that don't work with how the game evolves, sometimes it's just lying to get into a funder's pockets. In any case, you'd have to ask Ken Levine that question.

    Share this comment


    Link to comment
    Share on other sites
    I love of idea of controlling the game world. If that made it into the full game that would of been awesome. Still bioshock was and still is an outstanding game.

    Share this comment


    Link to comment
    Share on other sites
    I feel like the weapon customization they've promised was perhaps too close to the Deus Ex franchise. Maybe it did not stand out enough to make it into production. Still, I'm curious how far along they went with that idea... alpha? beta? who knows...

    Share this comment


    Link to comment
    Share on other sites


    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement
  • Advertisement
  • Latest Featured Articles

  • Featured Blogs

  • Advertisement
  • Popular Now

  • Similar Content

    • By nadyakzmn
      I'm making a research about using fonts in video games.
      Could you, please, help me and share your experience.
      What are possible font formats that are used in games? What are their technical advantages and disadvantages?
      Thank you for the help!
    • By Uttam Kushwah
      i am confused what i am doing is right or wrong?
      currently storing the state of the each key and checking it in the game loop like this 
      eHandler->getKey(EVENT_KEYS::KEY_LEFT_CTRL);
      if it returns true than do something.
      //this function is called by the function, which is passed as callback to the glfw library 
      void eventHandler::keyBoardHandler(int key , int scancode, int action, int mods)
       {
          if(action!=GLFW_KEY_UNKNOWN)
          switch (key)
           {
              case GLFW_KEY_A:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                              my_keys.KEY_A=true;
                              if(currentCamera->TP_PERSPECTIVE)
                              character_controller->moveLeft(currentCamera);
                         }
                        break;
                      }
              case GLFW_KEY_B:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_B=true;
                         }
                        break;
                      }
              case GLFW_KEY_C:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_C=true;
                         }
                        break;
                      }
              case GLFW_KEY_D:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                              my_keys.KEY_D=true;
                              if(currentCamera->TP_PERSPECTIVE)
                              character_controller->moveRight(currentCamera);
                         }
                        break;
                      }
              case GLFW_KEY_E:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_E=true;
                         }
                        break;
                      }
              case GLFW_KEY_F:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                              my_keys.KEY_F=true;
                         }
                        break;
                      }
              case GLFW_KEY_G:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_G=true;
                         }
                        break;
                      }
              case GLFW_KEY_H:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_H=true;
                         }
                        break;
                      }
              case GLFW_KEY_I:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_I=true;
                         }
                        break;
                      }
              case GLFW_KEY_J:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_J=true;
                         }
                        break;
                      }
              case GLFW_KEY_K:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_K=true;
                         }
                        break;
                      }
              case GLFW_KEY_L:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_L=true;
                         }
                        break;
                      }
              case GLFW_KEY_M:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_M=true;
                         }
                        break;
                      }
              case GLFW_KEY_N:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_N=true;
                         }
                        break;
                      }
              case GLFW_KEY_O:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_O=true;
                         }
                        break;
                      }
              case GLFW_KEY_P:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_P=true;
                         }
                        break;
                      }
              case GLFW_KEY_Q:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_Q=true;
                         }
                        break;
                      }
              case GLFW_KEY_R:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                              my_keys.KEY_R=true;
                         }
                        break;
                      }
              case GLFW_KEY_S:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                              my_keys.KEY_S=true;
                              if(currentCamera->TP_PERSPECTIVE)
                              character_controller->moveBackward(currentCamera);
                         }
                        break;
                      }
              case GLFW_KEY_T:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_T=true;
                         }
                        break;
                      }
              case GLFW_KEY_U:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_U=true;
                         }
                        break;
                      }
              case GLFW_KEY_V:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_V=true;
                         }
                        break;
                      }
              case GLFW_KEY_W:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                              my_keys.KEY_W=true;
                              if(currentCamera->TP_PERSPECTIVE)
                              character_controller->moveForward(currentCamera);
                         }
                        break;
                      }
              case GLFW_KEY_X:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_X=true;
                         }
                        break;
                      }
              case GLFW_KEY_Y:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_Y=true;
                         }
                        break;
                      }
              case GLFW_KEY_Z:
                      {
                        if(action==GLFW_PRESS)
                         {
                              my_keys.KEY_Z=true;
                         }
                        break;
                      }
              case GLFW_KEY_UP :
                      {
                        my_keys.KEY_UP = true;
                        currentCamera->panUp();
                        break;
                      }
              case GLFW_KEY_DOWN :
                      {
                        my_keys.KEY_DOWN = true;
                        currentCamera->panDown();
                        break;
                      }
              case GLFW_KEY_LEFT :
                      {
                        my_keys.KEY_LEFT = true;
                        currentCamera->panLeft();
                        break;
                      }
              case GLFW_KEY_RIGHT :
                      {
                        my_keys.KEY_RIGHT = true;
                        currentCamera->panRight();
                        break;
                      }
              case GLFW_KEY_ESCAPE:
                      {
                        my_keys.KEY_ESCAPE = true;
                        glfwSetWindowShouldClose(window, GLFW_TRUE);
                        break;
                      }
              case GLFW_KEY_SPACE:
                      {
                        if(action==GLFW_PRESS||action==GLFW_REPEAT)
                         {
                           my_keys.KEY_SPACE = true;
                           if(currentCamera->TP_PERSPECTIVE)
                           character_controller->jump(currentCamera);
                         }
                        break;
                      }
              case GLFW_KEY_ENTER:
                      {
                        if(action==GLFW_PRESS)
                         {
                           my_keys.KEY_ENTER = true;
                         }
                        break;
                      }
              case GLFW_KEY_TAB:
                      {
                        if(action==GLFW_PRESS)
                         {
                           my_keys.KEY_TAB = true;
                         }
                        break;
                      }
              case GLFW_KEY_LEFT_CONTROL:
                      {
                        if(action==GLFW_PRESS)
                         {
                           my_keys.KEY_LEFT_CTRL = true;
                         }
                        break;
                      }
              default:{}
           }
       }
      sorry that i have pasted this thing here but this is what i am really doing.
      i have done this like above because i don't want to pass other pointers to event handler class example
      camera,object_manger,game_world_physics and that all
      so my question is 
      what is the correct way of doing event handling? what you people do for optimization?
      😓😓😓😓😓😓😓😓😓😓😓😓
    • By Brain
      The doodled draft design of level 3. I generally create my levels like this on paper first then trace the crate paths in my head.
    • By pitaman
      Hi everyone. I wanted to see if there was a good tool for creating bitmap fonts for games that is similar to Shoebox.
      One that can get an image created in Photoshop or Illustrator of a custom stylized font character set and create a sprite based bitmap font. I've used Shoebox for a long time, but it hasn't been updated for a few years and it's made in Adobe Air. Is there a more modern and better alternative that doesn't rely on Adobe Air?
      I've seen other tools that takes windows true type fonts and let's you create limited styling on them, but that's not what I'm looking for.
      Any help would be appreciated.
    • By Gur Shachar
      Hi everyone, my team and I are developing a new adventure-puzzle game that takes place inside the world of comics. We are looking for testers to try the first short demo that we’ll release in early April. Your feedback will help us wrap up the demo towards the official demo launch on May. Check out the teaser below.
       
      You are most welcomed to join us the testing team using the following link: https://pxlme.me/W2tH5SiA
      https://pxlme.me/W2tH5SiA https://pxlme.me/W2tH5fds
      Many thanks!

      TeaserFinal.mp4
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!