• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

GAF Indie Game Development Thread 2: High Res Work for Low Res Pay

Status
Not open for further replies.

planckpixels

Neo Member
This is what I did on the Stream.

JollyEnergeticDikkops.gif


This one I feel isn't quite done, but I got tired of fiddling with it and I suspect the viewers as well. I'll probably return to it for a bit more cleanup later.

This next one will be supplemented by some particle FX.

VengefulDimDalmatian.gif


It doesn't stay dead unless you kill it with a certain property.



NP! Thanks for hangin'

Nice anim! Love that transform ~
 
Did some more stuff this past week or so for my Shining Force-like.

- Scene transitions (though the only one I've made so far is just a simple fade out/in)
- Saving/loading (albeit without an interface yet)
- New animation system for attacks/spells which should make it easier to produce neat stuff
- Can attach a Rumbler object to entities to shake individual entities rather than just the entire screen
- Splash/AoE targeting--including rotation so that the splash area reflects entity facing. This means shotgun style AoE, spears that pierce an extra tile, axes that swing wide, etc.
- Skills can be tagged to inherit targeting rules from weapons so something like Stun Strike is a ranged skill if using a bow
- Can now interact with NPCs who are beyond a table or countertop, including appropriate pathfinding
- Some other things I'm forgetting

Still really rough with temporary GUI elements (and many elements not started at all). Poorly recorded and encoded video of where I'm at with the combat scene is below.

https://dl.dropboxusercontent.com/u/87770923/output3.webm

Also, I finally added portraits to chatboxes after much procrastination. Image serves as a reminder that I still haven't written better paginating for chatboxes, such that things don't get page-breaked mid-sentence.

8RK8iOV.png
 
I can't believe what I just found.

Remember that game, "Candle" by Teku Studios, that got funded on Kickstarter a while ago?

por-que-deberias-apoyar-candle-de-teku-studios_gw81.jpg


Well, this is "Candle" by "Teco" Studios:

hWZx2gX.png


http://tecostudios.com/

Is this a coincidence?

One is a game from a successful kickstater with a bunch of known problems and still in devlopment done by team from Spain.

The other seems to be a gamejam game done by a south american team.

WTF.
 

Ito

Member
This is what I did on the Stream.

JollyEnergeticDikkops.gif


This one I feel isn't quite done, but I got tired of fiddling with it and I suspect the viewers as well. I'll probably return to it for a bit more cleanup later.

This next one will be supplemented by some particle FX.

VengefulDimDalmatian.gif


It doesn't stay dead unless you kill it with a certain property.



NP! Thanks for hangin'

Oh, I didn't get to see that last animation. Pretty cool how he comes back to life from that rock status.

Looking forward to the next streaming then!

One is a game from a successful kickstater with a bunch of known problems and still in devlopment done by team from Spain.

The other seems to be a gamejam game done by a south american team.

WTF.

I didn't know they were having issues. What happened to the game?

The second "Candle", well, I don't think it's a mere coincidence, but whatev.
 

missile

Member
Some more transitions.

trans-func.gif


The starting point of the melt is now varied via a function. I used some
simple ones like sine, x%1, x³, and random.
 
This is what I did on the Stream.

JollyEnergeticDikkops.gif


This one I feel isn't quite done, but I got tired of fiddling with it and I suspect the viewers as well. I'll probably return to it for a bit more cleanup later.

This next one will be supplemented by some particle FX.

VengefulDimDalmatian.gif


It doesn't stay dead unless you kill it with a certain property.



NP! Thanks for hangin'
Was there for this except the last bit. I need to being my kitchen to my game room so I can do things and other things at the same time.

Some more transitions.

trans-func.gif


The starting point of the melt is now varied via a function. I used some
simple ones like sine, x%1, x³, and random.
The creator's work, for a better erf. I do like the randomness and if looks better every time.
 

The Real Abed

Perma-Junior
Did some more stuff this past week or so for my Shining Force-like.

- Scene transitions (though the only one I've made so far is just a simple fade out/in)
- Saving/loading (albeit without an interface yet)
- New animation system for attacks/spells which should make it easier to produce neat stuff
- Can attach a Rumbler object to entities to shake individual entities rather than just the entire screen
- Splash/AoE targeting--including rotation so that the splash area reflects entity facing. This means shotgun style AoE, spears that pierce an extra tile, axes that swing wide, etc.
- Skills can be tagged to inherit targeting rules from weapons so something like Stun Strike is a ranged skill if using a bow
- Can now interact with NPCs who are beyond a table or countertop, including appropriate pathfinding
- Some other things I'm forgetting

Still really rough with temporary GUI elements (and many elements not started at all). Poorly recorded and encoded video of where I'm at with the combat scene is below.

https://dl.dropboxusercontent.com/u/87770923/output3.webm

Also, I finally added portraits to chatboxes after much procrastination. Image serves as a reminder that I still haven't written better paginating for chatboxes, such that things don't get page-breaked mid-sentence.

8RK8iOV.png
I absolutely love everything about this. The art style. The animation. The battle mechanic. I don't think I've seen this kind of battle style before. (Guess I don't hang around many RPGs.)
 
Did some more stuff this past week or so for my Shining Force-like.

- Scene transitions (though the only one I've made so far is just a simple fade out/in)
- Saving/loading (albeit without an interface yet)
- New animation system for attacks/spells which should make it easier to produce neat stuff
- Can attach a Rumbler object to entities to shake individual entities rather than just the entire screen
- Splash/AoE targeting--including rotation so that the splash area reflects entity facing. This means shotgun style AoE, spears that pierce an extra tile, axes that swing wide, etc.
- Skills can be tagged to inherit targeting rules from weapons so something like Stun Strike is a ranged skill if using a bow
- Can now interact with NPCs who are beyond a table or countertop, including appropriate pathfinding
- Some other things I'm forgetting

Still really rough with temporary GUI elements (and many elements not started at all). Poorly recorded and encoded video of where I'm at with the combat scene is below.

https://dl.dropboxusercontent.com/u/87770923/output3.webm

Also, I finally added portraits to chatboxes after much procrastination. Image serves as a reminder that I still haven't written better paginating for chatboxes, such that things don't get page-breaked mid-sentence.

8RK8iOV.png

Looking good. :)
 
Thx guys! Hope I can bring this stuff to Unity some day!


You mean the rate at which the coloums do fall is constant?

Yeah..

Constant rate of motion = linear interpolation (e.g. pos = startpos + scalar * (endpos - startpos))

Whereas a non-linear rate of motion - more specifically 'cubic hermite' interpolation aka 'smoothstep' would better suit:

Code:
float smoothstep(float edge0, float edge1, float x)
{
    // Scale, bias and saturate x to 0..1 range
    x = clamp((x - edge0)/(edge1 - edge0), 0.0, 1.0); 
    // Evaluate polynomial
    return x*x*(3 - 2*x);
}

pos = startpos + smoothstep(0.0, 1.0, scalar) * (endpos - startpos)

Basically creates more of a swing in acceleration from the start and deceleration towards the final resting state, but as a deterministic function.

If you're animating this in the shader then check the docs as they probably already have a smoothstep intrinsic function supported for use here.
 
Gonna go Mumble. And/or watch jobbs. Or both.

Yeah..

Constant rate of motion = linear interpolation (e.g. pos = startpos + scalar * (endpos - startpos))

Whereas a non-linear rate of motion - more specifically 'cubic hermite' interpolation aka 'smoothstep' would better suit:

Code:
float smoothstep(float edge0, float edge1, float x)
{
    // Scale, bias and saturate x to 0..1 range
    x = clamp((x - edge0)/(edge1 - edge0), 0.0, 1.0); 
    // Evaluate polynomial
    return x*x*(3 - 2*x);
}

pos = startpos + smoothstep(0.0, 1.0, scalar) * (endpos - startpos)

Basically creates more of a swing in acceleration from the start and deceleration towards the final resting state, but as a deterministic function.

If you're animating this in the shader then check the docs as they probably already have a smoothstep intrinsic function supported for use here.
Mathf.SmoothStep/Damp

Docs are OK with this mono. Easy to implement. I use it damn near all the time when wanting accel/decel curves during interpolation.
 

Jobbs

Banned
Was there for this except the last bit. I need to being my kitchen to my game room so I can do things and other things at the same time.

It's cool. There's no expectation that anyone come or stay. Having the stream up just helps me stay on target and not waste as much time fucking around. I'll probably be streaming again in an hour or two. We'll do the baby hopper and then move on to a biped. I have those and a few other things I need to finish by mid next week.

That gif of the monster coming back to life is just amazing.

Oh, I didn't get to see that last animation. Pretty cool how he comes back to life from that rock status.

Nice anim! Love that transform ~

Thanks guys :)
 

zeioIIDX

Member
Setting up the underlying systems can be kind of daunting, but they aren't that hard to use and maintain once you get going. I'm thinking about doing a tutorial for the hitboxes we're using in Nethermind. It's been crucial to easy enemy and obstacle programming.

That would be awesome, looking forward to it!
 
an approach to hitboxes

Apologies for the really long post. I'm going to bookmark this in case I want to reference it in the future.

First, some definitions are in order. It's tempting to just call everything a hitbox, because a box that hits or takes hits could be called a hitbox technically. So these are the definitions I'll be using to keep things separate:

hitbox - a rectangular region that hits other things, typically hurtboxes, blockboxes and level geometry
hurtbox - a rectangular region that gets hit by other things and takes damage
blockbox - a rectangular region that blocks other things without taking damage (i.e.: a shield)

I'm going to walk through creating the code for these. For my purposes, I'll be using GameMaker:Studio, but I'll try to explain the process in a general enough way that the methods can be used in other suites.

To start, I'm going to set up a controller object. This will handle debug draw as well track time and similar phenomena. It doesn't need a sprite, but I'm going to set its draw depth to a large negative value so it will be closer to the camera than anything else in the room. For simplicity's sake, I'm going to call the controller object "k". This is so that references to the controller's variables will be short to type. Most any letter of the alphabet will do, but I've arrived at k over the years.

Code:
/// k Creation code
time = 0;
debug = true;

/// k Begin Step code
time++;

Next, I'm going to create a new object for each the hitbox, hurtbox and blockbox types. I'm going to give the sprite mask a square sprite -- it doesn't matter the size, just as long as you remember it. Mine is 32x32. I'm also going to uncheck Visible on each one. Hitboxes shouldn't be visible except in debug mode, which I'll cover in just a bit.

Hurtboxes and blockboxes are going to be passive agents, with actions happening to them, so they'll be easier to implement than the hitboxes. I'm going to start with the blockbox. The function below sets up a blockbox and its spatial coordinates as well as linking it to the parent object and its relative position.

Code:
/// doBlockbox(x1, y1, x2, y2)
with (instance_create(argument0, argument1, blockbox)) {
  daddy = other.id;
  image_xscale = (argument2-argument0)/32;
  image_yscale = (argument3-argument1)/32;
  xOffset = x-daddy.x;
  yOffset = y-daddy.y;
  return self.id;
}

The xOffset and yOffset variables need to be handled manually, so we'll make another script to handle that. This function should be called after the movement is applied in the parent object to keep the two in sync.

Code:
/// updateBox(box id)
with (argument0) {
  x = daddy.x+xOffset;
  y = daddy.y+yOffset;
}

Finally, for a little bit of garbage collecting, the blockbox should be cleared if its parent is destroyed. The parent might have already cleared it, so this is just a safety measure.

Code:
/// blockbox Step code
if (!instance_exists(daddy)) {
  instance_destroy();
}

Next I'm going to make a hurtbox. It's passive like the blockbox, but should also have times where it's inert to further damage so it's not being penalized a multiple of times in subsequent frames. So first we're going to make a script for creating hurtboxes:

Code:
/// doHurtbox(x1, y1, x2, y2)
with (instance_create(argument0, argument1, hurtbox)) {
  daddy = other.id;
  image_xscale = (argument2-argument0)/32;
  image_yscale = (argument3-argument1)/32;
  xOffset = x-daddy.x;
  yOffset = y-daddy.y;
  return self.id;
}

It's identical to the blockbox one. However, the create and step codes have a few extra lines:

Code:
/// hurtbox Create code
active = true;
resetTime = 0;

/// hurtbox Step code
if (!active && resetTime <= k.time) {
  active = true;
}
if (!instance_exists(daddy)) {
  instance_destroy();
}

That's that for the hurtbox and blockbox, so now I'm going to make a function to spawn a new hitbox. In addition to setting up the spatial coordinates and parentage, this function adds duration and damage properties. I might cover other features like directions and special types later, but I wanted to keep this relatively simple.

Code:
/// doHitbox(x1, y1, x2, y2, duration, damage)
with (instance_create(argument0, argument1, hitbox)) {
  daddy = other.id;
  sugardaddy = noone;
  image_xscale = (argument2-argument0)/32;
  image_yscale = (argument3-argument1)/32;
  if (argument4 > 0) {
    dieTime = k.time+argument4;
  } else {
    dieTime = 0;
  }
  xOffset = x-daddy.x;
  yOffset = y-daddy.y;
  damage = argument5;
  return self.id;
}

The hitbox object's create code is very simple. It's just setting up some flags for in case the hitbox gets temporarily interrupted by a blockbox.

Code:
/// hitbox Create code
blocked = false;
resetTime = 0;

The step code for the hitbox is very complicated, so I'm going to walk through it slowly. First, rather simply, we want to clear the blocked flag if its time is up. We also want to purge the hitbox if it's no longer needed. You don't want stray hitboxes lying around and possibly damaging things unnecessarily. So start the hitbox step code with this:

Code:
/// hitbox Step code
if (blocked && resetTime <= k.time) {
  blocked = false;
}
if ((dieTime != 0 && dieTime <= k.time) || !instance_exists(daddy)) {
  instance_destroy();
  exit;
}

Next, I want to add some local variables to the code. The scope of these temporary variables is only this code block, and everywhere in this code block, which makes them useful for holding onto temporary information that's not useful elsewhere and for passing values between nested instances. Although GameMaker doesn't require it, it's good practice to declare your temporary variables at the top of the code block.

Code:
/// hitbox Step code
var l, r, dmg, _x, _y;
l = bbox_left;
r = bbox_right;
dmg = damage;

if (blocked && resetTime <= k.time) {
  blocked = false;
}
if ((dieTime != 0 && dieTime <= k.time) || !instance_exists(daddy)) {
  instance_destroy();
  exit;
}

The bbox_ variables (top, left, right, bottom) are dynamically updated when you change the x, y, image_xscale, image_yscale and image_angle variables of an object. They map to the smallest axis-aligned bounding box coordinates that can wrap your object. So they're very useful for collision checks.

The first thing I'm going to do is check for collisions against level geometry. You don't have to do this if you don't want attacks to collide with the level, but I think it adds to the sense of place. I've put all my collide-able objects under a parent object simply called "c". If you haven't already noticed, I really like short names on things. We're going to add the following snippet to the hitbox step code:

Code:
// hitbox Step code continued
with (c) {
  if (collision_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, other.id, false, false)) {
    _x = mean(l, r);
    if (other.bbox_left >= bbox_left) {
      l = max(other.bbox_left, bbox_right+1);
      _x = l;
    } else if (other.bbox_right <= bbox_right) {
      r = min(other.bbox_right, bbox_left-1);
      _x = r;
    }
    _y = mean(other.bbox_top, other.bbox_bottom);
    with (other.daddy) {
      hitX = _x;
      hitY = _y;
      event_user(3);
    }
    if (l != other.bbox_left || r != other.bbox_right) {
      with (other) {
        x = l;
        image_xscale = (r-l)/32;
      }
      if (l >= r) {
        with (other) {
          instance_destroy();
        }
      }
    } else {
      with (other) {
        instance_destroy();
      }
    }
  }
}

Most of what that code does is shrink the hitbox so that it's no longer inside of a wall. The other thing it does is fire a call-back user event in the parent of the hitbox. Suppose the parent is a swordfighter swinging her sword, this call-back event tells the swordfighter that her sword has struck something solid and she may, if she's so programmed, recoil from the event.

For all objects using hitboxes and hurtboxes, I've reserved user events 1 through 4. In order, these events are for (1) hurtbox damaged, (2) blockbox struck, (3) hitbox interrupted, and (4) hitbox hit some hurtbox. Not every object needs to have a user event for each of these. For example, objects without shields will never get user event #2 called off, and objects that don't attack won't have #3 or #4 called off, or maybe an object with a hitbox is better if it doesn't recoil at all.

After getting out of the way of the walls, hitboxes should check to see if they are blocked by shields. For that, let's add the following snippet to the hitbox step code:

Code:
// hitbox Step code continued
if (!blocked) {
  with (blockbox) {
    if (daddy != other.daddy && collision_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, other.id, false, false)) {
      other.blocked = true;
      other.resetTime = k.time+10;
      _x = mean(bbox_left, bbox_right, other.bbox_left, other.bbox_right);
      _y = mean(bbox_top, bbox_bottom, other.bbox_top, other.bbox_bottom);
      with (daddy) {
        hitX = _x;
        hitY = _y;
        event_user(2);
      }
      with (other.daddy) {
        hitX = _x;
        hitY = _y;
        event_user(3);
      }
    }
  }
}

Finally, if it's not yet blocked, we need to check if the hitbox is hitting any hurtboxes. This next snippet assumes that any parent object with a hurtbox will have a health variable called hp. If you don't have that, or have it called something else, that's what you need to change. This is the last part of the hitbox step code, the part that actually deals damage.

Code:
// hitbox Step code continued
if (!blocked) {
  with (hurtbox) {
    if (active && daddy != other.daddy && daddy != other.sugardaddy && collision_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, other.id, false, false)) {
      active = false;
      resetTime = max(k.time+10, other.dieTime);
      _x = mean(bbox_left, bbox_right, other.bbox_left, other.bbox_right);
      _y = mean(bbox_top, bbox_bottom, other.bbox_top, other.bbox_bottom);
      with (other) {
        with (daddy) {
          hitX = _x;
          hitY = _y;
          event_user(4);
        }
      }
      with (daddy) {
        if (dmg == 0) {
          hp = 0;
        } else {
          hp -= dmg;
        }
        hitX = _x;
        hitY = _y;
        event_user(1);
      }
    }
  }
}

Let's go back to the controller object. I've set the debug flag to start at true, and you can make it toggle however you like. Probably this mode shouldn't be exposed in the final game, but it's invaluable while working on the project. In the following code, I'm going to have the hitboxes drawn as a translucent rectangle outlined by an opaque border to clearly demarcate the given zone but still expose underlying graphics.

Code:
/// k Draw code
if (debug) {
  draw_set_color($FF5F00);
  with (blockbox) {
    draw_set_alpha(0.2);
    draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, false);
    draw_set_alpha(1);
    draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, true);
  }
  draw_set_color($00FF3F);
  with (hurtbox) {
    draw_set_alpha(0.2);
    draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, false);
    draw_set_alpha(1);
    draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, true);
  }
  draw_set_color($FF007F);
  with (hitbox) {
    draw_set_alpha(0.2);
    draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, false);
    draw_set_alpha(1);
    draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, true);
  }
}

And that should be all! As a review, to spawn a hitbox or other you need to call doHitbox(). To keep the box in sync with the parent after movement, call updateBox(). To react to events, set up actions in user events 1 – 4.

Here's an example project file with the code implemented: Google Drive link

WUw1RMY.gif
 
Awesome post, lilith! Very helpful.

Did some more stuff this past week or so for my Shining Force-like.

- Scene transitions (though the only one I've made so far is just a simple fade out/in)
- Saving/loading (albeit without an interface yet)
- New animation system for attacks/spells which should make it easier to produce neat stuff
- Can attach a Rumbler object to entities to shake individual entities rather than just the entire screen
- Splash/AoE targeting--including rotation so that the splash area reflects entity facing. This means shotgun style AoE, spears that pierce an extra tile, axes that swing wide, etc.
- Skills can be tagged to inherit targeting rules from weapons so something like Stun Strike is a ranged skill if using a bow
- Can now interact with NPCs who are beyond a table or countertop, including appropriate pathfinding
- Some other things I'm forgetting

Still really rough with temporary GUI elements (and many elements not started at all). Poorly recorded and encoded video of where I'm at with the combat scene is below.

https://dl.dropboxusercontent.com/u/87770923/output3.webm

Also, I finally added portraits to chatboxes after much procrastination. Image serves as a reminder that I still haven't written better paginating for chatboxes, such that things don't get page-breaked mid-sentence.

8RK8iOV.png

Man, this looks charming as fuck.
 
My art stream is up. Will be animating the baby creature and then moving on to a bipedal. http://www.twitch.tv/ttpete



You son of a bitch
Hey yo. I streamed some Titan work today. Added like 2 things to him that took almost two hours of fixing to get right. Because never code and talk to people and read other shit at the same time. Would have been like 15 minutes otherwise.

Thanks for not being there.

Spinach out!
 
I had this idea in mind for some months, about a 2D platformer action game.

I'm not an artist (but my sister and cousing are) and not a programer, just a bachellor in Communications(especialized in Audiovisuals) with a lot of experience in the videogame press.

After reading all the OP there are some nice options for 2D game making but which one is the easier to use for a first timer? And if I find some limitations, can it be ported to a more advanced game engine/editor? (like stencyl to gamemaker)

Also, are there somo tools to make pixel art sprites that can help my cousin/sister instead of drawing by hand and frame per frame?
 
I absolutely love everything about this. The art style. The animation. The battle mechanic. I don't think I've seen this kind of battle style before. (Guess I don't hang around many RPGs.)

Looking good. :)

Man, this looks charming as fuck.

Thanks. The portrait in the image is from a previous, more 8-bit oriented project so it doesn't really match--I just needed something to test with. I haven't actually made any portraits yet because this project doesn't have any characters to draw portraits for. As of right now it's just an excuse to program and make a few graphics, and I'll figure out where it goes from there. Hell, even the map is based on the first town in Dragon Quest 1.

The engine is pretty far along though, as can be seen. I have a few more core features to add, such as more combatant AI options (right now they only have one setting: wait until something is in range, then attack that thing), cutscene scripting, and probably other things I just haven't thought of. But after those are done, I'll probably do some GUI work. I think for combat I'll just use the standard action bar, where skills/actions are assigned to a slot. Right now everything except the menus support gamepad/keyboard controls, so I'll have to take some time and figure out menu layouts that work well for both that and mouse-input.
 
Just spent the last few hours learning how to generate materials and publish them to UE4 with Substance Designer. By setting up the materials in Designer correctly, you can get a lot of variety. Here is my first go at it:

Pipe Valve Material from within UE4
uZzb.jpg


Only problem is that the procedural aspects of the material (paint chips, dirt, etc) seem to be tied to the normal, AO, and curvature maps used when published within Designer. If I attempt to change them inside of UE4, it breaks the procedural generation (it still works, but the generation effects do not follow the mesh curvature or AO). I would like to be able to use the materials for any object by swapping out the normal and AO maps, but cannot seem to get it to work. Are there any Substance Designer users in here?
 

Jobbs

Banned
Here's some of what I worked on on stream earlier.

ImpeccableHeartyGrackle.gif


ValidSpotlessIndusriverdolphin.gif


Next time I stream I'll probably be working on something a bit different -- Sketching out a boss humanoid and figuring out her poses.
 

ant_

not characteristic of ants at all
Unity's tutorials are pretty awesome. I'm working through them and am learning a lot. Itching to start my own project, but going to take it slow and iterate on these once complete to learn some nuance.
 

Jintor

Member
theorycrafting my state system, can anyone think of fighters or metroidvanias where crouch actually has movement associated with it? The only fighter off the top of my head that has movement in a 'low' state is Smash, though Metroidvanias have a larger selection (morph ball, slide-kicks in various Castlevanias and associated derivatives...) I can't remember if anything actually has crawling.

I'm wondering if anything is lost by ommitting it. Maybe I'll implement it and see...
 

ant_

not characteristic of ants at all
theorycrafting my state system, can anyone think of fighters or metroidvanias where crouch actually has movement associated with it? The only fighter off the top of my head that has movement in a 'low' state is Smash, though Metroidvanias have a larger selection (morph ball, slide-kicks in various Castlevanias and associated derivatives...) I can't remember if anything actually has crawling.

I'm wondering if anything is lost by ommitting it. Maybe I'll implement it and see...

Shadow Complex had sections where you crouch walked.

A lot of fighters have cross screen special moves with a "low" state (Sub Zero comes to mind)
 
"can anyone think of fighters or metroidvanias where crouch actually has movement associated with it?"


Virtua Fighter has a crouch dash. It's been a minute but I'm pretty sure you can walk while crouching in Tekken.
 

Jintor

Member
cheers. I'll think about what I want this movement to feel like a bit more.

my state flowchart looks real dumb right now and I haven't even started thinking about attack properties, sigh
 
Sweet fuck we are back!

I might do some more streaming this evening of an enemy from scratch if anyone is interested because its Friday night and I like to party https://youtu.be/SS_OVZtVa4E

I will also tone down the stupid puns and jokes because that's what I do when I'm nervous to pretend I'm funny and cool. I realize they fall on deaf ears. I'll keep my inequities in check XD
 

Jobbs

Banned
Sweet fuck we are back!

I might do some more streaming this evening of an enemy from scratch if anyone is interested because its Friday night and I like to party https://youtu.be/SS_OVZtVa4E

I will also tone down the stupid puns and jokes because that's what I do when I'm nervous to pretend I'm funny and cool. I realize they fall on deaf ears. I'll keep my inequities in check XD

Most of my comedy is physical comedy, and I don't have a cam for my desktop yet so it went to waste.
 
ADDED NEW SECTION TO THE OP
Tips from the Pros I WILL NEED A PIC FOR THIS - SOMEONE DRAW ME SOMETHING OKAY THANKS PLZ - use the others as a guide ;)

I will be scouring the thread (will need help) and anyone that has any tutorials or the like from here or your own blog or website feel free to PM me. All additions will be in alphanumeric order by user name.

Most of my comedy is physical comedy, and I don't have a cam for my desktop yet so it went to waste.

Will pay for striptease in dogecoins.

I realize my webcam makes it look like my head is 10x the size of my body. So that's a pretty sweet angle for me. I should roll from my tower so everyone can see my station a bit better. At least they would be able to see both of my monitors somewhat. At least I didn't break into stupid human tricks when my brain got hung up. I have a piano at the ready to change channels in my head when I get stuck and nunchaku, legos, a skull, original Rubik's Cube (one in packaging, one out) and a lightsaber to play with to clean the palette. Extra nerd is my homemade saber. I dremeled the fuck out of some shit. But that is some serious Friday night partying for me to whip that out XD
 

Jobbs

Banned
Stop apologizing and just do it!


CI-ojwDVAAEUZIq.png


I redesigned this character a bit, probably in coming days I'll be working on sketching out some animation frames for the spritework (this is the tougher kind of animation!).
 
Stop apologizing and just do it!


CI-ojwDVAAEUZIq.png


I redesigned this character a bit, probably in coming days I'll be working on sketching out some animation frames for the spritework (this is the tougher kind of animation!).
I dig this. Now draw me a face or object for the new section. Some leafy spinach will suffice.

Edit: pinged you on hangouts earlier I think unless I got the wrong Matt
 

Ito

Member
I dunno why but I imagined her all covered in green leaves, not multi-coloured leaves.

Needless to say, it looks better than I had imagined. Very creepy indeed.

Absinthe, your work with this thread is amazing. Not sure I've ever told you that so here you go :)
 
Status
Not open for further replies.
Top Bottom