Sky Warden

  • Content count

  • Joined

  • Last visited

Community Reputation

865 Good

About Sky Warden

  • Rank
  1. Since your purpose is building up your portfolio, I think you should go with Unity and get working as soon as possible. I heard people in the industry like using Unity, because hiring people who already have experience with it is easier because they don't need to train you as much and everything. That's just something I heard on the Internet though.   About digging deeper into C++, it depends on you. Developing your own framework takes a lot of time and sweat. If you're impatient and want to get results quickly, it might make you really frustrated, but if you're more interested in the study of programming, then it might be worth it.
  2. It will indeed require a lot of content. You need to determine the bounds of the story and give the player freedom to do what they want inside those boundaries. The problem with writing for games is that the player can also be the story teller.   Like Conquestor said, having a few fleshed out paths is a good way of doing this. You can write the hero path, pacifist path, and murderous path, for example, and give options related to these paths. Of course, it's not without its problems. You can't force the player to follow through a single path in the whole game. They might start being a pacifist at first, but there's nothing stopping them for killing people for reasons like boredom or curiosity. What if they act like both a hero and a murderer, etc.   Another idea is to make consequences of the actions the player take appear immediately. If you choose to spare a soldier, a few scenes later you might see him killing other people, and that thing is done. You might not see the soldier again for the rest of the game (thus less content to make) and the player can rethink their future choices because now they understand that their choices matter. This way they might realize that their lack of courage to kill caused more people to die, and they might choose to be more ruthless next time, or the other way around.   I think that would be enough for now. Writing down all the possibilities would take forever. Just determine the boundaries of the experience. What kind of experience you want your players to feel? What is the message of the story? Is it about life in war? Agency? Once you've determined what your game is about, you can build around it.
  3.   You can make a base class for state and child classes of it for each specific state, and create and destroy its objects in its constructor and destructor. Then you can make a state handler class that contains those states, in a container of type pointer of the state base class, and handles the switching.   You can even define specific processInput(), update() and draw() methods for each state so they can have different behavior. For example, a menu state only draws play and exit buttons while the game state draws the board and handles the game commands. On the state handler class you can set these methods too, to command the active state to call its respective methods.   Also, if you need to share resources among states, like textures, fonts, etc, you can declare them in the state handler class and share them to the states.
  4.   I'm not using an engine for this one actually. I'm using C++ and SFML for study purposes. I already made a simple top-down shooter with basic data-driven design, which we're using as the base for this RPG now. Though that shooter has a flat top-down view, so the sprites and animations are really simple.   We used Unity for our previous platformer, so we already have experience with that technique. We decided not to use for this RPG because we plan to have the character to be able to face 8-directions, and we thought using sprite sheets would be easier for that. Not sure if other people would think differently.
  5.   Oopsies. My bad. I wrote that example without thinking. 
  6. You can contain objects of those classes in a single vector of the base class of those classes, like std::vector<Move>.
  7. Sorry. I don't quite understand the tree. Do all of the classes inherit from Map? And is there a class Type that inherits from Item? I think what you mean is that class Type has a script as an attribute, Item has a type as an attribute, and that a Map has a group of moving objects, again as an attribute.   The general idea of class inheritance is that classes that inherit from another class have similar functionalities and attributes with the class they inherit from. Class inheritance is an IS-A relationship, like an Enemy is a Character, and a Character is a MovingObject. An attribute is a HAS-A relationship, like an Item has a Type, and a Type has a Script.   Like Alberth suggested, I think you need to start with something simpler first. Make the map first, make sure it renders the tiles well. Then give a player that moves in it. You'll gain more understanding as you go, and you can develop it further once you get the hang of things.
  8. Sorry. I meant I'd need to make a new animation for each items if I add a new weapon type, which will need new base animations.     Alright, I'll use that approach if I end up choosing 2D. I keep forgetting that hardware these days have enormous processing power and always become paranoid when coding stuff.      I will keep that in mind. Seems like this tips will save us the most work.   Thanks for the good reference. I noticed that you can simplify sprite animation more on a side-scrolling view than a top-down view. Actually we often played with the transform when animating stuff in our previous games, which were side-scrolling platformers. I'll try to see the places where we can do the same trick with top-down view.   Starting to lean towards 2D here...    That's a good tutorial. I'll have it a try to get the feelings.
  9.     Thanks for the reply.   Actually we already decided to use that technique since we thought that's how other RPGs do it. That tips helps though. I think we won't make the equipment piece texture as big as the character, but have a determined size for that piece of equipment. I suppose the extra space will be worth it.   And yes, that's exactly the problem I'm worried about. Having to make a new spritesheet for different weapon animation if I add new items, and change all of the already-existing ones if one animation is changed.        When my friend proposed that idea I asked him the same question. We planned to make a western action RPG with the look and feel of a typical top-down view JRPG (our model for art style is Ragnarok Online) and I doubted that 3D models can deliver that feel. That's why we're still hovering on choosing between 2D and 3D now. He does have pretty good 3D modelling skills, so I guess I'll have him have a try on that. Any tips on that would be appreciated though.
  10. Hey, everyone. My friend I and decided that we'll do a 2D RPG for our next project. We've never worked on a project with such a big scope, and we're worried about the amount of sprites we need to draw. Our previous games were platformers that didn't need that many sprites.   For monsters and other stuff we don't mind doing the hardwork, since they only have a determined set of animations and their sprites will basically stay the same, so they won't need a lot updating. It's the player that's problematic. We plan to have the armors split into three pars; helmet, body, and pants. And we also want the player to be able to wield different types of weapons, and each weapon type will have different animation sets. The idea of having to draw all those sprites for each piece of armor and weapon type is overwhelming for us, so we've been brainstorming to find a way to ease our job. The ideas range from using a simple art style, like using the same shape but different textures, to making 3D models and capture each frame to make the spritesheet (my friend has more experience working on 3D), but we haven't come to a conclusion.   We'd like to know if you guys have any tips on creating sprites for this kind of RPG. Any tips will help. We're willing to work hard. We just don't want to brute force it. 
  11. Python is a good language to introduce basic programming logic with. Python goes straight into the general concept of programming with easy syntax and rules that total beginners can easily follow. I know a very good online book about Python. You don't necessarily need college to learn coding. Internet has a lot of tutorials, and there are communities to help you with your problems.   Of course, I recommend you to give C++ another try after getting the hang out of Python because C++ is really important. This is just my personal opinion, but here's what you need to do: Start with a programming language (like Python or C++). Take a look at a multimedia framework like PyGame for Python to see how game mechanics are done. SFML for C++ Try using a game engine like Panda3D. Some people say that you can just go straight to game engine after learning a programming language, but I think learning about game mechanics first is better since you'll know what you want to do when facing a game engine. It'll make it easier to learn the engine too.
  12. Wow. That's a very informative post, Sean. Thanks.       Ah I see. So scripting language is used to provide extension to the core game. I can imagine a lot of things to try. Though I don't think I will use it on my current project, or at least not yet, I will definitely take a deeper look at it.       Yeah. That game I mentioned is famous mostly because of the modding community. When I was designing this game, modding did come to mind, but I asked because I think there might be some data that needs to be hidden from the users. The modding I plan would be limited to making new entities like monsters or items, so JSON would be enough.
  13. Hi, everyone. I'm working on a game project with C++ using SFML for studying purpose. A while ago I read about data-driven design (or is it called data-driven programming?) in this forum, and I think it's a really neat idea, so I gave it a try using jsoncpp. I've got it working, but I'm curious about using Python for the data side. I've also heard that Python is often used alongside other programming languages like C++. I couldn't find any satisfying article about data-driven design, so I hope I can get some advice from this forum.   I've seen it done in a video game series called Mount&Blade, where the modules (mods) are written with Python, but the game itself is made with C++. What are the advantages of using Python files over JSON? And what are the risks? Since Python is a scripting language, I figure it would be more dangerous to use.   Also, if you don't want your data files to be open to the users, how do you pack or encrypt them? Any advice on optimizing data-driven design would be very welcome too. Thanks in advance.
  14. Wow what a dev community and want me to subscribe for this kind of answers... Thanks a lot...     He has a point. Just pick whatever you're most comfortable with and get going. Many people are stuck in a search of a perfect engine for a game they're planning to make. It won't get them anywhere, since there's no such thing as a perfect engine. They usually ended up spending too much time looking for an engine that they lost interest in their project in the wait. You should just pick an engine that's enough for your project and actually make a game.
  15. If you're really new to programming, I suggest you to pick Python first. It's cleaner and doesn't stress newbies with syntax error. Of course, discipline is important, but what I'm trying to say is that it won't stress you as much in the beginning. It's easy to get started with. Learning logic and stuff. It's not as... deep as C++, yes, but it's not like you will need to play with memory and other low level stuff in the beginning.   Also, like others have said, Python is great for both veterans and beginners alike. I happen to know a very good Python tutorial, here.