Jump to content

Herwin P

Member Since 09 Apr 2013
Offline Last Active Jan 09 2017 02:54 AM

#5280093 Concept for a rpg game where the character grows based on what you do?

Posted by Herwin P on 07 March 2016 - 07:46 PM

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.

#5264847 How to ease sprite creation for an RPG

Posted by Herwin P on 04 December 2015 - 03:32 AM

I'm not sure what you are using for a game engine here, but I have seen a method in Unity where you draw the basic sprites and then animate them in the editor using bone/rigging techniques similar to 3D animation methods.  I'm not sure if this reduces the work load as I'm pretty new to game dev. in general, but this came to mind and I don't think anyone above mentioned it.


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.

#5264830 C++ Classes, Hierarchy, Friends Chart

Posted by Herwin P on 03 December 2015 - 10:24 PM


I have 3 types of "objs" Player, Enemy, Items

Each contains a vector.


I want one loop to iterate a single vector. How can I relate all 3 in a way I can add to a single vector?

You can contain objects of those classes in a single vector of the base class of those classes, like std::vector<Move>.

#5220608 I am 21 years of age, with absolutely zero knowledge of Coding/Programming. H...

Posted by Herwin P on 01 April 2015 - 12:32 AM

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:

  1. Start with a programming language (like Python or C++).
  2. Take a look at a multimedia framework like PyGame for Python to see how game mechanics are done. SFML for C++
  3. 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.

#5220407 Python for data-driven design?

Posted by Herwin P on 30 March 2015 - 10:15 PM

Wow. That's a very informative post, Sean. Thanks.



You'd use a scripting language when you want extension of behavior and logic and you'd use a data format like JSON when you want to tweak and modify existing behavior and logic via simple data definitions. For instance, do your users need to define whole new AI modules for different enemies, or do they merely need to provide input values like Aggression to a single core unified AI module?


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.



Going out of your way to make it harder for users to mod your game does nothing but make your game less popular. Online games keep all of the critical data and scripts on a server that the user has no ability to mod. For single-player games or the client of multi-player games, though, modding should at least be tolerated if not outright encouraged; a heavy modding community for a game is a sign of popularity and longevity.


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.

#5164229 In need on some guidance.

Posted by Herwin P on 01 July 2014 - 11:13 PM


they are all irrelevant.

Just choose whatever you want and get going.. these are not "issues", they are just excuses to faff around.

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.

#5161681 Question for Experts, especially for Beginners: Motivation, how NOT to lose it?

Posted by Herwin P on 20 June 2014 - 05:27 AM

I'm not an expert, but I've been working on web development projects before. One of them was for the government, and I had always hated government stuff, so it really took none of my interest. Not to mention that I was a new guy and the project documentation sucked. Had to do it because it's my job, so I did it anyway, and that's the point. Actually doing something. When you're messing with lines of code, you will find that solving problems one by one is fun. To actually achieve something is satisfying, and it keeps driving someone forward.


It's similar with other creative works like fiction writing. You're less likely to find inspiration or motivation when you're not facing a piece of paper. In most cases, creativity happens when you're writing. You may think like, "Ah, what if it goes like this, and this, and that," during the process. If you just wait for inspiration to come, it won't come. That's what professional writers do, someone told me. Write even though they're not feeling motivated. Don't wait for it, don't beg for it, but earn it.


So, get that project of yours and force yourself to code something. You will get motivated as you achieve one small thing after another. It's hard to move a giant boulder at first, but things will be easy once you can get it rolling... except for stopping it from crushing your puppy flat into the dirt. ._.

#5161445 Share the most challenging problem you solved recently! What made you fee...

Posted by Herwin P on 19 June 2014 - 04:01 AM

I haven't done much game development stuff, because my job as a web dev and preparation for entering college have been taking most of my time in the past few months. I couldn't find a tutorial about how to render a camera which focuses on the character for my 2D RPG, so I coded it myself with PyGame one free afternoon. I needed to store the entities' world coordinate, and calculate their screen coordinate based on the character's world coordinate. It was fun, drawing the logic on a piece of paper and wrote the code right away. It's nothing big, but I'm kinda proud about it. I still need to learn so many things. biggrin.png

#5151951 What is a good 2D game engine?

Posted by Herwin P on 06 May 2014 - 07:46 PM

Most 2D games don't use engines. Usually they write their own game-specific logic code, because 2D games vary alot more than 3D games do.


Thank you very much. I was just in doubt whether to continue coding my own game without an engine or not, because I thought most 2D games used game engines. biggrin.png

#5147519 game implementation advice

Posted by Herwin P on 16 April 2014 - 08:20 PM

My question: whats the best way to tie the concepts together so the skills can modify an attribute of a weapon and spell. Also how do I represent that a a user has unlocked a skill. Do I create a table that has the user id, skill id, and a field that shows it's been unlocked?


Use relationships and pivot tables. It's easier if you see tables as classes, and columns as attributes in object oriented programming. You can make a table which defines a class of objects and its basic attributes, and these attributes can be a reference to another class of objects (another table). For example, you can define a weapon table, and it has:


id, name, weapon_type, weight, attack_range, damage, price, other_attributes

And an element table:


id, name, other, attributes, goes, here

To assign an element to a weapon, you can make a pivot table which stores the relation between a weapon and its elements. We use a pivot table because a weapon can have more than one elements (ex: fire, wind). Just name this table weapon_elements.


id, weapon_id, element_id

Here, weapon_id is an integer which refers to a weapon's id (weapon.id), and element_id refers to an id of an element from the element table. You can insert some rows which define the relations of a weapon to several elements, like:

id | weapon_id | element_id
1  | 1         | 1
2  | 1         | 3
3  | 2         | 4
Say weapon 1 is a sword with fire and wind element, and weapon 2 is an axe with earth element. You can get a list of weapon 1 elements by making a query to this table with only the weapon's id, or you can try to find out if weapon 2 has a fire element or not. It can be applied on the case where you want to see if a skill is unlocked already on a character, or in other word, if a character already has that particular skill. If it returns no result, then the character simply hasn't got that skill yet. It's much better than making the weapon table like:
id, name, type, weight, attack_range, damage, price, element_one, element_two, element_three, element...

If it's just a one-to-one relationship, where an attribute refers to only an object of another class, you don't need a pivot table. For example, a weapon only has one type. A weapon can't be a sword and a bow at the same time, can it? That's why type in in the weapon table refers to a weapon_type table which defines the types of weapons available in the game.


id, name, other, attributes, that, defines, a_type, of_weapons

Be creative with the rest.


P.S. I hate formatting.

#5147115 I need some serious help from you guys! (Bring spatulas)

Posted by Herwin P on 15 April 2014 - 08:28 AM

Well my idea of the work i was going to do, was that I'd be doing most of the gamedesign, however, i figured I would need some type of prototype to show people what i was even talking about before I could get someone competent to work on my game.. Therefore, i would need to learn some programming as well. It would be nice to learn it anyway just for the sake of knowing how things work. 


And To Herwin: I didn't mean to be rude or anything, but I've been closely following the gaming industry for almost 10 years, and I do mean closely!  I know, what a programmer is and what he does, and I know what a Designer does. I just didn't seem like he even read my thread.. I'm not looking to get hired, and I'm not interested in making Tech demoes.. I want to make this game, and this game will be the showcase of all the things I'm about to learn. I don't have any illusions of game-developing being easy. I know it's damn hard, and I also know how it works. I just thought i made it clear from my post, that I wanted to do an indie game with me and another person who would join development at a later point.. And I don't want to mod ;(


You need a good design document to make people interested too. Sometimes you will find difficulties in showing people a prototype (you might meet some bugs while showing them, etc), and it also takes time to make one. A well-written design document can give enough information to make people interested to join your team, and it acts as a looking-point while you're working on your game.


The design focus is written in the design document, as well as the sub focuses and other stuff like what engine you're going to use, what kind of art, music, why, how, etc. Even when you're working on your prototype, a design document can be helpful too, so make that first. You might find some potential problems or benefits you haven't seen before while writing it.


A good game designer should understand every components of a game. He needs to understand visual art, music, story telling, programming, and project management, but there's no need to be an expert on those. You don't have to be a maestro who can play 18 instruments. You just need to know what kind of music can make a boss fight feel daring.


For now, just learn a programming language and Object Oriented Programming. You will find a lot more to learn as you go.


Edit: A design focus is the idea that makes the game interesting. For example, Dark Souls' design focus could be its difficulties, because some hardcore gamers love challenge. Other stuff like gameplay, art theme, and story are chosen to achieve the focus. In Dark Souls' case, the difficulties is served in a real-time action RPG (the gameplay) and resolves around a main character who's a weak undead (story line). The game is wrapped in a dark atmosphere (visual) to support the difficult nature of the game. All of these stuff is written in the design document.

#5147105 I need some serious help from you guys! (Bring spatulas)

Posted by Herwin P on 15 April 2014 - 07:58 AM

Eh, I don't think starting with making a 3D game is a good idea. I mean, here you said you're just starting. Listen to any advice people give you. It's a useful attitude when you're learning. Ashaman's post is right, you know. If you want to know what you need to learn, here you go.


First of all, you will want to learn a programming language. For the love of all mothers, just pick one and actually get started. Don't get too busy picking the 'right' language. I'd recommend Python, though, because it's less likely to stress you with syntax errors and stuff. Well, whatever language you pick, you will end up learning about Object Oriented Programming. Make sure you understand that before going further because it will give you an abstract idea of how things work.


Well, there's so much after that, really. It will make a very long post to explain what you need to learn to become a game developer, because it really is a lot. My advice is to learn a programming language and try to make a simple game like Pong to give yourself a taste.

#5113988 Need more than 1 value to unpack?

Posted by Herwin P on 03 December 2013 - 04:24 AM

Wow i can do that now.It is really clear thank you for helping me smile.png  and sorry because i really hard to understand that biggrin.png


My pleasure.


Don't worry about it. Everyone starts somewhere. Fully understanding these little things in the beginning can save a whole lot of pain down the road. There are actually people who don't care about how exactly their program runs as long as it's working, and when things go wild, they can't find the source of the problem, so whenever you feel unsure about how a piece of code works, track it down until it's clear. You can always ask, of course. That's what this community is for.


Study hard!

#5113920 Need more than 1 value to unpack?

Posted by Herwin P on 02 December 2013 - 07:54 PM


I still don't get it when i tried that it give me an error say invalid syntax.Here my script:



from sys import argv

$ python ex13.py first 2nd 3rd

script, first, second, third = argv

print "This script called.:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", third


Thank you for answering my question



No. It's not like that. What Renega means with this:


If you execute this:
$ python ex13.py first 2nd 3rd
You should see this:


is not for the script. It's a Linux terminal command.




While talking about terminal command on the Internet, people tend to use the $ to indicate that "This is run in the terminal," so what Renega is saying is that you run:

python ex13.py first 2nd 3rd

on the Command Prompt (I guess you're running on Windows).


There's nothing wrong with your original script. What caused the problem is that you didn't give enough arguments for the script to unpack (explained in my first post). Let me explain it with more detail. argv is a list, so when you're unpacking it like this:

script, first, second, third = argv

It's basically just like this:

script, first, second, third = 'ex13.py', '1st', '2nd', '3rd'

Because argv is actually like this:

['ex13.py', '1st', '2nd', '3rd']

And it gets those items from those arguments you pass when you call the script on the Command Prompt:

python ex13.py 1st 2nd 3rd

Try to print argv and you will get what I mean. Is it clear now? :)

#5113478 Need more than 1 value to unpack?

Posted by Herwin P on 01 December 2013 - 07:47 AM

Can you tell me how you call the script? The script takes three extra argumens (first, second, third). From what I get, you're supposed to call it like this:

python myscript.py somethingforfirst somethingforsecond somethingforthird

Those are called arguments. Those arguments are first taken and packed into argv. In this line:

script, first, second, third = argv

You're unpacking stuff inside argv into separate variables. How do I explain it? Just say argv is a list (array, whatever). The content of argv is like:

['myscript.py', 'somethingforfirst', 'somethingforsecond', 'somethingforthird']

When you unpack it, those items in the array go to the variables in order, so 'myscipt.py' goes to script, 'somethingforfirst' goes to first, and the rest goes like that.


The error you see is caused because you try to take more than argv actually has. You're likely to only pass one argument ('myscript.py'), while you try to unpack argv into four variables. Python simply tells you that she needs more items to unpack.


Try to make a simple list of five items, and try to unpack it into six variables. You will get the same error message.