Random Dungeon / Brawler Game - Demo

The place to post Flash-based creative projects.
Forum rules
This forum is for posting and collaborating upon third party Flash work. Please do not post request-threads, and avoid posting artwork that is not your own unless it is being used as a reference.

Re: Random Dungeon Sex RPG - Brainstorming Phase

Postby AcetheSuperVillain » Sun Aug 07, 2016 4:42 pm

So I'm glad you brought up Defense, that's a bit an issue. Programming a guard button for the player would be simple, programming the AI to guard at appropriate times would be very difficult. Right now, the brawler engine AI does not actually look at what the player (or opposing team) is doing. It can see where the player is, but not if the player is attacking or not. I could add a little flag that allows the AI to check if the player is in the middle of an attack, but an ideal AI should also be able to know the range of the attack and the timing of the attack, so if the player's attack is short range, the AI would be better off backing up and using a longer range attack, or if the player's attack is a slow one, the AI should disrupt with a faster attack if it can.

Mathematically, I have a fairly concrete idea of how you would do that, although some friction based techniques are hard to calculate exactly where the danger zone is, but it would be a massive feat of programming. There are a couple ways around that, like I could just have the computer guard at random times, this is currently how the AI decides to jump. Or I could have them guard automatically at a certain probability, which is how some fighting games do it. But honestly, I'm a pretty avid 2D fighter fan, and I've noticed that the main difference between a casual fighter and a pro fighter is that the casual players don't guard much. So in the context of a Flash game, especially a porny one, having a guard mechanic is just going to be a big feature that hardly anyone is using and feels unfair to people when the AI nails it.



Actually, option 1 sounds easier to do. As long as it's 3D, doing a lot of animation on one character is easy. And you could still add the exploration mechanics to the mostly fighting engine if it's not porny enough on its own.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon Sex RPG - Brainstorming Phase

Postby HaremManic » Tue Aug 09, 2016 2:32 am

It's not about easy or hard, it's about the feel of the game. option 1 is getting from place to place in a fast and fun way, Option 2 concentrates on combat, and doing combat well is hard enough but making sure it doesn't suck is harder. The brawler might be a bad decision if you don't wanna code it. Finding programs specifically for making brawlers might be a better way to go then leaving things out.

Option 1 is rouge-like game style without things like permadeath but that doesn't mean animation won't be needed at all. It's closer to diablo I guess which increases replay value but you have to make a lot of content. Content doesn't have to be made all at once and even with only a small amount of content it's viable to be good.

Option 2 which I think you're adamant on, or not, is a common brawler which there are plenty of. The most important thing would be a state manager for characters. Are they on the ground? Can you hit them while down, can you pick them up? Are they jumping, what direct will they fall if hit, do you have aerial attacks? There's states like on the ground, or jumping but also ones like hit stun, couter-able, attacking, defending, invulnerable. Fighting type games like brawlers have a system like this: What state are you in, what attack are you doing, what combos can you do from that move, how does it affect the enemies that gets hit.

Was going to make two demos but no thank you. Instead I'll make one demo that shows different functions. Isometric movement vs 2D with z axis movement. Skill system vs combat system. Loot related goals vs combat related goals. So many ideas I'm going to try to fit into one thing. I don't like to do anything on the weekend but today is monday and I want to do something OOP related.

I can't wait to show you my awesome, working, clean OOP code files.
User avatar
HaremManic
 
Joined: Thu Apr 02, 2015 8:54 am

Re: Random Dungeon Sex RPG - Brainstorming Phase

Postby AcetheSuperVillain » Tue Aug 09, 2016 3:02 am

Don't worry, I've got a pretty solid combat system already, I just need to translate it to the new CS-free format. Check out http://www.newgrounds.com/portal/view/598234 and http://www.newgrounds.com/portal/view/594621 for the most recent engines, which have down-state and grab mechanics, http://www.newgrounds.com/portal/view/586931 and http://www.newgrounds.com/portal/view/602455 are fun, but kinda complicated.

So sorry about that, mixed signals, don't worry about programming anything from the old Brawler Engine, like state machines or attack mechanics, I've got that covered. Just new stuff like RPG features or map features, and eventually game-specific programming rather than engine programming.

I'm not a big fan of games with lengthy combos, since it feels like I'm playing simon instead of fighting. Instead, I will give you different attack variations based on initial input, like tap button quickly for quick attack, hold down button for a while for strong attack, press button plus forward for a reachy attack, etc. So more like Soul Calibur.

I hope to start translating the old engine into the new engine this week. I do have weight-painting homework, which is going to be a pain in the ass, but I am hopeful.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon Sex RPG - Brainstorming Phase

Postby HaremManic » Tue Aug 09, 2016 4:33 am

The engine needs to be fixed some planning could make it much better. Faster gameplay, more responsive gameplay, and challenge that can be overcome with gameplay. I think the engine itself is the problem, not sure since I haven't completely decoded the games yet.

Or create a new engine from scratch. Which I guess is out of the question. I'm working on an engine, but it doesn't have to be used.
User avatar
HaremManic
 
Joined: Thu Apr 02, 2015 8:54 am

Re: Random Dungeon Sex RPG - Brainstorming Phase

Postby AcetheSuperVillain » Tue Aug 09, 2016 2:47 pm

Faster/More responsive gameplay is just a matter of tweaking the frame-rate or game speed. I rarely get complaints that it needs to be faster, if anything I worry that it's too fast for casual players. Fire Arm was kinda slow, but that's supposed to be a more cerebral combat system.

So here's something you might like, in SDF and Rune Star, I used an auto-guard system kinda like an RPG. Any time you're attacked, there is a random probability that you won't flinch from the attack and you'll take less damage (30% in Rune Star, I think SDF was 50% maybe). Different activities would affect your chance of auto-guarding, like you're less likely to auto-guard if the attack is coming from behind, or if you're attacking, running or in the air. In Fire Arm there's an attack priority system based on how much fire you've charged, so if you're doing a lvl-3 fire attack, you won't flinch from anything less than a lvl-3 fire attack. In the Space Amazon Brawler, I think I repeated this system for attack variations, so something more difficult like a running attack would have higher priority than a normal combo, but this doesn't really come up because the demo didn't have PCvPC combat. I could do stuff like if you want more things going on in the engine. Although I think that kind of game mechanic is mostly lost on the general populace.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Brainstorming

Postby AcetheSuperVillain » Tue Aug 09, 2016 6:14 pm

Okay, so I've updated the game in the first post with a new jumping system. F button is the jump button. (Homerow, bitches) Unlike most action games, you will crouch down first to build up power, then jump when you release the button. More stored power will be a higher jump. Press the direction buttons while crouching to influence the direction of your jump. This system is a little more natural feeling and i think will be a little more strategic down the road. You can also do a running jump, press jump while running. Right now you will jump instantly, I think I might want some sort of delay before you talk off, maybe put it on the release like the standing jump. I have to think about what I want that to look and feel like. But next thing will probably be attack animations.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Brainstorming

Postby HaremManic » Wed Aug 10, 2016 9:11 am

Adventure01.png


I was thinking this kinda thing. With dashing as an attack after we animate the character weapons and usability can be tacked on by either adding an aura, like the arrow. Or instead of dashing they shoot something in the direction they're facing. Simple combat that's easy to make deep.

This would have to be isometric in an open 2d-world kinda way.

Specifically what changes are you going to make to the game engine you have? It would also be nice if you explained it in detail but you don't have to.

The new game needs a goal. So what is the purpose of brawling in the dungeon? Fighting games would have you play through an arcade story with a beginning piece of the story before you start, some kinda rival in the middle, and an ending after you beat it. Or it could be some kinda boss. Either or both work for a brawler.
User avatar
HaremManic
 
Joined: Thu Apr 02, 2015 8:54 am

Re: Random Dungeon / Brawler Game - Brainstorming

Postby AcetheSuperVillain » Wed Aug 10, 2016 1:14 pm

So the plan is to update the fighting engine to include all the features that Space Amazon Brawler and Pico Brawler had. So quick list, attacks, combo variations, grabs, projectiles, down-state, proximity detection. Maybe some kind of dizzy state like you see in fighting games.

To make it clear for everybody, the fighting AI I have only works in 2-way 2.5d. Games with 8-way combat, i.e. Rumble Fighter or GetAmped2 tend to be very clunky compared to 2-way combat, so I don't even want to try. 8 way is for if we do something more like Star Ocean where there's an RPG map and then a combat map. Star Ocean is actually the game that got me into brawler games, so that would be cool to have, but I haven't had much luck programming RPG map stuff. A 4-way RPG maker sort of exploration system would also be fine, but as long as I'm rockin the 3D pre-renders, 8-way is just as easy to deal with.

You can decide the game goal. I don't have any concrete ideas right now, especially for something porny (hence the entire topic), but I would prefer something sci-fi. Either something retro futuristic/raygun gothic or Midgar/Blade Runner dirty sci-fi. And anthros, obviously. I liked m3rchant's ideas, give those a read. I shot down a bunch of ideas for being too violent before, maybe we can revisit those now that I've got Brawler fever again.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Brainstorming

Postby AcetheSuperVillain » Wed Aug 10, 2016 1:54 pm

Oh yeah, so as far as writing, remember "show, don't tell", narrative hook and goals of the characters should match the goals of the player. Whatever the plot is, start with some kind of action or mystery and do the big reveals later and let the world build itself. DON'T do a big exposition dump at the beginning. The story should about something that IS happening, not something that DID happen.

Good examples of this are Final Fantasy 7, and Cave Story. FF7 you start out confidently leaping off a train and knocking out some security guards, then accompanying Barret to blow up a reactor. They don't even get into Sephiroth until you escape from Midgar, and when they do a big exposition dump to explain Sephiroth, you're playing through Cloud's explanation, not just sitting and listening to him. In Cave Story, you wake up with no memory so the player is immediately asking what's going on, so you're not just playing as an amnesiac looking for clues, you are looking for clues. It's maybe halfway through the game that Curly explains what you are and what you're doing in the caves (with plenty of hints dropped along the way) and by then, you've got more adventures on your plate.

Or spoilers:
Spoiler (click to show/hide):

One of the big plot elements of Cave Story was that the rabbit people are being turned into crazy death monsters. They drop a few hints that something bad is happening, but the first you really hear of this is when you shoot a crazy death rabbit in the face. This was much more powerful storytelling than hearing some NPC say "the rabbit people are being turned into monsters!"


Goals matching means, for example, if the goal of the player is to see sex happening, the goal of the character should also be to see sex happening. The characters should want sex, or at least, sex should be incidental to their goals, for example, the goal is to save the princess from the dragon, and you have a threeway with the dragon and princess while you're at it. Or those RPG moments when the characters are saying "We have to hurry and save the world before it's too late!" but the player wants to explore every nook and cranny for loot and EXP and maybe trek back to that far off item shop for that big sword they were saving up for. If you're going to give the player a big open area to explore, give the characters a reason to explore. If you want do a scene where the player should be hurrying, give them something nice and linear to hurry through.

And lastly, just keep the scope appropriate to the situation, or metaphorically, keep your paint inside the canvas. If you need 100 cutscenes to explain a plot point, maybe that plot point is too complicated for a game that will only have 5 levels of gameplay. Complexity is not always beneficial to a game.

A lot of the writing on LoK doesn't do these things well (yeah, I'm looking at you, Breeding Season) so try to remember this for your own games.



Anywho, for the brawler games, I have a couple ways to convey plot. Mid level cutscenes are do-able. The random dungeon generator that the engine is using now doesn't have to be random. I can program specific maps to show up and have cutscenes happen when you enter a specific room. In SDF there are big talk bubbles that show up in the middle of combat levels, which can be hard to read in the middle of combat, but allow you to just ignore them if all you want to do is beat on things. In FireArm, the characters have little talk bubbles that show up above their heads, which isn't so great for exposition, but it establishes the mood of the situation and the personality of the characters. If exposition is your thing, it would be better to merge the brawler engine with an RPG-like map, kind like this old demo. But that's a whole other shitstorm to program.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Brainstorming

Postby AcetheSuperVillain » Thu Aug 11, 2016 3:14 am

Woohoo! Progress!

So you've now got attack animations if you press the D button. For those of you looking at the source code, it is just playing the animation, not "physically" doing anything yet, since I need more engine to make that work. There are a few errors in the sprite sheet, which you can see as a few jerky motions or the character staring in the wrong direction. I have decided not to worry about that yet, I'll try to fix it next time I add more sprites to the sheet.

Movelist:
Assume the character is facing →
D,D = combo
D,D,→D = combo + knee strike
D,D,←D = combo + flip kick
D))) = power kick (hold down the D button)
→→D = running knee
←D = mule kick
F+D = flip kick (press D while F is held down to charge up the jump)

No air attacks yet. If you press D while airborn, hopefully nothing will happen.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Demo

Postby HaremManic » Fri Aug 12, 2016 5:18 am

Would it be better if I just showed you things by making the gameplay so you could play and see if you like?
User avatar
HaremManic
 
Joined: Thu Apr 02, 2015 8:54 am

Re: Random Dungeon / Brawler Game - Demo

Postby AcetheSuperVillain » Fri Aug 12, 2016 12:48 pm

HaremManic Wrote:Would it be better if I just showed you things by making the gameplay so you could play and see if you like?


Yes. I've having a hard time understanding what you're trying to explain.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Demo

Postby AcetheSuperVillain » Tue Aug 16, 2016 4:53 am

Well, trouble in paradise is brewing. The hitbox code that worked for the previous games isn't working this time for some reason. Or, I know the reason why the hitbox isn't working, but I don't understand the reason for the reason the hitbox isn't working.


So the way it's supposed to work, there's a public static constant LordGame.ally_array and LordGame.enemy_array. Each brawler is placed in one of these arrays and references the other array as its target_array.

So when we create the hero:
Code: Select All Code
   var hero:obj_brawler = fun_make_a(new kya_main(), LordGame.ally_array, LordGame.XMIN,  LordGame.YMID, 0);
   hero.target_array = LordGame.enemy_array;
   hero.player = true;
   LordGame.hero = hero;


When we create the enemies:
Code: Select All Code
         with (fun_make_a(new kya_main(), LordGame.enemy_array, LordGame.XMID-100+200*Math.random(), LordGame.YMID-60+120*Math.random(), 100)) {
            target_array = LordGame.ally_array;
            mysprite = LordGraphic.ss_kya_main2;
         }
         


fun_make_a is for making things and placing them in the ally_array, enemy_array, fx_array or bg_array, or whatever else I might need:
Code: Select All Code
public function fun_make_a(newthing:* , myarray:Array, xx:int = 0, yy:int = 0, zz:int = 0 ):*
   
      newthing.x = xx;
      newthing.y = yy;
      newthing.z = zz;
      
      myarray.push(newthing);
      return newthing;


All that works fine for adding the player and enemies to game, as you can see in the demo. But then something weird happens. Here's the short version of hitbox():
Code: Select All Code
      public function hitbox(array:Array, xx:Number, yy:Number, zz:Number, hb_xsize:int, hb_ysize:uint, hb_zsize:uint,
      dmg:uint, force:Number, angle:int, stun:uint, zforce:Number = 0, flincher:int = 0, charge:Boolean = true):Boolean
      {
         var hitsomething:Boolean = false;
         
         //do math to hitbox coordinates
         
         Main.debug_text = "goddammit";
         
         if (array.length > 0) {
            Main.debug_text = "goddammit!";
            for (var a:String in array) {
               
               if (array[a].x - array[a].x_size < xx+.5*hb_xsize && xx-.5*hb_xsize < array[a].x + array[a].x_size
                && array[a].y - array[a].y_size < yy+.5*hb_ysize && yy-.5*hb_ysize < array[a].y + array[a].y_size
                && array[a].z < array[a].z_size + hb_zsize && zz < array[a].z + array[a].hb_zsize)
               {
                  hitsomething = true;
                  Main.debug_text = "goddammit!!";
                  
                  //damage things
               }
               
            }//for a
         }//array.length
         
         return hitsomething;
         
      }//hitbox


(trace doesn't work in FlashDevelop, or at least it doesn't work for me, hence the debug_text alternative)

hitbox() is called as if (hitbox(target_array, x-100*fac, y, z+55, 50, 50, 50, 20, 2, 50 * fac, 20, 0) == true)

I get the "goddammit" but none of the "!"s, so apparently, target_array is empty, even though the drawing functions which are drawing the enemy_array every blip are having no trouble finding it. I don't know what to do. It might mean this is a bad reference, like a copy of the array instead of a reference to the array, but I've done this before and it works fine. No idea what's going on.

EDIT: So yeah, last shits and giggles before bed, I changed the debug text to Main.debug_text = String(LordGame.enemy_array.length) + " " + String(array.length) + " " + String(target_array.length); and it gives me "1 0 0". GOD FUCKING DAMMIT.
User avatar
AcetheSuperVillain
 
Joined: Tue Feb 03, 2015 9:27 pm
Location: Space

Re: Random Dungeon / Brawler Game - Demo

Postby HaremManic » Tue Aug 30, 2016 11:50 am

FlashDevelop is insane
Only recently I've been able to even use it, and it's still showing errors
User avatar
HaremManic
 
Joined: Thu Apr 02, 2015 8:54 am

Previous

Return to Flash Projects



Who is online

Users browsing this forum: Bing [Bot]