Catalogue

Showing posts with label Game Design. Show all posts
Showing posts with label Game Design. Show all posts

Monday, November 21, 2016

Fansher

Fansher

Classification: Monster, drake.
Diet: Meat (preference for pigs), slime drops.
Found: Everywhere, mostly live in forests.
Rarity: Very common.
Their appearance is bug-like, but their anatomy is closer to a reptile. What appears to be gigantic eyes are actually immobile lenses held in place by a rotary bone. Breeds with legs have higher intelligence and specialize in laying traps, while breeds with tails are more aggressive and specialize in ranged combat.

Breeds
Bugging Fanny

Attacks: Projectile Mucus (attributes change based on diet), headbutting, screeching.
Threat Level: Average- They are aggressive, but very weak.
Attack Pattern: Will try to keep a distance and shoot its weapon from afar.
Hunting Tip: Use magic to attack it from a distance, or reflect its own projectile back at it.

The most common breed of Fansher, easily discerned by their green coloration and long tail. The stringer at the end of the tail can fire a hazardous projectile mucus, which is actually the creature's feces. The physical properties of this discharge vary depending on environment, with the most common type being acidic. Bugging Fansher are highly territorial meat-eaters, and can easily become very irritating pests.

Monday, October 10, 2016

Art 3: Base Game Model Recording 2

  

Continuing my work on my base model for Evanlily Beast World. Like before, I will release the next few the videos on Wednesday and Friday, then update this page before next week's post.

Not much to say here. Since I finished the initial modeling and rigging with the last set of videos, this time around I'm just polishing everything up.

Monday, September 26, 2016

Art 3: Base Game Model Recording





For this week's update I recorded myself creating a 3D model that I plan to use in a future project.
At this point in time I was still working on Tank Top Venus, now available to play here.

Regarding the video. I got a bit experimental in a few segments, so it's by no means a speed modeling video. The model being created is meant to be used as a base for other human characters in the game, so its main purpose is flexibility. I chose a female form for the fact that it is easier to transition it into a male form rather than vice versa. Removing features is easier than adding them on.

The model was made using Blender. The main tools I used were: Extrude (E), Fill (F), merge (W/ alt+M), and wide select (C). The initial cube already has a mirror modifier applied to it, as that is the default scene I have set up for myself. For a more detailed explanation of Blender's main tools, I made this video a long time ago explaining them.

Tuesday, August 23, 2016

Blog 3: Mighty No. 9 Review Part 2

Continuing from last week, my review of Mighty No 9.
Part 1 can be found here


Mighty No. 5 Battalion
Level Design
Kind of a bitch. This level wants to frustrate you. Have an enemy that you can't shoot right away standing right in your path. Oh, you found a secret path? Have an unavoidable mine shit on you right at the end of it. There's also one part where you have to jump on a box to shoot a barrel, and the timing's pretty precise. I don't have a big problem with it, there's not a lot of punishment for messing this part up, but it does still end up being an annoying puzzle.
Boss Fight
Sucks. You have to guess at what the boss is doing, as it'll at random perform one of 4 actions: jump, shoot bullets, shoot missiles, or shoot bullets in the air. The best way to fight it is to stay behind it. Also halfway through he shoots a missile out that you just jump over. This essentially limits where you can stand to only half of the arena, as he can detonate this missile at will. Shit boss overall.
Power
Second best power in the game, and the best boss-killer. I used this power exclusively when fighting the final boss. The damage output is great, and being able to detonate it at will is a great bonus.
What I learned
Should be obvious: but don't punish the player for doing a good job, and don't throw in unavoidable obstacles and enemies if they don't have a quick way to avoid or dispose of them. Also, it's important that the bosses have some sort of tell. I kinda just hate RNG in general.


Mighty No. 6 Aviator
Level Design
It's not bad at all, but I think the wind's a bit too strong. This level introduces a really cool idea: the updraft. If you dash in an updraft or use Aviator's power, you go upwards. It doesn't get used much here, but it gets used in the last level.
Boss Fight
It's fine too. Though it's a bit long if you don't have Dynatron's or Battalion's powers. It was a good idea to use the updraft as a way to make it a little easier.
Power
I didn't get to use it much outside of the final level. I assume it's good since it makes you fall slower and gives you a higher jump. It gets used a lot in the final levels of the game.
What I learned
Don't make your wind too strong, unless it's going upwards.


Mighty No. 7 Brandish
Level Design
It's shit. The concept is great, but the execution is terrible. The signs that come at you are annoying, hard to see in the rain, and can catch you off-guard tossing you into the road.. The worst part is the enemies that block the air above you when you don't have any attacks that can reach them. You have to jump and take some damage to take them out, and even then they take multiple shots to kill. I used Seismic's power to rush my way past everything, and it worked out fine. Just make sure to stop using the power when you want to hold unto a ledge.
Boss Fight
It's shit too. Use Seismic's ability to beat him quickly, because it is a frustrating boss otherwise. The cross-slash attack's fine, but every other time he seems to just fight using randomized patterns, with little to no tells.
Power
It's useful in the final level when you're dealing with the xel orb things, as it has a tall hitbox. It also seems to do a bit more damage than your pellets, but the risk is really high as it forces you to get really close to you enemies. Normally I'd take that risk, but not when the enemy stays alive until you dash into it or slash it 3 more times. I think it would have been a better idea to have the sword insta-absorb enemies for you, I'd take that over it being able to deflect bullets.
What I learned
Make your close-range attack worth it, and don't block your player with something they have to struggle to kill (again).


Mighty No. 8 Countershade
Level Design
Varied. Some like it, some hate it. I hate the fact that dying makes you start from the beginning, made even worse when one of the room uses instant-kill electricity. Use Seismic's ability to go through the rooms quickly, but watch out for the UFOs that re-arrage your control scheme for a full 5 seconds.
Boss Fight
Also varied. It can be very long and boring, just like the level, if you don't have the right power. Use anything destructive, like Dynatron or Battalion's powers.
Power
Useless. It's strong against Aviator and the first form of the Robot Factory boss, but otherwise it's just a weak move.
What I learned
Like with Cryo, don't overuse a good gimmick. Learn to tell when the player will get sick of it.


Call's Prison Level
Level Design
Pretty boring, but it is a stealth level. There's also some precision gliding, which can be annoying.
Boss Fight
Cruddy, but nothing major. Duck under the robot's face whenever it begins to shoot at you.
Power
Call's gameplay sucks. Beck gets 3 bullets on screen at a time, Call gets 1. Beck can dash at enemies to kill them quickly, Call has to keep shooting at them with her slow-ass weapon.
What I learned
Stealth levels suck. Alt character gameplay shouldn't feel like a gimp.

Robot Factory
Level Design
Pretty good, it gives good reason to everyone who believes this is the only good level in the game. You have to use multiple powers to complete puzzles, and the atmosphere is great as a few of the Mighty no's fight alongside you. My only complaint is that it doesn't use more than 3 of the powers for puzzle solving, and leans on Aviator's and Battalion's powers a lot.
Boss Fight
I hate it. The first robot seems to be weak to Countershade's power, so snipe at it. The second phase though is a real bitch, as rockets drop down on you while you're on a moving conveyer belt with little time to react. Use Seismic's power to get through that, and the rest should be easy-going.
What I learned
Don't drop missiles on a moving floor. Just more about stacking obstacles on a player, it makes the game's design seem like it was put together by a kindergartener. "My level has one thousand goombas!"

CND 1201 Trinity
Level Design
Not too bad overall. You can get past most of it easily by riding the Seismic power, and the xel orbs aren't too hard to get through with Brandish' power. There are some parts where it's really hard to get through without taking damage, getting through the level is mostly just trial and error. Or maybe it was only trial and error for me because this was the only part of the game I didn't look ahead for.
Boss Fight
I have mixed feelings about the game's final boss. It took me a lot of tries to finally beat this thing my first time. Just use Battalion's power to beat it, you don't need any other power. Niether of these fights is particularly difficult after you know what you're doing, but it will take time to learn.
Phase 1: Rage-inducing, until you get the hang of it. Just spam her face with Battalion's missiles whenever she's vulnerable. The second I saw her shooting pieces of herself out I was worried it would be as long and boring as a Yellow Devil fight, but it's not nearly that bad.
Phase 2: Pretty on-par with the first phase. When she's walking towards you like a Pokey, shoot 3 missiles and then dash through or jump over. When she's spitting out spores take out her base first, then stand on a ledge and spam her with missiles diagonally. When she's shooting her spiraling energy at you just figure it out, there's a moment that you can jump through it. Lastly, remember not to stand in the center as she may appear suddenly from under you.
What I learned
First I'd say not to include a level before the final boss as you have to run through it every time you want to fight it, but that's subjective. Second, the xel orb enemies can be a bit of a bitch for the fact that they immediately respawn when you're a short distance away. That's not bad when you use Brandish's power, but otherwise it can be as you try to dash through an opening only to have it spawn right on top of you. Overall it's not the worst final boss and level.


I beat it on normal mode and tried it on hyper, but I refuse to play through it twice. I'll probably feel a desire to play it again at some point in the future, but I'll try to talk myself out of it. That's my review/ introspective of Mighty No. 9. I give it a 5/10, better than Star Fox Zero. It's not a huge victory, but it's better than nothing.

Monday, August 22, 2016

Blog 3: Mighty No. 9 Review Part 1

I beat Mighty No. 9 recently, and playing it gave me a lot of ideas for my future games. So here's a half-review and half-introspective of the game.
I did not go into the game blind, and I don't recommend anyone try to do that. It's a frustrating game, and knowing what unavoidable traps are about to be thrown in front of you can help in being able to enjoy it. Do not go through the game for your first time with less than 9 lives, go into the options and set your starting lives to 9. Also I played the Wii U version. I heard about the rumors that it could brick your console, but those were just rumors. Presumably though the Wii U version did crash often, which seems to have been patched out.

Disclaimer: This may sound like an angry rant, but I actually enjoyed a few parts of this game. That said, I chose to review this because it is at best a mediocre game, and at worst a frustratingly bad game. Though this review may seem nitpicky, the point is to learn from it My experience wasn't entirely negative though and I think anyone can benefit from playing through this game at least once, as a learning experience. Keep in mind that I also didn't back Mighty No. 9 on Kickstarter, and don't own any of the DLC or backer content. Also worth noting is that I'm not even a Megaman fan, and have not beaten any Megaman games besides Megaman 2, Megaman & Bass, and Mighty No. 9.
Now I'm going to go through each boss, level, and power up of the game one by one.


Intro Level
Level Design
Fine. It's an alright intro level. The only complaint I have is that it doesn't teach you everything, like how to do diagonal shooting. The skill is pretty useful and should have been mentioned. It's not the most effective intro stage overall, but it's easy enough to get the player used to the game.
Boss Fight
It's good too. It's easy just like the level, and introduces the game well.
Power
Beck's moveset is far below the average Megaman set. Not being able to charge your shots kinda sucks, and having to dash at enemies to kill them sucks a lot. Especially since your shots don't go through enemies without getting a red powerup, so you have to shoot-dash-shoot-dash when you're fighting multiple enemies at once. What's more, a few of the skill are only shown to you through the in-game manual.
What I learned
One big cutscene at the start of the game is preferable to multiple short cutscenes at the start of the first level.


Mighty No. 1 Pyrogen
Level Design
Pretty bad. The first half of the level is just fine, but it turns to utter shit when you get to the falling canisters. This is where you really don't want to go in blind. It's bad enough that the canisters force you to slow down, but for some reason the designers chose to include falling balls of fire that could stun you right into an instant death canister or a pitfall. At least it was a useful lesson to me: do not throw too much at your player at once. If they're already being forced to deal with one instant-death obstacle, don't throw in hundreds of something else that's even more difficult to avoid. I tried to dash through this section using Seismic's power but the lag makes it impossible, at least on the Wii U version. To get through it easily, use Seismic's power for the first half and Aviator's for the second.
Boss Fight
It's below average. Pyrogen's the type of boss that you're supposed to bait, which a lot of blind LPers never seemed to figure out. But it's a tough boss even knowing that, mainly for the fact that the tell isn't very good. You're supposed to predict him based on what he says, but an animation tell would be more effective than the audio tell. As it is now it becomes entirely unpredictable for the few seconds that the character dialogue is up, a fact that will seem very unfair to anyone playing the game on a harder difficulty.
Power
Situational. It's pretty much only good for taking down Cryosphere faster, and killing the tiny robots.
What I learned
Don't throw too much at your player at once. Try to make it kind of obvious that your boss is meant to be baited, apparently not a lot of players figure it out easily. I think the best way to do this is by giving the boss two baiting moves. One that can be avoided if you fail to bait it out, and one that can't. Also make sure the boss' tells can't be obstructed by dumb things, like dialogue.


Mighty No. 2 Cryosphere
Level Design
The level is not particularly bad. You can skip over some parts just by dashing, and it has the same problem every level has of there being too many instant-death obstacles all over the place. Otherwise, it's an averagely designed level. Not being able to grab ledges and slipping is a bit annoying, but that's expected of an ice level. The one thing I do hate though is the pong boss fight. It's a clever idea, but it should have only been used once.
Boss Fight
Cryo is extremely frustrating if you fight her without Pyrogen's power. Otherwise though it's not a big deal, just charge up when she's unreachable and explode when she creates her tow of ice. It paralyzes her and you can shoot her dead.
Power
100% useless. There's no reason to use it over the regular pellets, especially when you can shoot diagonally. If you don't know how to do that look at the game manual, as the game doesn't tell you how to do it directly. By default on the Wii U, it's ZR+Y.
What I learned
Don't overuse gimmicks, getting frozen is annoying, and slippery ice levels are annoying. Also, bosses that heal are annoying. If you don't absorb Cryo while she's on the ground, she'll heal up while out of your reach.


Mighty No. 3 Dynatron
Level Design
Cruddy. I didn't have any problem with the level, but I knew what was coming ahead of time. The tiny robots are annoying if you don't have a power that can take them out quickly, Pyrogen's should work just fine here. The purple buzzsaws also gave a lot of people trouble, but if you know they're coming you can get through it pretty quickly. Just run through and crouch-dash with good timing. Overall this becomes the easiest level once you get a hold of it.
Boss Fight
I hate it. Apparently I had more trouble with it than anyone else who I watched play the game. If you get Brandish's power first though it becomes a cakewalk.
Power
Situational. I tried using it on a few bosses, but it just gets outclassed by Battalion's power.
What I learned
Don't overuse your gimmicks. I always think to myself that gimmicks should be used to their full extent, but some gimmicks are just meant to only be seen once, usually bossfight gimmicks. Even more important than that though, don't include instant-death on obstacles with precision timing. Especially if your game has long load times.


Mighty No. 4 Seismic
Level Design
I hate it, everyone hates it, too much instant death everywhere. The worst part is the silverfish robots that hide inside boxes. They get in your way while the drill is chasing you, and unless you know where they appear they'll always get the jump on you. There is a lot of talking too, which is a terrible idea when you're trying to descend in a level. Yeah, go ahead and cover up where the spikes are with your dialogue box. Also, this level is one of the laggiest in the game. The frame drops are so bad that you could end up teleported right into the electric spikes.
Boss Fight
It's good, I liked this boss. The drill attack was annoying at first, but you can get the hang of it after a few attempts.
Power
Wheel Kirby is the best power in the game. If this game gets speedran, this will be the power they go after first. You get semi-invincibility, and you can pretty much just plow through a lot of stages. Get this power early on. At first it's annoying that you always bounce off walls and enemies you run into, but it's easy to get used to that thanks to your dash.
What I learned
Keep your auto-scrolling level's speed reasonable. Don't just throw everything in front of the player if you're going to rush them. Especially don't use puzzle elements, precision platforming, and surprise silverfish enemies when your player is already freaking out about the giant electric drill chasing them. Lastly dialogue boxes should never impede the gameplay, that's just common sense.


That's the first half of the game. In case anyone is actually taking this advice, here's my suggested order for fighting the bosses: 4 Seismic, 5 Battalion, 6 Aviator, 7 Brandish, 1 Pyrogen, 2 Cryosphere, 3 Dynatron, 8 Countershade.

Part 2 of this review can be found here.
Lastly, here's a video Game Soup made last week about Mighty No. 9. Their criticisms are pretty similar to mine so I felt like linking it, enjoy. https://www.youtube.com/watch?v=Ohb8RdPsm3U

Monday, August 1, 2016

Blog 2: Summer Game Ideas Part 2

Two weeks ago I talked about the inspiration I drew from watching SGDQ. Now I want to talk about the android games I've been trying out, and the new ideas I've had thanks to them. I was mainly inspired by Pokemon Go to do this, since I'm not usually interested in phone games. I'll also rate them out of 5 at the same time.

Monster Sweeperz 5/5 (side scrolling shooter): This has been my favorite game from the Google Play store. Like almost every other android game, it features an autoplay button. But unlike other games, the autoplay is treated like a gameplay feature rather than just an anti-grinding mechanic. The most useful aspect of it is that automatic movement is better at avoiding projectiles than the player, which works even better due to the fact that not every projectile is meant to be avoided and must be destroyed or you take damage anyway. This turns knowing when to take your fingers off the screen into a strategic element. I'm not sure if I got a lot of design ideas from it though, as it is a really solid game but doesn't do anything all that different from other android games, just improves on already popular gameplay features.

Pokemon Go 3/5 (I don't know): It's a barebones game, whose mechanic isn't as unique as everyone seems to think. The best thing I guess would be the explorative element, which I would probably enjoy more if I didn't live in such an empty town. And of course the reason it's so popular is because of the fact that it's Pokemon, the most popular video game series in history. I wonder if parents out there recognize Mario, Mickey Mouse, or Pikachu faster.

Hit 5/5 (Top-down Action Game): My second favorite game. I don't normally like top-down beat-em-ups, but Hit's gameplay, graphics, and abundant features make it very worth playing. I'd like to try making a game like this one some time using Evanlily characters. It'd be relatively quick and easy compared to making a metroidvania, 3D platformer, or platform fighter. Another idea I like is the "instant complete pass" that lets you immediately complete a level you've already beaten. It helps save on the grinding, and they're not too rare or too common.

Delight Games Full Library (Pick your own adventure story) 4/5: Ironic that my three favorite games from the android store are from genres that I normally hate playing. The stories are pretty good, though I've only played 4 chapters total of the Wizard, Witch, Dragon stories, and haven't finished any of them fully. I'm enjoying it though, so I wanted to recommend them anyway.
I also felt a bit of inspiration from them, but not really game design inspiration. I don't plan to make any choose your own adventure games, but I have been writing Evanlily's story lately. I hope to be able to share that story in novel format during future blog posts. Years ago I had planned the story out as a comic series, but when I started learning how to script for games I decided to concentrate on this instead.

Soul Seeker (Top-down Action Game) 3/5: This is the kind of game I would like to make myself. The character designs are pretty good, the graphics are nice, and there's a crapload of content. The biggest drawback is how repetitive it is, as the levels are just the exact same thing over and over again regardless of how far you get into the game. There's also a risk of getting a lot of lag due to all the monsters that can appear on screen at once. What's more the gameplay is not very involving, you might as well just always have auto on. It could have been fixed easily just by including any sort of defensive option, like the dodge button that every other game in this genre has. One thing I do really like though is the fact that you get rewarded every time you fully level up one of your characters. Playing it has pushed me away from wanting to make a top-down action game with a "crew," and instead makes me to want to make something more like Hit that focuses on one character at a time. Not that I have any current plans to do either, I'm trying to focus on Crown.

Minimon (Top-down Action Game) 2/5: Minimon is very similar to Soul Seeker but with worse graphics, less playable characters, and slightly better gameplay. Like Soul Seeker, I really wanted to like this game. The graphics and repetitiveness are the only things pushing me back. The character designs were my main draw, they're all pretty attractive and the girls are thick as fuck which I love. The gameplay also doesn't lag like Soul Seeker, but it's still repetitive. There are a lot of levels in each world, but they all look the same. And the game only ever gives you baby monsters, expecting you to put in hours of work to evolve them into the better ones. I just got bored, but at least there's a dodge button.

Digimon Heroes (Matching Card Game) 4/5: This game has the exact opposite problem as Minimon. While Minimon gives you utter shit, and expects you to work like a bitch to evolve it into good shit, Digimon gives you great shit early game. But that's still a problem. Why should I be expected to evolve the Guilmon I just unlocked through lottery, when I already have a Gallatmon Crimson mode? There's no balance to the Digimon you can get. In the early levels you can unlock a Patamon, and in the next world you'll be unlocking MagnaAngemon before you ever get to gather the evolution materials to get regular Angemon (Which you already unlocked from another level). Evolution is worthless and difficult, but I still enjoyed the gameplay. Once you get the hang of it, it's a very easy but very fun game to play. I'd like to try making a card game some time, but it's not a high priority and probably wouldn't be a matching game.

Honorable mentions: I don't care enough to write full reviews about these games.
Pocket Mortys: It's good, but I'm not a fan of RPGs.
Sonic Boom Dash: It's just a boring runner. I don't have a real opinion on the genre, I've enjoyed runners before. There's nothing special about it, it's really just a time waster.
Sonic Runners: Just like the game above, but better and more fun. Unfortunately all support for this game will have ended by the time I publish this review. Hopefully there's a sequel, and they fix the lag.
Plague Inc: It's alright. It can be fun, but I don't think I will be playing it very much. Maybe the fact that I only played the free version just left a sour taste.
Traffic Rider: It's fun at first, but I hate how much it makes you grind.

Monday, July 25, 2016

Scripting 4: AI: VeluciDrake

Speeddrake_AI is the script used to control VeluciDrake.


This is an overview of the Speeddrake_AI Script.


The string "personality" greatly controls the velocidrake's actions, colored orange.

Coward: Will run away when the player is standing too close.
Savage: Will attack the player from any distance.
Guard: Will not leave past a specific zone.
Persist: Will follow the player relentlessly.
Agile: Will jump over and avoid projectiles.
VOID Start()  Reads and stores component variables.
VOID OnEnable()  Resets AI states
VOID Update()  Controls the meat of the AI.
  • Sets basic variables
  • Checks distance from player.
    • Most vDrakes become inactive if too far away.
    • Persist vDrakes will instead chase after the player.
    • Guard vDrakes will check the distance from the guardzone instead of itself.
  • Agile vDrakes check around themselves for incoming projectiles, and will jump into the air if there are any incoming threats. If the threat is too high, they will instead attempt to drop lower to the ground.
  • Basic functions are then called. There are 4 wall checking variables, to test whether or not the vDrake is on a wall.
    • The wallhitx variables check for standing on walls.
    • The wallcheckx variables check the distance to the hit wall, and positions the vDrake appropriately.
  • The floor underneath the vDrake is then checked. If in the air, and not on a wall, the vDrake will be affected by gravity.
  • Now the script checks to ensure the player is within the vDrake's attack field, and their position. 
  • Guard vDrakes at this point check their distance to their guard point, and Retreat if too far away.
  • The following action is randomized by a variable between 0 and 5.
    • Climb will jump backwards to go up a wall.
    • Fall will jump down from the wall, or move closer to the player.
    • Attack will tackle the player, landing on the other side.
  • Debugging variables are checked last.
VOID wallChecknFace()  Checks for walls, and quickly sets the vDrake's position and facing direction based on the results.
 VOID circleCheck(LayerMask layerFloor, Vector2 chaseSpotT, LayerMask layerWall, Vector2 chaseMove) Creates a circle that moves and grows.
 VOID jumpToPoint(Vector2 jumpPoint, int jumpspd, float xspd, bool attackDash) rapidly moves the vDrake towards the desired point, found by circleCheck().
  VOID projectCheck() If the vDrake is agile, constantly checks for nearby projectiles through a circlecast.
  VOID actionMove (string currAct) Performs the desired action. 
 The string "currAct" controls the vDrake's action, colored red.
  • Attack: Will find a location behind the player, and tackle towards that spot.
    • If Savage the distance to be checked increases.
    • If Safe and Guard the vDrake instead retreats.
    • If Safe and isn't guard the vDrake instead attempt to Attack Safe.
  • Attack Safe: Will find a location between the vDrake and player, just to get closer.
  • Climb: Looks behind itself to find a wall that can be jumped on. This action happens quickly, and there is no prepping animation.
  • Fall: Similar to Climb, but looks instead to the front for a floor to land on.
  • RunAway: Finds any location behind the vDrake, and falls back.
    • If running away Fast, will increase the bubble's speed and decrease the prep time.
  • Retreat: Will jump back towards their guard location, used by Guarders.
  • After everything is checked, the variable curruentAction is reset to be blank.
  VOID OnTriggerStay2D(Collider2D other) Checks if colliding with the player.
If colliding with the player and tackling, the player will be damaged.

Monday, July 18, 2016

Blog 1: Summer Game Design Ideas Part 1

Summer classes have slowed down progress a bit, so most of the updates for the next few weeks will be scripts. I'm working on the game's graphics in the meantime.

Two events happened last week. The first is SGDQ, and the second is that I got my hands on an android. Both events have been inspiring some new game design ideas, though most of them are not very pertinent to Crown. I'll start with SGDQ, and talk about the Android games in my post 2 weeks from now. I've had SGDQ running in the background while I work on my school and project stuff, here are some of my thoughts.

My favorite run this year was Momodora 4: the commentary was great, the skill displayed was really impressive, the game itself is very high quality, and I got the most from it overall.  I'd love to make a metroidvania game at some point in my life, but I'll need to make sure I have the necessary resources when I try it.
Something more immediate though is a gameplay mechanic the runner described as "last hit forgivance. This means that losing all of your HP won't immediately kill you, but instead grants you one more hit. It hasn't been programmed in yet, but I plan to use it for Crown. I'm a bit wary about adding too many features that make the game easy, but I don't think I've crossed the line yet and games should support the player before the difficulty.
The Dark Souls-esque rolling ability also made me rethink one of Lily's powers in the game. But I'll explain more about that later on.

My favorite type of runs are the races and my favorite genre is platformers, so my most rewatched runs were the DKC Tropical Freeze and Super Mario Maker races. Both games showed off pretty good auto scrolling levels, something that will likely be very abundant in Crown as even the first major bossfight in the game is a running boss. The important thing is to keep the gameplay active and fast, something DKC and the Mario Maker speedrun level designers accomplish well.

Ape Escape is one of my all time favorite games, so I'm happy to see it speedran at a gdq event. The floating ability with Spike's slingback shooter reminds me of Razputin from Psychonaut's floating ability, almost tempts me to add dumb little tricks like that in my own games. That's probably not a great idea, but it reminds me how I love messing with cheat codes in games. Though I've already programmed a debug menu in Crown that I plan to make an unlockable feature for the player, so I think I at least have the fun factor that comes with cheating down.

Honorable Mentions: I just don't have much to say about these.
Ty the Tasmanian Tiger: Fun commentary.
New Super Mario Bros 1 and 2: I keep forgetting these games exist.
Kirby & the Amazing Mirror: I've been wanting to see a co-op run of this game.
Ed, Edd, 'n Eddy The Mis-Edventures: Love the show, never seen gameplay of this before.


If you're interested in what I do, here are my other social media pages:
Twitter @Maakole: I tweet whenever I update something here or on my Tumblr.
Tumblr: I made it recently, and don't really plan to use it all that often. But it will showcase art work from my Evanlily game projects, or whatever else I happen to be doing.

Monday, July 11, 2016

Scripting 3: AI: Fansher_AI

Fansher_AI is the script used to control Fanshers.
This is an overview of the Fansher_AI Script.
VOID Start()  Meant to be used only once to mark initial variables.
guardlock: records the initial position. Used for guardian fanshers who only patrol the area around their spawn point.
body: The rigidbody2D attached to the fansher, there isn't one by default.
truemaxspeed: Records the initial maxspeed.
shotref: Provides a link to the Shooter_AI script.
anim: Links to the object's animator component.
zpos: The z position, used to decide the enemy's depth.
sizer: The enemy's scale. Is set to the enemy's initial x scale
VOID Update() The meat of the script. 
  • Basic info is first retrieved. Para and hpRef are set to read the para, enemyHP, hurt, and canBeControlled are set based on the counterpart variables within the Enemy_Health script.
  • Acceleration is set to (1+Mathf.Abs(hspeed)*baseaccel)/3. So the fansher's speed increases at a slower rate the faster it moves.
After this, the four wants(direction) variables are read, and movement is decided based on their values. Fspeed (vertical) always adds double acceleration. Hspeed (horizontal) adds x1, or x3 if the Fansher is flying towards the opposite direction at the time.
Fspeed and Hspeed are stopped separately through lerping to 0 by 0.95f.
Final movements are set through:

transform.Translate(Vector2.right * truemaxspeed/2 * 0.01f * 100 * Time.deltaTime);
transform.Translate(Vector3.up * fspeed * truemaxspeed/2 * Time.deltaTime);
  • A circlecast is used to check the distance between the enemy and player. If the player exits the circle's radius, the enemy object becomes inactive.
  • Another circlecast is used to check if the player is within the Fansher's line of sight. 
  • A raycast is used to ensure the Fansher avoids being too close to water.
  • If the player is within the Fansher's line of site, the Fansher will call ProjectChoose() randomly based on Random.Range(0, bulletchance).
  • Finally, the debugging variable "wantsToMove" is checked, and the AI variables are set according to the debug commands.
IEnumerator ProjectChoose() The meat of the script. 
  • The shot prepping animation is set to let the player know the fansher is about to fire. 
  • hspeed and fspeed are both multiplied by 0.5f to slow down the fansher.
  • body.velocity is set to vector2.zero.
  • Waits for a customizable amount of time "bulletTossWait." 
  • Activates shotRef.ProjectChoose(); on the Shooter_AI script.