Jump to content
  • Advertisement

Codman

Member
  • Content Count

    112
  • Joined

  • Last visited

Community Reputation

181 Neutral

About Codman

  • Rank
    Member

Personal Information

  • Interests
    Art
    Business
    Design
    Production
  1. I don't know if the following approach actually works because I never get to implement it. I just considered it sometime in the past. You need to UPDATE ALL UNITS every simulation cycle. Auras and AOE effects should be updated before units. The most important thing when doing updates is to keep data structures and order of processing cache-friendly or you'll horribly waste CPU power. Auras (which applies to fog of war also): a) Each cell of a grid contains the auras which apply to the cell (eventually splited per "player" and "target type" - offensive/defensive). Most certainly there will be a hard-cap for number of auras that a cell can remember. Here you can pick something to allign nicely in memory in case you want to parse the map-grid at a later time cell-by-cell for any fancy reason you may find. b) You can check-sum each cell to know if the status of any aura/applied auras has changed since the last iteration. This helps you to cache previous auras on unit side and re-compute only when status change (i.e. an aura fades or changes parameters; HINT: plenty of bugs may happen in this piece of code, but you can dodge hardcoding fixes with elegance and help from design side - just the type of buffs/debuffs and type of targets clear from the start :) ). For the first implementation, go with a non-cached version. c) When an aura is enabled, use a circle fill algorithm to register your aura among the relevant cells. I believe Warcraft 3 stacks "effects" in pre-designed slots in each cell or uses the maximum one of them. This is a design restriction you have to account for (again, make it clear inside your mind how do you want the mechanics to work before you start coding). d) When the aura-generator unit moves, use an optimized algorithm to unmark cells "behind unit" and mark the new aquired cells (I can't recommend you right now something, but I read a few of them around the Internet). Instead changing all the cells that the circle covers, you modify only the "new" and "outdated" ones (the bigger the circle is, the less they count from circle area - so you get performance increased returns with higher circle range). DO NOT USE linked lists, use a pre-allocated cache-friendly data structure and hopefully a data-processing oriented code (SIMD) for lighting-speed performance :). e) When the aura-affected unit moves, compute the index of grid-cells that affect it (note that you may have a different grid with less divisions for implementing mechanics then the one using for movement). Picking units (with mouse - I wrote it and then I noticed it was about AOE): Just cache units visible in current view. Because you dont have restrictions regarding the number units that can stack over a cell or their size (warcraft 2 and most of older games had unit equal to a cell and most of 2 stacked units ground + aerial, in Starcraft they did a trick making an unit cover multiple mini-cells), it's a good idea to just have a proxi-bounding-rectangle stored in a cache-friendly data structure and iterate through them. Further optimisation, like selecting the unit under every next click can also be made plus pixel-perfect selection, but all these are polish and should not be in the initial implementation. AOE stuff: With some changes, code from auras should apply here as well. You will not need the "moving circle" filling part and there might be additional design restrictions (i.e. dmg cap for aoe effects). If you want dmg-cap you may register units to dmg source when you update them (as you did when checking auras for their cell) and apply the dmg after making further calculations (like dividing the entire dmg to number of registered units or other design requirements). I hope this will answer your question and come again if you need to find out something new. :)
  2. The difference between success and failure is the level of polish your game has. Polished game requires talent, passion, vision and strong planning skill. These do not scale along with the amount of assets in game as the money does. So, what I say is that indie devs should focus more on planning how they intend to polish the game to the heaven with reasonable cost of time and people instead trying to create a game that nobody understand in the first 2 mins because... they simply never seens one and the mechanics are too complex. Be creative but don't jump too far from the "what people are familiar with". Frustration is not allowed in games. After you met this point you can think about being creative (which is just putting together already known things in an improved manner... this is what creativity is and sounds like a bit of polish, doesn't it?).
  3. Codman

    european . . . .

    @Evildog - I'm from Romania too. You shouln't be ashamed the president said during Bill Gate's visit that piracy helped local community to develop tech skills. It is the truth. If it wasn't piracy I wouldn't be able now to work in a good paid position being able to buy legal software and more, create new games (I work in the industry). You should see the big picture, not only be restricted to a set of rules - piracy is bad. Recently, Microsoft started to share some software free for educational purposes so it's almost the same thing. Today, we give back more than we have stolen someday. @Soviet - Nazi main problem was Hitler and his fantasies. He was suffering from mental illness and the Germans suffered a lot before he came to power. It was like a revenge which shouln't take place anyway. Romania fought as german ally against Russia because we couldn't stand a chance against its military power. It was a decision made by that day leaders in order to protect the people. Later, the decision was bad as the Soviet took revenge, bringing the a comunist regime and stealing a large portion of land. As someone said earlier, all countries acted evil against others. The problem is that the more important you are a greater evil you can do and most of times you never pay for it. I would salute any game that will represent the history more deeply over a larger period of time letting the player get in touch with reasons, environment and decisions and let him judge the degree of evilness/goodness. @USA is a single market. To sell in Europe involves a greater financial effort and the public requires more mature games.
  4. Falling in love with a game character can be only expected from people with mental problems. Inflicting emotions is a different thing. Build emotional attachment between the player and a character and negative actions against him will hurt the player too - creating anger, spirit of revenge and so on. That is drama. I can give you some examples from the movies: general Maximus from Gladiator, main character in Shindler's List, King Kong - the monkey, the Pontiac car from Transformers. All these characters create strong emotions because they live with a pain which grows bigger to the end. If you study the ancient drama you will see an almost similar template. In games I think you can study the mechanics for creating emotions in games like Max Payne, Blizzard games (they have some good characters there). Again, I think that pain, struggle for something, the fight to achieve against all odds are the best way to create an appealing character. Most people have the dream to achieve something (the others are just wasting their life time) and the very nature of humanity is compassion (more or less or you cannot be considered a human being - those characters in games have names like Lost or Broken because their existence is against the human nature). Think more about creating characters with high emotional impact. About including love in games - it has been done a lot of times. The hero that rescues his loving girl. The brother driven by revenge - which comes from love. Still, all these games have some major pitfall - violence is not connected with love. I'd like to see one game where you take actions driven by "love" as a story setting because, as I said, you cannot be healthy and feel love for anything else that a human being. Even for animals, you can develop a strong emotional link but it is not in love, as you won't be able to sacrifice yourself for it to live. Care is when you put the other before you and. Love is the care driven to a degree where you put his/her life before yours. This definition excludes possibility to fall in love with you computer ^^.
  5. You need to address all these "why" to make the game appealing to everybody. Luck has a little importance in game design.
  6. Quote:Original post by RivieraKid Quote:Original post by Sneftel Quote:Original post by RivieraKid why people enjoy something is more important than if they do or not. That has to be the silliest assertion I've read in Game Design in quite some time. so the most popular stuff is the best? k. WOW is the best. Britany spears > classical. Windows > Linux. See how popularity and apparent enjoyment are not factors of quality. I enjoyed TFATF: Tokio Drift but its still a crap film. Why even discuss if a game is good or not? lets just look at the sales figures! WHY LIKE is the most important thing in game design. More than if they like or not, because the answer to this question comes from understanding the why. The "why" gives a long term useful insight of how things work - this gives you an advantage over the other dev competing against. Otherwise, you are just a pathetic "cloner", stealing features from games and implementing them worst. The OP set the problem pretty well - why they like and why I dont like HALO? Game design is about creating good games. Good games are those who give the prople a feeling of fair trade for their money. We, as designers, don't care too much about the player's level in any terms (IQ, rational level or else). We should care more why and why not they enjoy something to extract the core from that and turn into our advantage in order to create better games. Sims, WoW, Halo are VERY good games. And they can be improved. Design is a science mixed with intuition and a fine knowledge of human nature. A designer is ultimately an alchemist. Keep on good oppinions about WHY and dont argue over "most popular is automatically the best". Be curious why. EDIT: you can judge a game how good it is considering sales is by looking at the sales curve over time ;). Hyped games are sold good when they hit the shelves. Good games are sold constantly or raising (for those who don't have big marketing budgets). There is an old word I know from old people... think before you talk. After you pass a barrier in the learning process, the good critic is the merciless one while giving directions to perform better. It tests the strength of motivation within yourself.
  7. Codman

    Gameplay Vs. Story

    I'd rather go with Story Telling Game vs. Replayability (you can have both also). I don't even think about a game that would gave up gameplay quality for story (I can't imagine how can you do this btw - long ). Let's say the story is good and you want to know more and more. You play. If gameplay is giving you a headache, even you finish the game, at the end the perception of game would be "bad". You should enjoy your action of play because story is "revealed" after completing gameplay goals. Otherwise go for a book or movie. My conclusion is that story telling in games should not compete books and movies on their own ground. Story should be a layer that hook player further into the game along with quality gameplay. Also story (my own belief) should not be used to create replayability (multiple endings and all these). It's gameplay's task.
  8. Codman

    Types of Game Designers?

    Level design is not a job that can be done by anyone :). Everyone can put objects in a scene and some actors but to actually create a challenging, rewarding, immersive, experience-controlled, game fit, with proper rhytm and difficulty is another story.
  9. I am a "competition" maniac when playing games. WoW is one of them and I really need to access abilities FAST. If the opponent does it faster I might lose. I salute the option to make combination between any key and ALT, CTRL and SHIFT keys for shortcuts. I actually use something like: WASD - movement Most used abilities keys 1..5. Secondary abilities ALT + 1..5 Q, E, ALT + Q, ALT + E ALT + C has a special role - mount/dismount. Future "upgrades" might include SPACE, R and and ALT - R considering new abilities from Burning Crusade. Everything must be bind-able.
  10. Codman

    Design tools?

    I find Mindjet MindManager my most valuable tool to keep things clear and organized. I just started to use SmartDraw - it has great potential for everything that involves flow-charts. PhotoShop for fake screens (mock-up screens). Pen and Pencil (TM) for all things before they make to previous tools. If it looks good in my mind and on paper it should get recorded. MS Excel for a lot of things. MS Word for the general design. Notepad for always having a small document to write things down fast - a few words about an idea that crosses my mind.
  11. Do you have the rendering engine already in place? Ingame cinematics are pretty easily to implement with the average programmer if you have the rendering engine and game engine in place. It is supposed you can do this: - render, animate and move an object in game world (mostly soldiers in your place) - interpreting some scripting commands (the system should be already in place if you have AI in game) like "set animation" "move to" You will need to implement: - add some commands for camera like "pane camera" "look at" "bind to actor view" - take the script your wrote above and cut in "camera cuts". For each camera cut write the sequence of commands that will do what you want. You may have a layer with timed commands binded to actors (go to that place, play animation x, wait 3 seconds, play animation y) and a layer of camera (set camera like this, wait 4.2 seconds, set camera like this) BUT BEFORE YOUR START doing the cinematic you need the rendering system and scripting system in place.
  12. Codman

    Starcraft online

    During the last two years I have been reviewing Blizzard's open positions. Blizzard North (there is a different studio than HQ BLizzard, they are the creators of Diablo series) were looking for a Lead Game Designer with a triple A experience in RPG. Interview task was to write a short analysis on Diablo II and Dungeon Siege 2 (strenghts, weaknesses and possible improvements). More recently they are looking for talented level designers familiar with Warcraft III map editor, for a Ladder System Designer with pro-gaming experience and very good math knowledge. The famous StarCraft: Ghost was stopped. Tons of graphic and sound assets were already created. Let's drop them. In SC2 not recycle bin. WoW is the golden chicken with many golden eggs. Its continous development and support costs incredible sums of money but it pays a lot in return. Do you know why former employes left? Blizzard's revenues were also used to cover black holes from other Vivendi Games (Vivendi is one of the media giants). Blizzard is not running out of money because of WoW development. Blizzard just got the funding for whatever the management want. We can expect some screenshots (and the games in first quarter of 2009) during the next year, screenshots from the next two incredible action-RPG and RTS. It could be the SC RPG. Why 2009? ATM they are hiring level designers - add campaign, ladder and closed beta time. This will take at least one year. For your task, I suggest you to moderate a discussion about how WarIII gameplay is an improvement over StarCraft gameplay and the pitfalls that made him unwelcome to an important number of StarCraft players. After you identify them rigurously you may step forward and try to find solutions. Best regards, Cod.
  13. Harcode execution-time critical code. Hardcode all basic gameplay concepts that sums up the gameplay of your game. Give designers the freedom over all other gameplay aspects regarding behavior, variables, object properties. Build behavior from bricks (many small behaviors which are hard-coded but combined in designer's defines - properties like move, attack, build, inventory and so all other abilities) so you build up an object from those. Never have magic numbers of hard-coded properties. Ultimatly take a look at Warcraft III map editor - it's a good example where to draw the line between what to give control over and what to hardcode. FPS games give more freedom but are way more complex in control for the beginning.
  14. Codman

    Map/Submap System for Strategy Games

    Tell me the gameplay implications of having a group of 1000 spearmen and one of 10 spearmen. When should I go for one choice and when from another? How do I reason about this?
  15. Codman

    Map/Submap System for Strategy Games

    Each map layer you add means another gameplay layer with its own mechanics (challenges, rewards and meaning). With each layer you add your game complexity raises almost liniary but your game learning curve raises exponentialy. After a point most people mind wont be able to store and process all information at a time (about current game state) and the game will become uncomprehensible for them. These are some reasons why are only 2 levels: world-level is usually turn based and battle-level is real time to fit most two genres in one. Plan your mechanics for each layer carefully paying consideration to adding gameplay depth and meaning instead of many "submaps". Less or more means the number where everything counts in place :).
  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!