Jump to content
  • Advertisement

Design most important books that teach game design fundamentals

Recommended Posts

hi.

I'm a programmer that I want to learn about game design fundamentals.

as you may know there are lots of books that most of them teach the same thing. I want to know what are must to read and most important books that teach game design rules and fundamentals. 

Share this post


Link to post
Share on other sites
Advertisement

The Art of Game Design: A Book of Lenses by Jesse Schell is very good.

Online, check out Daniel Cook's blog Lost Garden.  If you click "essays" at the top of the page and check the links for "worth reading" and "science of game design" you'll likely find interesting content.

 

Hope that helps! :)

Share this post


Link to post
Share on other sites

thanks my friends. these books are great. but what about level and environment design? is there any good reference for level design?

thanks my friends. these books are great. but what about level and environment design? is there any good reference for level design?

Share this post


Link to post
Share on other sites
On 5/5/2018 at 1:53 AM, moeen k said:

thanks my friends. these books are great. but what about level and environment design? is there any good reference for level design?

Level Up!: The Guide to Great Video Game Design by Scott Rogers will teach you a thing or two about level design. It's definitely worth a read.

 

Share this post


Link to post
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
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By Shtabbbe
      I've had a game idea for a while, and I wanted to finally try to create it.
      Its a 2D open-world tile-based MMO. The concept is it is one world and multiplayer only, so everyone shares one world no matter region, platform, etc.
      I am having problems finding out what to use to start development, I tried Unity but saw some of the negatives and refrained and now im stuck, could anyone recommend some intermediate friendly 2D engines that can support what I am looking for? Preferably in languages that are or are somewhat like Java, C#, Python, JavaScript, Lua.
      Thanks for your help, im very new at this if you cant tell
    • By tones31
      Hello. I am looking for an unpaid, hobbiest game developer to help me continue to work on a fully functional game prototype built in PlayCanvas that I have built as a hobby. I intend to release and monetize the game once it is complete.
      About the Game
      The game is entitled "Battle Runes."  It is some strange mixture of scrabble and word search, but instead of English letters it uses Viking runes. Each rune represents an English letter. The game takes place on a board, which is a grid of any size (4x4 for example). Not all squares on the grid are required to exist (there can be holes) but there can never be an incomplete path from one square to the other. The game starts with all squares on the board populated by random Runes. The player clicks and drags Runes around the board from one square to the other, costing them "moves" in the process. Runes can also be stacked vertically if they are the same, which adds both literal and figurative depth to the game. The main point-scoring mechanic is to create English words (like "war", "hello", "sky", etc...) using the viking Runes. Words are automatically found by the game using any of the 8 cardinal directions, just like a word search. Points are rewarded to the player for each word they create, and they get bonus points if a word has extra Runes stack on top.
      History
      The current PlayCanvas prototype is actually the third revision of this game, but it is the one that has made the most progress. The first two revisions were in Unity, and were actually multiplayer games. I abandoned Unity when I found PlayCanvas and ended up rewriting the entire thing in a few weeks versus the few months it took me with Unity. Obviously the advantage was Javascript.
      Who Am I
      I am a full time software developer with a job at an engineering firm. I code daily in C, C++, Javascript, and PHP. I am a full stack developer, creating UI, and backends on Linux, Windows, and even embedded devices (hence the C and C++). I had no idea how to program 5 years ago, and have been learning every language I can get my hands on since. I have worked my way up in my company from a software tester to my current full stack position. 

      I went to game design school about 10 years go to be an artist, so I also have a lot of 3D and 2D experience. But I rarely do that anymore, hence the amazing artwork you will see in the below screenshots. Eventually I will find an artist to replace all prototype assets.

      Why I Need You
      The game concept came from a good friend of mine who, at some point, was heavily involved in the design of the game. He has since floated away from the picture. As I enjoy focusing on programming mechanics, I need someone to help me continue to define the game, including at least a few major modifications. Currently, the game is functional. You can actually win in Adventure Mode or play "forever" in Arcade Mode. The problem is.. the game isn't really that fun. I played a lot of Farm Hero and Juice Jam, and these games kept me coming back because of the challenge and allure. Currently, the game is challenging, but mostly out of bad design. It also feels like the game is really missing some core mechanics. 
      Thus, I am looking for someone who wants to spend time playing the game and figuring out some new mechanics, major or minor, to implement. This must be more than "you should make it like this game.." I am looking for someone who really wants to develop a fun game.
      You Are a Good Fit If...
      1. You really enjoy the design aspect of game development
      2. You have original ideas, but know how to borrow existing mechanics from good games
      3. You have 2-5 hours per week to analyze the game, discuss ideas via voice chat, and create a technical document for the game mechanics
      4. You have strong writing skills (technically) 
      Bonuses
      Strong story writing skills for Adventure Mode
      Private PlayCanvas account
      Screenshots
      I always hesitate to share the game outright, because literally all the source code can be stolen when using PlayCanvas. I currently have a private account on PlayCanvas to protect this, but will share a temporary public version for those interested by PM only. So here are some screenshots (please enjoy the prototype models and art :] )

      Screenshot 1
      Level 1 starts out with an easy board. Currently, the player is trying to create the word "air" as represented by the secondary word board. Lots of "i"s available. One "a". But no "r"s. In order to get an "r", the player will have to start stacking similar Runes on top of each other to free up space. New Runes fall from the sky to fill empty squares!


      Screenshot 2
      As an example of the main mechanic, dragging and dropping Runes around, the player has clicked the "s" and has swapped it with the "i" (for no real reason..!). Without committing the move, the game has given the player a preview of what would happen if they swapped the "s" and "i".


      Screenshot 3
      In this screenshot, you can see Rune stacking in effect. The player has stacked a bunch of "i"s on top of each other... there's no limit, and it can get pretty funny when you stack lots of runes (queue gravity!).


      Screenshot 4
      Arcade Mode produces completely random boards, but ensures that there are no unreachable squares, thanks to a really amazing JS pathfinding library. You can actually see the pathfinding library in action (follow the blue highlights). Currently the player has swapped the "g" (looks like  <>) and the "b". The pathfinding highlights all the moves the player would have to make if they could only move a Rune one square at a time. This swap will cost 6 moves. Thankfully the pathfinding library finds the shortest path!!

       
      Thank you for reading this far. Please PM or reply here if you would like more information.
    • By Sebastian Werema
      Do you know any papers that cover custom data structures like lists or binary trees implemented in hlsl without CUDA that work perfectly fine no matter how many threads try to use them at any given time?
    • By 3dmodelerguy
      A few questions about some c++ code
      So I am starting to get back into c++ after about 12 - 14 years away from it (and even back then, my level of knowledge was maybe a little above beginner) to do some game / SDL programming. I was following a tutorial to get at least a basic starting point for an entity component system and it works however there was some code that I don't quite understand even after looking around little.
      First pice of code is:
      T* component(new T(std::forward<TArguments>(arguments)...)); This seems to be assigning the `component` with the results of what is in the parentheses though normally I would expect this:
      T* component = new T(std::forward<TArguments>(arguments)...); Is this just syntax preference or does the compiler do something different with the parentheses (it is weird to me as when I see that, I think it is a function call)?
      The second piece of code I think I understand the general idea of what it is doing but some of the specific are escaping me:
      template <typename T, typename... TArguments> T& Entity::addComponent(TArguments&&... arguments) {   T* component = new T(std::forward<TArguments>(arguments)...); So from my understanding, the first line would basically take this:
      entity->addComponent<TransformComponent, int, int, int, int>(x, y, width, height); and take of the first item in the template and assign the to T and then "group" (not sure the correct term) the rest of the items as a collection of some sort and then the `...` on the second line would group the arguments (that would need to match the template group) that were passed in. Then the third line is effectively converting the template / passed in arguments to be called like this:
      TransformComponent* component = new TransformComponent(x, y, width, height); The parts that are a bit confusing to me is first the `&&`. From what I have read (from stack overflow), that symbol means rvalue reference or reference to an argument that is about to be destroyed. Not quite sure what it means by it about to be destroyed.
      The second part, which I think related to using `&&`, is the `std::forward<TArguments>`. The explainations that I have found so far as are bit confusing to me.
      I will continue to try to find the answer to these confusions but I though maybe someone here might have an explanation that might make more sense to me. I would also consider it quite possible that there is some prerequisite knowledge that I might not have (I mean I think I have a decent understanding of pointers and references) so if there is other stuff I should looking into, that would be great too.
    • By Eios
      I have coded small games and put some of the features from them into a platform game. But I know my art is not appealing and I don't want to plan the story and cut scenes out. That is why I am posting on the collaboration forum to see if anyone wants to make a game out of this.
      Only hobbyists apply. Please don't change your mind about it being a hobby. PM me when making your application.
      My platform engine includes:

      Camera and Movement
      Moveable camera and not binded to player when pressing middle mouse button. Bug free jump. Player direction following mouse cursor. Keyboard movement controls. Mouse movement controls. Environment
      Good collisions. Platforms and diagonal slopes. Stored Statistics
      Level up with statistics. Health bars. Save system. Gameplay
      Basic attack. Self heal. Attack and pull enemies back. Attack and throw enemies in the air. Enemy patrolling area. Enemy getting alerted and starting it's attack stance. Enemy dies and vanishes. Platform jump puzzle. Live cut scenes. Essential Rooms
      Zoning to a new room. Loading rooms. Menu with sounds. Game over room. (Randomized rooms). (Pick who you want to play room). Continue room. Pick a room to play again room. Text Dialogue
      Interacting with NPC displays a message. Ending conversation with a key press. Text typing itself. Fast forwarding text with a key hold. Next text message with a key press. Integrations
      Steam Integration.
  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!