Jump to content
  • Advertisement

Michael Aganier

  • Content Count

  • Joined

  • Last visited

Everything posted by Michael Aganier

  1. In a strategy game, you have multiple players whom each control their armies. These players can be human or ai. The problem I have is with the signification of the word player. When we talk about characters that are AI in games, we say NPC for Non Player Character. This implies that a player cannot be AI. In this context, we have characters that are either player or AI. In a strategy game, the player and ai are not characters as per se, but invisible beings that oversees to their troops. What is a word for that overseeing entity that can be either player or ai?
  2. For a strategy game, I want to replace my rectangle collision detection by the type of physics displayed in the following video. I'm looking for sources to learn how to implement this. The video description states that it could handle 20k units on an old pc, how accurate is that statement? Would a physics engine like bullet be able to handle 20k circles like that?
  3. Michael Aganier

    How to make art like that?

    I saw a video which uses elegant and simple art at the same time which I'd love my game to look like. https://youtu.be/P5e7cl19Ha0 The art seems so simple that it looks easy, and I tried, but I have very little art skill and I can't do something as good. Is this kind of art doable by a non-art person? How can I learn to do that? How long can I improve from zero art skill to making good simple art like that? I say simple from an non-artist point of view, but is it? What kind of software do artists use to draw and animate characters like that?
  4. Michael Aganier

    Linux IDEs for C++

    Netbeans C++ is probably the most fleshed out one. Though on linux, you don't need an IDE because the OS itself is an IDE. You just need to learn the proper tools as @Alberth mentionned.
  5. Michael Aganier

    Template Function

    It is possible, though not without some quirks and is not exactly straightforward. http://www.angelcode.com/angelscript/sdk/docs/manual/doc_adv_template.html A different solution is to add a specific interface for each type. // Template is longer to type Velocity@ vel = entity.getComponent<Velocity>(); // than a specific inteface. Velocity@ vel = entity.getVelocity(); There's two advantages to that. First, once the interfaces are there, your code is easier to write because less characters to type every time. Second, it is by default a lot more efficient than templates because AngelScript templates are determined at runtime unless you override a template specialisation for each different type. (see Template specializations in the link above).
  6. Michael Aganier

    How to make art like that?

    This is really great @Scouting Ninja, thanks a lot for the effort. I'm reading your tutorials along way the book I mentioned. I'll show some results as soon as possible.
  7. Michael Aganier

    Unit scaling in strategy games, how to keep uniform gameplay?

    It would only be changeable in between battles. I agree that it may affect the quality of the game. I'll try your advice and see how this goes.
  8. In a game like total war or scourge of war, you can choose the scale of units which changes the number of troops you see on the battlefield. Such games are usually designed with a default scale in mind. For example, if the default scale of soldiers in a unit is 1:10 compared to reality, the maps will be designed so that it plays well with 1:10 units scale. But then, if the user chooses 1:2 unit scaling, the size of the map feels wrong and it can make the game unplayable (not framerate wise, gameplay wise). In total war, city battles are pretty annoying at bigger scales because units get buggy and don't move as smoothly through the city. Is there a game that already uses a good solution for that? What would be your approach to this problem?
  9. One thing I do when I have lots of entities that can do the same action at once is wait a random delay before doing the action. That way, it looks a lot more natural and the sound problem is lessened. If you have a large map, then you will naturally use positional sound effects which will reduce the volume of sounds that are far from you if not mute them. If it's still too loud and lots of sounds happen all the time, I will lower the volume simply. If few sounds happen, it's fine if they are quiet because it gives auditive strength to the more intense action. For limiting the number of sounds, I presume that you count how many sounds are currently playing and skip newer sounds if it reached a limit. Instead of playing sounds directly, send a sound event to a sound manager. This sound manager will receive events from everywhere it's needed and it will keep track of the number of received events for each individual sound. Once the sound manager has received all the events for this current frame, it will decide which sounds should be played. For example, if I count 100 events to play the sound "laser_gun", I can play the sound once, but adjust the volume with the following algorithm. for each (soundEvent) { // Each additional sound event increases the volume by 5% // instead of 100% if you'd play it twice. float vol = 1.f + (soundEvent.counter - 1) * 0.05f; SoundAPI.play_sound(soundEvent.sound, vol); } That way, many sounds are still louder, yet not too loud. Notice that I used a linear function to increase the volume, but you could use an exponential function so that a second sound event increases the volume by 50% and the tenth only increases by 5%, etc.
  10. Michael Aganier

    How to make art like that?

    Good info. I started learning blender with the wiki book Noob To Pro. I've readed all of section 1, though it's only about basics and interface. What I had in mind is to make characters with the same general shape so that they can be rigged to the same skeleton. I want to make 1 animated skeleton and be able to use it to animate multiple characters and export them into spritesheets. Is that possible with blender? Also, could you describe how you've done your vector character? Is the whole model 1 piece? Did you made each pieces separately? What kind of lighting did you render with? I'd love to see in action how you go through that process.
  11. Michael Aganier

    How to make art like that?

    That's pretty cool. When I think of vector graphics, I always thought of inkscape and illustrator. What is the advantage of using a modelling software like Blender?
  12. Michael Aganier

    How to improve FLEE in RPG videogames ??

    Option 3 and 1 seems the same but with different wordings. Those would be the most straightforward. I like option 2, but does it make sense in your game? It would if your game has an ethic mechanic like mass effect series which makes you bad or good depending on your actions (or Baldurs Gate which is THE ethics RPG).
  13. Michael Aganier

    Dolumar open source

    I like the art and style, it makes me think of cossacks and american conquest. How did you make that? Did you hire an artist? It looks very professional overall. How much experience do you have? How long did you work on that?
  14. Michael Aganier

    A quick question about style

    Left side looks more arcade and casual, right side looks more tactical and realistic. I prefer right side, that'd be really cool in real time. The reason is that with this level of abstraction, you can have much more realistic and deeper tactics. In real life, their would be thousands of foot soldiers for a couple of tanks. With the left side, you'll usually have 1 tank for 5 infantry. The visuals are more realistic, but the game is a lot less convincing because you know that individual soldiers don't fight like that. On the right side, you can abstract 10 tanks in 1 tank unit and 1000 soldiers in 1 infantry unit. The abstraction makes it look a lot more convincing because you use your imagination to picture the actual soldiers doing the fighting. If you want to simulate directions and rotations of units, you don't need to have rotatable sprites, just draw a cone which shows which direction this unit is facing and its attack range at the same time.
  15. Michael Aganier

    Making Certain themes accepectable

    In my humble opinion, doesn't matter how old are your soldiers, the game will sell if it's good, it won't if it's not.
  16. Michael Aganier

    Why are member variables called out?

    I used to put m_ in front of my member variables, but I stopped because I think it's an anti-pattern. The naming convention doesn't guarantees that this value doesn't come from somewhere else than expected. Instead of using a naming prefix, I use explicit code that is enforced by the compiler. For example, in C++, I know that a variable is local when I type the name of a variable only, and I know that a variable is a member variable because I explicitly type this. class TimerA { int m_timeSinceCreation; public: TimerA() : m_timeSinceCreation(0) {} void update(int deltaMS) { // m_timeSinceCreation can come from anywhere; it can be a member // variable, a global, another parameter or a local variable. // You can only be sure if you know the code. m_timeSinceCreation += deltaMS; } }; class TimerB { int timeSinceCreation; public: TimerB() : timeSinceCreation(0) {} void update(int deltaMS) { // timeSinceCreation is 100% guaranteed to be a member variable. this->timeSinceCreation += deltaMS; } };
  17. I'd like to see the not simplified version, because I need more explanation. What do you mean limited parts? What do you mean learning to build the wheel?
  18. In a RTS type of game in which you setup an army and then do battles with this fixed army, what kind of game progression could there be? If I take total war for example, the progression happens in the campaign mode, but this campaign mode is almost a second game in itself. What do you think would make for interesting progression that is relatively straightforward to make? I wish to release a demo of my game soon so I can get some concrete feedback, but I have no means of making it a lengthy experience yet.
  19. Michael Aganier

    Loosing the upgrade achievements

    It seems like there's not enough rock paper scissors in your game. If the AI comes with lots of units that are overwhelming the player, then there should be a strategy to counter that. For example, you could use rock paper scissors for the different units themselves. If the AI comes with huge armies of archers, then you must have a proper counter unit (like cavalry) which the player will be able to counter the AI with until the AI picks up and reacts to this counter strategy, and then the player reacts to the AI's counter strategy with another counter strategy, etc. Or you could make large armies slower than small armies which would allow the player to quickly infiltrate the enemies territory with guerrilla troops and damage his income facilities. If armies cost money to upkeep, then doing so will disband some AI's armies because you would have weakened his income. Or you could damage his upgrade facilities and make it that the upgrades are removed at the same time, allowing you to overcome his armies with lesser stronger troops. The concept of guerrilla troops could also be implemented with spies a la Total War. (image from http://meeplesyrupshow.com/?page_id=651)
  20. Michael Aganier

    XP for Feared/Enraged/Calmed enemies?

    Both awarding and not awarding make perfect sense from game design perspective depending on what you want to achieve. Do you want the player to take advantage of these mechanics? Awarding might make the player want to take advantage of them. Not awarding may also make the player want to use them because it might still be advantageous to reach a greater goal. But not awarding may force the player to find another way to get more xp which can be good if you want to push the player in a certain direction. In all of the possible cases, the main subject is the player. The saying goes you can't see the forest for the trees. Asking friends to test a game is usually one of the most inspiring things I can do to improve my designs. You can also post a demo here if you wish to.
  21. It's perfectly fine to allocate enough memory for both data and casting the type, but why would you want to do that? If it's for performance reasons, it won't be noticeable because a pointer dereference is nothing compared to the cost of binding a new texture to the GPU. If you have lots of tiny textures, the best thing you can do is put them all in a single sprite sheet and then in your code, organize your draw calls so that every single one that uses this sprite sheet are batched contiguously.
  22. Michael Aganier

    Hands off approach to MMORPG/Kingdom sim

    A prototype is supposed to contain the core mechanics of the game so that when you play it, you have a good idea of what the final thing is gonna play like. From your art, it seems the game has combat in it. Combat is usually the most important thing in a game and the interactions that the player make are only a mean to set the player up to combat. Does the player need to read stats to know which proper combat action to make? Then you need text. If interpreting animations is a combat mechanic, then of course, you need to have animations. If animations are only a visual effect, then you can use static art for your prototype. A lot of free art resources exist online, you don't need to have good art for a prototype. The prototype is a way to predict whether the game is worth developing to the end. If your ideas worked on paper, but don't work in the prototype, then you go back to the drawing board then forth and back with prototyping until you're satisfied. Game development is expensive which is why most indie developers are jacks of all trades. Unless you have a huge stack of money, you're gonna need to learn how to make games yourself. Just for fun, find a game that looks like what you want to make, and then find the budget they had to make it.
  23. Michael Aganier

    Hands off approach to MMORPG/Kingdom sim

    The next step is to get a working prototype of the game. So either start learning how to make one or try to find people that are willing to do it (which is unlikely).
  24. Michael Aganier

    Non-Scripting Game Engine

    I wouldn't use any of the well known engines (unreal, cryengine, unity, etc.) because these are primarily 3d engines which makes them extremely heavyweight. They usually require a 10gb installation which makes it a pain to work with if you don't have a dedicated workstation. I recommend Godot instead. Godot is only about 30mb and is so lightweight that you can put it on a usb drive and use it from any computer (in a library for example). It has visual scripting and it also has more support for 2d than any other popular engine as of now since this engine was primarily made for 2d, though it also supports 3d if you ever need to.
  25. Michael Aganier

    Designing interesting Quests

    In that quest you told, I see two problems. First, where are the conjunctions of causality? There's barely any. Also, the player is treated as a second class citizen, when he should be the star of the game. None of what happens is decided by the player, it's all imposed to him. There is a town that's tourmented by pirates. ( are you forced to go there? do you want to go there as the player? ) (therefore), The citizens decide to trap the pirates and collective form a plan to kill them once at all. ( the player should decide, not the citizens ) and You need to talk for the towns tinkerer that makes the decision to assemble some bombs digged into the beach (and) to blow the pirates up but how to get them there? ( the player doesn't decide again ) and You meet an alchemist and he gives ya a recipe for fool's gold but wait, how to get into the pirates camp without getting catched and killed? So you will also (also is synonym of and) have to catch one of the pirates and ask him for there camp's location and watchword, also you need to mask and act like a pirate. That quest is just a list of tasks given to the player, it's not a proper story. A proper story doesn't need any words or speech. A proper story is when each event of the quest are linked together by causality. Witcher 3 is nothing but "collect X of Y, collect another X of Z, talk to X, talk to Y, ...", yet it succeeds at having the best side quests in an RPG because each time, it tells a proper story. The same for the Mass Effect series. There is no magical quest archetype that makes it good, it's all about the story telling (again, no need for words, need for causation).
  • 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!