Jump to content


numbers

Member Since 02 Jun 2007
Offline Last Active Aug 30 2012 02:11 AM

Topics I've Started

RPG Style preferences

12 August 2011 - 04:32 AM

I probably should have figured this out before I programmed a system, but oh well. Basically, in a (2D) RPG, there are basically 4 ways of viewing the playing field.
1. Platformer (side view)
2. Parallel (similar to isometric. think FF6)
3. Isometric
4. Top-Down

there are also multiple battle systems. I'm not going to get into the intricacies of this (though posts doing so would still be appreciated), I'm just splitting these into two types for now:
1. Action
2. Turn-Based

The issue that I have is that, for my game, I picked platforming and turn-based. The issue is that, with a platforming layout, it can be pretty tricky to dodge enemies, and having these cut away turn-based battle systems makes having to run into every enemy get very annoying very quickly. To get around this I figured I'd make it so you don't automatically fight an enemy on contact, they have to attack you or you have to attack them. with proper timing, you could get past them. I'm wondering if this is an effective solution, or if it still has the same fundamental problem. It looks like putting even a few enemies in the same area would make the odds of going through without fighting one very low. I figured I should get opinions from people who have played more RPGs than me before I surge ahead. What view and battle style do you like best? which do you think would work well together and why?

Styles of Robot Names

11 August 2011 - 06:15 PM

I don't have a fleshed out plotline at the moment, but I do know that I don't want these robots to be called something along the lines of |A1-30G4 THE DEATH-O-TRON". The characters are more like the idea behind WALL-E: the characters might be robots, but they have very human interactions and personalities. The issue comes with naming them. I don't want those alphanumeric serial code style names, since that doesn't fit with the mood of the world I'm trying to create. So my question is: Would human names seem out of place for robots, or can they fit in this scenario? Is there a third option that you would rather see or think is more appropriate? I've been considering descriptive names as are found in some games (e.g, Flurrie, Ms. Mowz and Mallow from various Paper Mario RPGs), but I probably can't come up with enough of these to use ubiquitously for everyone you run across. thoughts?

some specific characters, if the idea still isn't clear:

1. a craftsman of sorts whose body somewhat resembles a vacuum cleaner hose (not relevant to his abilities)
2. a village of TV people. All somewhat short with giant flatscreens for heads.
3. one shaped like a fan: spindly, with the fan on his head (i.e, to function as a fan he'd have to bend his neck forward and turn his head that way).

any input is greatly appreciated.

Implementing moves in an RPG

19 July 2011 - 02:45 AM

So I'm making an turn based RPG, and I'm partway through implementing the battle system. I want a concise way to have several moves have several different effects. Some might raise/lower stats, others do damage, and some may be as extreme as undoing the previous turn (limiting use on that one obviously) or something like Transform from the Pokemon series (i.e, you turn into a copy of your enemy). Given the large variety of possibilities present here, and my inability to find some common simplifying link between the effects I want, I'm implementing them by giving each move its own timeline, which should let me mix possibly complex animation with a large variety of effects in one resource. Is there a more efficient way of doing this? Or is this the best I can really do given the circumstances? I figure Pokemon and other RPGs are coded a lot more concisely(?) than that, so I was wondering what other input I could get as to what your preferred methods are.

EDIT: timelines are looking pretty awesome, though other suggestions are still welcome. What I'm interested in now is a concise way to store conditions on which a move can work, without using execute_string. Basically, if a move can only work on a ground-based enemy, or one without spikes, or a healing spell will only work if you don't already have max HP. What I've got going now is:
Select a move from the attack menu. this is a list of things such as the move's name, attack/heal amount, and timeline. This is assigned to the action variable of the battle object. The battle object then switches into "target" mode, where I get to select an enemy/player (or just whether or not to do the attack, if it affects everyone), then executing the move's timeline. I'd have to get a list of valid targets before the timeline stage. Should I rework the system so that the condition can be put in the timeline? or just give in and use execute_string()?

rectangle drawing functions

03 April 2011 - 02:35 AM

So I'm trying to generate some fractal noise (I've since learned that this isn't perlin noise, so excuse my surface names). I'm drawing rectangles at decreasing scales and overlaying them through the use of surfaces, generating their values through a noise function I wrote. I draw my current layer on srf_layer and copy that with an alpha of .5 to srf_perlin. I then draw srf_perlin to the screen once I'm finished. If I don't blend between values within a layer at all, I get noise on the screen, but it's obviously nowhere near smooth and has weird X-shaped artifacts. So I figured (even though I know cosine or cubic interpolation would be better) that I would use draw_rectangle_color() to blend between values. However, I only got a single gray rectangle. What I find confusing is this.
for(p=1;p<maxp;p+=1)
{
    surface_set_target(srf_layer);
    size=power(2,maxp)/power(2,p);
    for(i=0;i<power(2,p);i+=1)
    {
        for(j=0;j<power(2,p);j+=1) 
        {
            c1=draw_set_color(make_color_hsv(0,0,noise(size*i,size*j)*255));
            c2=draw_set_color(make_color_hsv(0,0,noise(size*(i+1),size*j)*255));
            c3=draw_set_color(make_color_hsv(0,0,noise(size*i,size*(j+1))*255));
            c4=draw_set_color(make_color_hsv(0,0,noise(size*(i+1),size*(j+1))*255));
            draw_rectangle_color(size*i,size*j,size*(i+1),size*(j+1),c1,c1,c1,c1,false);
        }
    }
    surface_set_target(srf_perlin);
    draw_surface_ext(srf_layer,0,0,1,1,0,c_white,.5);
}
surface_reset_target();
My code. p=layer, i=x position and j=y position. This gives me a blank rectangle. If I change
c1=draw_set_color(make_color_hsv(0,0,noise(size*i,size*j)*255));
to
draw_set_color(make_color_hsv(0,0,noise(size*i,size*j)*255));

and use the normal draw_rectangle() function, I get the noise. Shouldn't these two be equivalent? What's going on here?

Tree Structures in GM

15 March 2011 - 12:37 AM

I don't just mean binary trees (though if that restriction gives a neat solution I'd love to hear it), but trees in general. In a language outside of GML I'd typically either use pointers to node structures/classes, or an associative array, where each key is a node and its associated value is an indexed array of all the nodes that it links to farther down in the tree. (I assume this is a messy way of doing it).

How would you implement something like this in GML? Let's say that we need a skill tree for an RPG or something. I was thinking of making a node object and tree object and making it work similarly to the associative array concept, but I was hoping GML had something better to offer.