Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!

Herwin P

Member Since 09 Apr 2013
Offline Last Active Mar 20 2015 12:46 AM

#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.

#5064741 A few painful questions about Databases

Posted by Herwin P on 25 May 2013 - 05:16 AM

because it sounds like possible overkill if you have 100,000 distinct tables.


It will. Trust me. Even in my multiplayer RPG game database design, I just need about 43 tables to cover most of the things like items, skills, magics, users, characters, quests, etc. laugh.png


I think, instead of using a table for each character to contains its items, you can do something like this:

character_table : id, name, other, information, needed
item_table : id, item_name, type, price, weight, other, information, needed


And make a pivot table like this:

character_items : id, character_id, item_id, quantity, slot_number


The character_id and item_id attributes in the pivot table refer to the id of character_table and item_table.


The tuples will be like this:


id, character_id, item_id, quantity, slot_number
01, 142         , 153    , 30      , 1
02, 143         , 153    , 20      , 5
03, 142         , 192    , 14      , 2
04, 142         , 112    , 11      , 3 

See? You don't need one table for each character.


Oh no! I want to delete character 142! Simple. MySQL, just delete any tuple in character_item table where the character_id is 142.


Oh no! I want to delete item 153! Simple. Just do like the previous.


If you need to use the item information for something else, like what items are in a room, you can simply make a pivot table to connect the room table with the item table. This makes your data re-usable, and, magically, reduce redundancy.


You don't need a table with 1000000 columns either. Remember that those attributes can be separated into tables. Just use your imagination.


As for empty data in a row, try to keep it minimum. It just doesn't feel right to me.


Remember to make the id attribute a numerical auto_increment-ed column and set it as primary_key. It will make the search faster. It's very good for consistency.


My Little SQL : Normalization is Magic.

#5064042 i want to make games for people to be happy but don't know how

Posted by Herwin P on 23 May 2013 - 12:54 AM

I honestly don't care about your age. I know a boy who started programming in a very young age and became a web master in his 17, but David is right. Making game is a lot of work, and this 'lot' is really lot of things.


If you want to start making games as soon as possible, I will suggest you to follow Steve's link and get started, or simply download some game makers. I don't recommend that though. It's always a good idea to learn the very basic things first.


If you're not in hurry, go learn programming. Some people say Python is a great language to start with, so I suggest you to go with it. I found that Python is pretty easy myself. Go here for some tutorial.


Learning programming is very useful. It makes you a better analyzer (I don't know why, but this word really tickles me), thinker, and gives you better logic which will help you to make games.


After you learn basic programming, go for some library to make games. PyGame is good.

#5056546 Understanding PyMMO

Posted by Herwin P on 24 April 2013 - 09:37 PM

Well, I have a small question about this. Since this question is too... simple, I don't think making a new thread is a good idea, so here we go.


Like I said, I'm new to network programming (I learn programming from the internet. I even haven't been in college). My question is simple. What kind of information does the client send to the server, and vice versa?


My current opinion is it's something like "the character moves. The character id is x, and it moves to [insert the movement vector here]." Is my assumption correct? My idea is to send a string which is the name of an available function in the server, along with the arguments needed. For example, here the command is move, so it will call move(char_id, vector) with Python exec(). Is it correct? Or is there a better way (I'm sure there is)?


Also, what things I should pay attention at while doing this? Is using exec() bad? Do you have any advice for doing this?


Thank you again. Sorry if this sounds too newbie, but well... I am. laugh.png

#5055980 Understanding PyMMO

Posted by Herwin P on 23 April 2013 - 04:00 AM

Hi everybody. I saw a good source code that is made for MMO development with Python here. I've tried it and it worked. I really am interested in this source code and I want to learn it, but when I opened the script, it was pretty confusing for me. I'm new to network programming, so it's hard for me to understand it.


What I want to know is what does the source code do and how does it work. Can someone please add some comments in the Python scripts explaining parts of it. You can just explain one script or one part if this is bothering you too much, like maybe just the client part, etc. Every help will be appreciated.


Sorry if this sounds so newbie, but I really have no idea. unsure.png


Thank you.