• 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

972 Good

About menyo

  • Rank
    Advanced Member

Personal Information

  1. Ok, that makes a lot of sense. When the user loses his token he will be presented with the login screen again and if he registered/linked his previous account he can get his token back otherwise he has to create another guest account. How does this token look? Is it just a "long" random char field that does not have to be unique since the username is already unique? And does this need to be encrypted or can I just store it locally in a obvious user settings file?
  2. Could you elaborate on an authentication token? Wouldn't that be the same as a password? The issue is the user need to be able to return to his account after he re-installs the game. If I would store the token locally it won't be available on a different device. And yes I meant hashing, should get that terminology right but I did use hashes for a website a couple of years ago. Any idea on what to use with Java? I understand that securing users credentials is important since most of them use the same password for everything. But using a password like this I need to store it locally as well to automatically sign in. So I think I do need to encrypt it locally and then decrypt it on the server where I will check the password+salt vs the hash.
  3. I want to reverse engineer what most mobile multiplayer games do with there login system and with that I mean the user is able to start to play immediately with a guest account and can later fill in a name and link with Google, Facebook or email/password. I think I need the following steps the moment the user presses "play immediately". Create a unique user name, something like guestXXXX and a password. Store Username and password locally. Encrypt password locally. Store the username and password in the database. Encrypt password with a unique salt. Now when the player boots up the game again he will skip the login step since there are local credentials. The only problem I see here is when the user does not register an email, his own password or links with a social media account he will lose his account once he loses his local credentials, most likely with an uninstall. But I think it's very good to have the user play first before he commits with yet another username and password or link with Facebook. I can always throw in a warning when an account is not linked every now and then and give a small bonus when the user links it. Am I forgetting something here? Are there other proven methods so the player can get engaged immediately?
  4. Either start on this game, make it open source and get free help or get a loan to pay for employees or freelance work. Getting a " a faithful, loyal, and dedicated team" that can handle a complete game will be next to impossible. Kickstarter would be another option, still you need to be able to show some great stuff, at least a prototype with some gameplay and the mood you are going for.
  5. This is not the right place to post this. If you are offering a paid job you should post at the jobs section otherwise request to move this to the hobby projects. I wouldn't boost to much about your idea though, every programmer knows ideas are worth nothing, if you are serious about it and offering a paid job then just a view worth about it should be enough. Talk more about what is to be expected from the persons you are looking for and what they can get out of it.
  6. Someone probably already mentioned this linear solution but why not have your damage mitigation mitigate healing at the same rate? However if healing is a big part of the game then a damage mitigation role would be the same as a HP role. Perhaps make your damage mitigation class not healable in a regular way or have a limit on the amount of heals. Don't worry about the lore, you can always think of something to make the mechanic fit into the lore of the game.
  7. Look into original roguelikes perhaps? There are no real good 3d ones out there that I am aware of. If I would rock at 3D I would go for that immediately.
  8.   I don't like it at all. All these games you mentioned have one huge common mechanic, management without a time limit. Make it real time without being able to pause would break that. If such a game would exist, the people with the most spare time would rule unless if there was money involved then that title would go to the richest. Trade, wealth, war and conquest? Sounds exactly like traditional browser games. 
  9. It would make the game a lit easier I guess. The mechanics would change to "rush to powerups". I don't think the single player mode would benefit from this. It might be interesting for a multiplayer game but if player "A" has quicker access to a good power up then player "B" you have balance issues that might be hard to fix.
  10. For survival games the world can never be static imho. Static worlds mean the player can learn the layout and adept to it and a certain degree of randomness can mean the player wants to have another go, or perhaps hundreds of play throughs. in Diablo 3 you don't need many experience to recognize those big pre-made chunks, Diablo 2 does a better job at this but eventually gets repetitive as well. But too much randomness makes it look unrealistic, you have to find a balance in between and the type of environment you attempt to generate influences your options. I did some prototyping for a dungeon map with small rooms and corridors and this worked well but still a bit chaotic if randomly placed in a maze. Eventually the trick is to create enough pre-made rooms and rules to make it look realistic and not repetitive. On the other hand, Diablo 3 seems to work for most people so why not go with a couple of big multi-screen chuncks randomly placed.
  11. Thanks for this insight! Yet there are thousands of popular microtransaction games where there is gambling involved, but instead of real money winning you can win virtual money or objects. How is this different then a regular gambling site globally?
  12. If you really want this to be as flexible as possible I would code "actions" for each part of an ability. An "shoot arrow" ability would consist of a "shoot" action and a "damage" action. "shoot" would simply need a direction, speed and target and once it hits something "damage" will run. A fireball would use "shoot", "damage", "aoe" and another "damage" for aoe since we want to decouple damage from aoe since you might want to have a aoe slow spell later. You can create infinite actions but with just a dozen you can already make thousands of unique abilities. Consider implementing a split projectile, chain, teleport, dot, status effect, etc. This takes a lot of work to implement properly, but once you have this right you can create abilities with json and create a tool that exports correctly to your expected json format. To get a little bit into detail. An ability is basically a list of actions, and you run them one by one. Some abilities need a target (shooting) some might not (aura) some might even be always on like a passive, this needs to be stored in the ability itself and actions should have access to these variables. Whenever an ability is cast you work down the list of actions. A explosive arrow will first run the shoot action with a sprite effect attached to it until it hits something. The position or creature that has been hit becomes the target. Now the damage action will run, this does instant damage to the target if possible. Now the AOE action is triggered with a particle effect attached to it. AOE creates a list of targets within the area. Now another damage action will be triggered that deals X fire damage to all targets supplied by the AOE action. I reverse engineered how DOTA 2 handles abilities with some success. It's great for modding and you can learn a lot from it's data driven design. https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/Abilities_Data_Driven
  13. There are several sites that offer a secure money transaction service like http://www.mollie.com and I would strongly discourage to do this yourself. I guess you can do a transaction immediately after a game is played but this is rather inconvenient since the it's likely the player has to pay for a game as well. Imho, you should have credits linked to his account and let him choose when to deposit and withdraw. This way: you safe money, since money transactions from and to bank accounts costs money. You can immediately debet from the players account on your server and start the game. If you have a lot of players you can earn a pretty nice chunck of interest. Players do not need to constantly pay for each match. Side note: I sense that you are very inexperienced with this. Keep in mind you are working with real money, even by using a service like Mollie you should secure your own server extremely well. If you don't have a clue about security I suggest you work on that first.
  14.   It stops being user friendly if you are using multiple accounts. I feel that for games this is almost no issue but it's nice to have separate saves for each account. With the document folder on Windows this is easy to achieve. Same goes for mods, I love when games allow me to mod in the account folders, this way I can create another account profile for specific mods. On the other hand, for popular modable games there will be mod managers rather sooner then later.
  15. Hi,   Currently I'm storing many objects (> 100.000) in a multidimensional array with ArrayList<Item> keeping all the items on that specific coordinate. This helps me with drawing just the items on screen since I have so many. So unless there is some method I am not aware of for drawing I want to keep this.   I want to display item counts and I'm wondering what would be best to do. My items are made of 2 Strings, type and subtype this could be coin and copper/silver/gold or weapon and sword/axe/mace. I would like to display the total types and individual subtype counts but iterating over my array and counting each list takes way too long. HashMap<Type, HashMap<Subtype, Integer>> would work for just the counting. This leaves me with just the count but I don't think I ever need to access the actual item from here. HashMap<Type, HashMap<Subtype, ArrayList<Item>>> would also work and would allow me to access items from the list. To get the totals of a specific type I just need to call size() for each subtype and sum them up. Problem is when removing an item I need to lookup the exact item Both need some initializing and/or a bit of extra attention when putting the first item of a type in, perhaps even removing values when it goes empty on removal of a item. But this seems to perform extremely well (0ms for a lookup of +-250k items in a pool of 1M. Removes in 3s with the ArrayList but this can be improved with sorting). What i would like to know is if there are any pitfalls to this or perhaps an even better method?