Poké Monday 7/27/15: Pineco

RNG (Pineco) 

Tier: LC
Type: Bug
Stats: 50 HP, 65 Atk, 90 Def, 35 Sp.Atk, 35 Sp.Def, 15 Speed
Abilities: Sturdy, Overcoat (HA)

Usable moves: Body Slam, Double-Edge, Drill Run, Earthquake, Explosion, Façade, Frustration, Giga Drain, Hidden Power (Fire, Ice), Light Screen, Pain Split, Protect, Rapid Spin, Reflect, Rest, Return, Rock Slide, Spikes, Stealth Rock, Substitute, Toxic, Toxic Spikes

(not listed but also usable: Counter, Pin Missile)

Overview

Pineco. Now there’s a Pokémon you don’t see every day. Maybe because it’s so quick to explode. Don’t look down on it, though. Its primary role is to set up hazards, and it can do so with relative ease thanks to two useful tools in Berry Juice and Sturdy. With these tools, the only things that can stop it from setting up at least one hazard (be it Stealth Rock or a layer of Spikes) are 1) Mold Breaker, 2) multi-hit moves that hit more than twice, 3) flinching/freezing/full-para-ing it to death, and 4) KOing it while it’s asleep. Sadly, though, there are many things that can stop it from using any more than one move, in fact so many that I won’t bother trying to name them all.

Anyway, simply put: Berry Juice and Sturdy are essential on Pineco; you’ll never see one without this glorious combination, be it in Little Cup or otherwise. Yeah, using Pineco is actually a thing outside of LC, but there’s really only one set to run:

Pineco @ Berry Juice
Ability: Sturdy
Level: 1
EVs: 156 Atk
Lonely Nature
IVs: 0 HP / 0 Def / 0 SpA / 0 SpD / 0 Spe
– Stealth Rock
– Spikes
– Pain Split
– Rapid Spin

I’ll admit I took this one from a video uploaded back when gen 5 was fresh in everyone’s minds, but it is honestly as much as you can do with Pineco in a tier other than LC. It obviously has hazards in Stealth Rock and Spikes, but honestly the crux of this set is Pain Split. At level 1, Pineco has 12 HP, meaning, against a level 100 opponent, it can easily gain back all of its health and remove nearly half of the opponent’s HP! For example, if you were against a Choice Band Talonflame (which has 297 HP in its standard spread), using Pain Split at 1 HP would result in Pineco having 12 HP and Talonflame being reduced to 149. (I mean, there are better ways of dealing much more damage to Talonflame, but hey, it’s just an example, right?) If all goes according to plan (big “if”), Pineco will keep reducing the opponent’s HP to roughly half, over and over and over until it happens that the opponent is at or below 12 HP. You could say it’s like using Super Fang over and over without the risk of taking direct damage.

You can also do the same thing with Nosepass, Probopass, or Sawk, except Sawk doesn’t have any hazards to set up, and Nosepass and Probopass only have Stealth Rock. Nosepass has the advantage of being immune to sandstorm, not to mention Probopass has an additional immunity to Toxic, but Sawk has nothing advantageous.

That aside, Pineco’s role in LC is almost the same except with a distinct lack of Pain Split. In fact, Pain Split is pretty useless in LC anyway due to the low HP values and fast-paced nature of the metagame. Still, Pineco performs much better in its native territory than elsewhere, sporting relatively decent bulk and thus having a much easier time sticking around. It’s not all rainbows and sunshine for the gymnosperm, however. First of all, Knock Off and Fake Out are two really common moves, and both have potential to screw Pineco over; the former can render its Berry Juice useless, while the latter can deprive it of a turn, break its Sturdy, and potentially leave it in KO range. Second, it doesn’t have many offensive options, meaning it’s probably not the best hazard setter to work with.

Also, it faces competition with Dwebble as a simultaneous hazard setter and abuser of the SturdyJuice combo. Dwebble has slightly worse physical bulk but significantly higher Speed, a significantly better offensive movepool (with additional Rock STAB and Knock Off) at the expense of Rapid Spin and some other moves, and extra Rock typing which has its ups and downs:

  • + removed weaknesses: Fire, Flying
  • + added resistances: Normal, Poison
  • – removed resistances: Grass, Fighting, Ground
  • – added weaknesses: Water, Steel

So, Pineco may not be the best hazard setter around, but, at the very least, it should not be overlooked.

Set

Pineco @ Berry Juice
Ability: Sturdy
Level: 5
EVs: 236 Atk / 36 Def / 236 Spe
Adamant Nature
– Stealth Rock
– Spikes
– Counter
– Pin Missile

The item and ability are Pineco’s bread and butter. EVs and nature are focused on offense to make it easier to reduce to Berry Juice range and to get the most out of its offenses, and also to let it creep past uninvested base 40s (although from what I can think of, there is no specific purpose for this creep). Stealth Rock and Spikes are obvious choices for Pineco, as its primary purpose is to set up hazards. Counter, however, is something of an oddity. It’s a neat little surprise for physical attackers who think they can just KO Pineco and be done with it—pretty much a guaranteed kill if the move Pineco takes deals at least half damage to it. Pin Missile is the best STAB to which Pineco has access because Bug Bite does not consume an opponent’s Berry Juice (and, by extension, is only useful against Harvest Pokémon).

Other Options

Explosion is an option that deals more damage than Pin Missile, especially on Fairy-, Poison-, and Fighting-types, but not so much against Rock- or Ghost-types. Rapid Spin is chiefly for helping Pineco deal with other hazard leads if anything (it’s too prone to hazards to make a switch-in an opportunity to spin). While I mentioned that laying hazards is Pineco’s primary role, I didn’t say it was its only role; it can also set up dual screens, and the beautiful SturdyJuice combo gives it ample opportunity to do so (plus it and Magnemite happen to be the only two LC Pokémon with access to Sturdy and dual screens). Toxic Spikes can be used for even more hazards but is ill-advised as Stealth Rock and Spikes are just fine in terms of hazard stacking.

Sample Team

http://pastebin.com/EHvfHeBD — Tested several times, but the fact that I have three Stealth Rock users is kinda unsettling.

This team contains:

  • Pineco (set above)
  • Froakie for special offense and anti-lead purposes
  • Gastly for faster special offense and Trick
  • Sandshrew for hazard control and walling
  • Fletchling for priority and physical offense
  • Lileep for more walling

 

Top Three Thursday 7/23/15: SGDQ 2015 runs I am looking forward to

SGDQ (Summer Games Done Quick) 2015, the most well-known speedrunning marathon, is scheduled to begin in 3 days (which is relatively late considering last SGDQ took place near the end of June). To view the event, visit http://www.twitch.tv/gamesdonequick. To view the schedule, visit https://gamesdonequick.com/schedule.

Since I have no better idea for a topic today, I wish to talk about three runs in SGDQ that I will be most likely be viewing if circumstances allow.

 

3. The Legend of Zelda (swordless) by jkoper

Honestly, it was hard to choose third because there are only two runs I recognize right off the bat, but I noticed this little gem on the schedule:

I have to say, the comment alone has me interested. Great reference to the game in question and, while I’ve never actually seen the run before, I’m excited to see how it unfolds.

 

2. Metroid Prime Hunters (All Items) by Mr_Shasta

Metroid Prime Hunters is the first (and second-to-only) Metroid Prime game I’ve ever played (and I wrote an article about it way back when), so naturally I’m anticipating an All Items run from the one and only world record holder Mr_Shasta.

For clarification, the definition of the All Items category is: “Collect all weapons (including the Omega Cannon), UA expansions, missile expansions, and energy tanks.” It’s not called 100% because getting 100% in Metroid Prime Hunters requires all scans, a vast majority of which are not a part of All Items.

 

1. Donkey Kong 64 (No Levels Early) by 2dos

I’ve mentioned before how much I like watching DK64 speedruns and hanging out at 2dos’ stream, so of course I’m excited for this run. It is scheduled at a pretty inconvenient time for my curfew (1:25 AM EDT), but hopefully it will get pushed back earlier, otherwise I might have to violate my curfew for the occasion.

 

Sorry for the terse descriptions, but that’s honestly all I have to say for now.

Nowi Wins À la prochaine! (Until next time!)

Spontaneous Saturday 7/18/15: The most situational GUI I’ve ever coded

This is a relatively long post, so I suppose I’ll create a table of contents for it. Just use Ctrl+F (command+F on Mac) to jump down to a particular heading.

  • Introduction (problem statement)
  • GUI
  • Coding process
    • Setting it up
    • Variables
    • Constructor
      • Radio buttons (row 1 columns 1&2)
      • Text fields and checkbox (row 1 columns 3-5)
      • Buttons and labels (row 2)
      • Putting it all together
    • Action listeners
      • RejectButtonListener
      • Other action listeners
  • Closing remarks

 

Introduction (problem statement)

In Pokémon Omega Ruby, I’m on a legendary hunt with standards, meaning my goal is to capture all of the legendaries I can, but at the same time I’m very specific about the nature and three perfect IVs of the legendaries (except Ho-Oh because it’s not worth using without Regenerator). In particular, I’ve been struggling with Reshiram quite a lot, what with its difficult catch rate and the specificity of what I’m looking for. For this battle, I have the following party:

  • Abra, Timid nature with Synchronize
  • Gallade with Galladite and the moves Thunder Wave and False Swipe
  • Hawlucha, HM user
  • Sharpedo, HM user
  • Tentacruel, level 100 for access to Reshiram in the first place (my first ever shiny as well); would be Zekrom, but apparently you can’t trade event Pokémon through the GTS (which is my only safe method of transferring from Y to Omega Ruby)

The HM users are not required, and I would trade Sharpedo for a Pokémon with 120 Speed, but I don’t have one in my immediate possession, so I won’t bother.

My strategy is to lead off with Abra, weaken with Gallade (Brick Break in base form, then Thunder Wave and False Swipe in Mega form), switch to Tentacruel until Reshiram runs out of Fusion Flares, and then use Gallade for the rest of the battle (if applicable). Even if it’s paralyzed at 1 HP, it’s awfully difficult to catch and, once again, I am very particular in what sort of Reshiram I want: Timid with perfect Attack, Special Attack, and Speed. It may seem weird to want perfect Attack with a Timid nature, but it’s required to be able to OHKO Ho-Oh with Life Orb Stone Edge without a Defense-hindering nature. The stats for Attack, Special Attack, and Speed required by my standards are 126, 170, and 121, respectively, and I won’t settle for less.

Because catching Reshiram is so tedious, I decided to use Reshiram’s damage outputs to help evaluate whether to keep trying to capture Reshiram or just reset, for which I used an online damage calculator.

The damage calculator results are as follows:

Calculations against Gallade
Fusion Flare vs. Gallade: 45-54 (67-81 on crit); cannot do 47, 50, or 53 (68, 71, 74, 77, or 80 on crit)
Slash vs. Gallade
• base: 25-30 (38-45 on crit)
• Mega: 19-23 (28-34 on crit)
Extrasensory vs. Gallade: 24-29 (36-43 on crit)
Dragon Breath vs. Gallade: 27-33 (42-49 on crit); cannot do 29 or 32 (44 or 47 on crit)

Calculations against Tentacruel
Fusion Flare: 19-23 (29-34 on crit)
Extrasensory: 42-50 (62-74 on crit); only deals even number damage
Slash: 23-28 (35-42 on crit)
Dragon Breath: 24-28 (34-42 on crit); cannot do 26 (35, 38, or 41 on crit)

I would also keep track of the number of Fusion Flares Reshiram has used so I know when to let Tentacruel faint and sub in Mega Gallade.

However, I found that some of the subtraction between the HP before and the HP after one of Reshiram’s attacks was too bothersome to do in my head, to the point where I felt I had to use a calculator for number crunching. Thursday at 2 a.m. (my curfew as of recently), it dawned on me that maybe I should make a GUI so it would be easier to determine, based on the events of the battle, whether the Reshiram was acceptable or not, in such a way that alleviates the problem of mental math. I was thinking it might take a while and might not save as much time as I’d spend making it, but it just seemed crazy enough at the time that it was something I’d do anyway.

GUI

The day after, using code I created in high school and some resources on the web, I coded the GUI that I had envisioned that night using Eclipse for Java (Luna version because I can’t be bothered to update). I’d say it took me an hour or two, and as situational as it is (especially given the project name “resh”, the class name “Resh”, and the title “time saver?”), it’s a functional and quite useful tool for me.

Resh GUI

The GUI is made up of ten main components in a 2×5 grid:

  • row 1 column 1: radio buttons to select who’s taking the hit
  • row 1 column 2: radio buttons to select Reshiram’s attack
  • row 1 column 3: text field for HP before the attack
  • row 1 column 4: text field for HP after the attack
  • row 1 column 5: checkbox to toggle whether the hit was critical
  • row 2 column 1: button that increments the Fusion Flare counter
  • row 2 column 2: button that sets the Fusion Flare counter to 0
  • row 2 column 3: label (Fusion Flare counter)
  • row 2 column 4: button that changes row 2 column 5 given the information in row 1
  • row 2 column 5: label that tells whether to keep or reject the Reshiram

The default settings for the GUI are theoretical results of the maximum damage dealt from 170 Special Attack Reshiram to Gallade with a critical Fusion Flare (except the Fusion Flare counter starts at 0).

Coding process

Full code: http://pastebin.com/SyZKKAz1

Setting it up

The first part of the coding process, naturally, is importing the necessary tools to build a GUI. This is done using the following series of statements:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

Next, it is important to make sure that the class extends JFrame so that you can create the GUI frame via the constructor. Also, at the end of the class body, it is essential to create a main method that invokes the constructor. For example:

public static void main(String[] args) {
    new Resh();
}

A completely optional step in setup is to “Add default serial version ID”, which is a quick fix to the warning “The serializable class [classname] does not declare a static final serialVersionUID field of type long”, the whole reason why I have the “private static final long serialVersionUID = 1L;” part of my code. The only reason I did this was in an attempt to compress the code into a .jar file, but since it wouldn’t work no matter what I tried, I just gave up.

Variables

In terms of variables, the only ones required for this particular situation are the possible damage values and the components of the GUI.

The damage values are declared as arrays of ints, like so:

private int[] dmgFFG = {45, 46, 48, 49, 51, 52, 54};
private int[] dmgFFGc = {67, 69, 70, 72, 73, 75, 76, 78, 79, 81};
private int[] dmgDBG = {27, 28, 30, 31, 33};
private int[] dmgDBGc = {42, 43, 45, 46, 48, 49};
private int[] dmgXSG = {24, 25, 26, 27, 28, 29};
private int[] dmgXSGc = {36, 37, 38, 39, 40, 41, 42, 43};
private int[] dmgSG = {25, 26, 27, 28, 29, 30};
private int[] dmgSGc = {38, 39, 40, 41, 42, 43};
private int[] dmgSMG = {19, 20, 21, 22, 23};
private int[] dmgSMGc = {28, 29, 30, 31, 32, 33, 34};
private int[] dmgFFT = {19, 20, 21, 22, 23};
private int[] dmgFFTc = {29, 30, 31, 32, 33, 34};
private int[] dmgDBT = {24, 25, 27, 28};
private int[] dmgDBTc = {34, 36, 37, 39, 40, 42};
private int[] dmgXST = {42, 44, 46, 48, 50};
private int[] dmgXSTc = {62, 64, 66, 68, 70, 72, 74};
private int[] dmgST = {23, 24, 25, 26, 27, 28};
private int[] dmgSTc = {35, 36, 37, 38, 39, 40, 41, 42};

The variable names all follow the same format: they start with the three letters “dmg”, followed by a 1 or 2 letter abbreviation of Reshiram’s move (FF for Fusion Flare, DB for Dragon Breath, XS for Extrasensory, S for Slash), a 1 or 2 letter abbreviation of the defender (G for Gallade, MG for Mega Gallade, T for Tentacruel), and an optional lower case “c” denoting critical damage.

For GUI components, I have the following:

private JRadioButton g, mg, t, ff, db, xs, s;
private JPanel pkmn, moves;
private JTextField currentHP, HPafter;
private JCheckBox crit;
private JButton reject, upFFcount, resetFFcount;
private JLabel status, FFcount;

As I said before, the GUI has ten main components in a 2×5 grid. These components are made up of different sub-components like so:

  • row 1 column 1: JRadioButton g, mg, t; JPanel pkmn
  • row 1 column 2: JRadioButton ff, db, xs, s; JPanel moves
  • row 1 column 3: JTextField currentHP
  • row 1 column 4: JTextField HPafter
  • row 1 column 5: JCheckBox crit
  • row 2 column 1: JButton upFFcount
  • row 2 column 2: JButton resetFFcount
  • row 2 column 3: JLabel FFcount
  • row 2 column 4: JButton reject
  • row 2 column 5: JLabel status

That’s the setup; now time to get down to the nitty-gritty.

Constructor

The first thing to do in the constructor is define the properties of the window. For instance:

super("time saver?");
setSize(600,200);

setLayout(new GridLayout(2,5));
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

“super” sets the title, “setSize” sets the size of the window (first number is width, second number is height), “setLayout” determines the layout of the GUI (in this case, a GridLayout with 2 rows and 5 columns), “setVisible” makes the window visible, and “setDefaultCloseOperation” tells the program what to do when the red X is pressed.

Then come the individual components of the GUI.

Radio buttons (row 1 columns 1&2)

I had to use online resources to figure out radio buttons (and, to some extent, JPanels), which I felt were appropriate in the selection of the defending Pokémon and Reshiram’s moves. Both groups are constructed in the same basic manner, like so:

g = new JRadioButton("Gallade");
g.setSelected(true);
mg = new JRadioButton("Mega Gallade");
t = new JRadioButton("Tentacruel");
 
ButtonGroup pkmnGroup = new ButtonGroup();
pkmnGroup.add(g);
pkmnGroup.add(mg);
pkmnGroup.add(t);
 
pkmn = new JPanel(new GridLayout(3,1));
pkmn.add(g);
pkmn.add(mg);
pkmn.add(t);

The first set of statements initializes the radio buttons, gives them labels, and sets the uppermost one (in this case, base form Gallade) to be selected. The second set of statements lumps the radio buttons into a group, meaning only one button in the group can be selected at a time. The third set of statements creates a sub-panel with a grid layout (in this case, containing 3 rows and 1 column) on which the radio buttons are placed.

Text fields and checkbox (row 1 columns 3-5)

These are relatively simple, although I had to look up how to make a checkbox as well. The text fields follow the same two-line format. Example:

currentHP = new JTextField("225");
currentHP.setHorizontalAlignment(JTextField.CENTER);

The first line creates a text field preset with the number 225 in it, and the second line centers the text in the field.

The checkbox code is a simple three-line procedure:

crit = new JCheckBox("crit");
crit.setHorizontalAlignment(JCheckBox.CENTER);
crit.setSelected(true);

Create a checkbox labeled “crit”, center it, and have it selected by default.

Buttons and labels (row 2)

This part was just applying what I knew from the code I made in high school. Initializing a button in the constructor requires two lines: the first to create the button and the second to add an action listener to it that tells it what to do when clicked. For example:

reject = new JButton("Reject check");
reject.addActionListener(new RejectButtonListener());

Meanwhile, the labels are pretty much the simplest part of the GUI; they display text that can only be updated by the code. When creating a JLabel, there are two parameters you can pass to the JLabel’s constructor: its default text and its alignment in relation to the label. Afterwards, you also have the option of setting the font of the label, which I do for the “status” panel to make its text stand out from the rest of the GUI. For example:

status = new JLabel("KEEP", JLabel.CENTER);
status.setFont(new Font("Impact", Font.PLAIN, 24));

Putting it all together

The last but most important part of building a GUI through the constructor is adding the components to it. Note that order matters when adding components to a grid layout. Illustrated below is an example of the way components are added to a grid layout:

add(pkmn);         //row 1 column 1
add(moves);        //row 1 column 2
add(currentHP);    //row 1 column 3
add(HPafter);      //row 1 column 4
add(crit);         //row 1 column 5
add(upFFcount);    //row 2 column 1
add(resetFFcount); //row 2 column 2
add(FFcount);      //row 2 column 3
add(reject);       //row 2 column 4
add(status);       //row 2 column 5

Basically, it goes from left to right across a row, then goes down to the very left of the next row, and so on and so forth.

That’s all for the GUI design. Now comes the more complex part: action listeners.

Action listeners

As mentioned before, action listeners are what tells a GUI element what to do when clicked. A cookie cutter format for action listeners (which I used for all of mine) is as follows:

public class ActionListenerName implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        ...
    }
}

In this particular case, I applied action listeners to all of the buttons on the GUI, each with varying levels of complexity. The Reject check button is the most complex, FF++ the second-most complex, and Reset FF the simplest. So, I find it best to get the most complex stuff out of the way early.

RejectButtonListener

This action listener is the most complex and tedious part of the code. It starts with declaring two variables like so:

int damage = Integer.parseInt(currentHP.getText())
    - Integer.parseInt(HPafter.getText());
boolean reject = true;

The integer variable “damage” takes the difference of HP before and HP after the attack (the values in the JTextFields), which will be used to determine whether or not to reject the Reshiram. The boolean variable “reject” is true by default, but it will be set to false if the damage output of the attack corresponds to one of the values in its theoretical damage range.

Now comes the tedious part, which involves a series of nested “if” statements. The first “if” statement checks which one of the radio buttons corresponding to Reshiram’s moves is selected, like so:

if (ff.isSelected()) { ... }
else if (db.isSelected()) { ... }
else if (xs.isSelected()) { ... }
else if (s.isSelected()) { ... }

It’s easier to start with the moves rather than the Pokémon because the only difference between Gallade and Mega Gallade in terms of damage taken is that Mega Gallade takes Slash significantly better. So, in terms of which Pokémon is selected, Slash has a threefold “if” statement inside, while every other move has a twofold “if” statement inside. (All moves have statements checking “if (t.isSelected())”, but while Slash checks “if (g.isSelected())” and “if (mg.isSelected())” separately, all other moves check “if (g.isSelected() || mg.isSelected())”, a logical OR.) I should also add that .isSelected() is another function that I learned online.

That’s not even the lowest level of abstraction, though. Every statement inside the “if” statements inside the moves has yet another “if” statement inside that checks “if (crit.isSelected())”, which determines whether the code will check an int array of damage range named with a lowercase “c” (e.g., dmgFFGc). Finally, this is where the guts of the action listener are found. Here is a sample:

for (int i = 0; i < dmgFFGc.length; i++) {
    if (dmgFFGc[i] == damage)
        reject = false;
}

If the compiler reaches one of these “for” loops, it will check the appropriate damage range and see if there is any value equivalent to the supposed damage dealt. If not…well, that’s what the last part of the action listener is there to determine.

The final part is simple:

if (reject)
    status.setText("REJECT");
else
    status.setText("KEEP");

Depending on the resulting value of the boolean variable “reject”, the status label will have its text updated to show whether or not the Reshiram is acceptable based on prior logic.

Other action listeners

I coded IncrementButtonListener, which increases the Fusion Flare counter when the FF++ button is pressed, using the code I made in high school. This action listener declares a String variable named “t” that stores the text of the FFcount JLabel, and the rest of the code is quite simple:

if (t.equals("FF: 0"))
    FFcount.setText("FF: 1");
else if (t.equals("FF: 1"))
    FFcount.setText("FF: 2");
else if (t.equals("FF: 2"))
    FFcount.setText("FF: 3");
else if (t.equals("FF: 3"))
    FFcount.setText("FF: 4");
else if (t.equals("FF: 4"))
    FFcount.setText("FF: 5");

Note that the button does nothing when the label says anything else. This is because Fusion Flare only has 5 PP under ordinary circumstances (meaning Reshiram cannot use it any more than 5 times), so there is no use expanding the “if” statement any further. Note the vital functions called: .equals(String) (returns true if “t” (in this case) is equivalent to the string and false otherwise) and .setText(String) (updates the JLabel).

ResetButtonListener is the simplest of the action listeners, as it literally only contains one line of code:

FFcount.setText("FF: 0");

Yep, that’s all that happens when you click the button. The Fusion Flare counter is updated to its default setting.

Closing remarks

I have to say, explaining code takes a lot longer than creating the code—in fact, I’d say about ten times as long. I suppose I’m just not fit to discuss the processes that go on in my mind. Ah, well. I suppose you could consider Vouiv-review a manner of training that sort of skill.

Reminder of the GUI’s appearance:

Resh GUI

As I mentioned, this tool is definitely useful despite the hour it took me to create it and the ten hours it took me to explain it (mind you, these are approximations; take them with a grain of salt). I could have done other stuff with it, like changing “FF++”, “Reset FF”, and “FF: 0” to be more explanatory in what they do (e.g., “Reshiram used Fusion Flare!”, “Reset Fusion Flares”, and “Fusion Flares: 0”, respectively). I also could have substituted the JTextFields for JPanels with 2×1 grid layouts, the first row explaining what the field is and the second row containing the field (i.e., the first panel would contain “HP before attack” above the text field, and the second panel would contain “HP after attack” above the text field). Also, for the checkbox, I could have used the full term “critical” over the abridged “crit”. Finally, now that I think about it, “currentHP” is an odd variable name for what it’s worth (I’d probably prefer “HPbefore” or something to that effect). But hey, the GUI suits me just fine, and I don’t think the GUI as a whole could possibly be useful for anyone else, so I don’t feel like polishing it any further.

All in all, GUIs like these are fun to make, and this one in particular I feel saves me a lot of trouble in trying to find a Reshiram that meets my standards. Still, it remains the most situational GUI I’ve ever coded.

 

Nowi Wins À la prochaine! (Until next time!)

Poké Monday 7/13/15: Machoke

RNG (Machoke) 

Tier: NU
Type: Fighting
Stats: 80 HP, 100 Atk, 70 Def, 50 Sp.Atk, 60 Sp.Def, 45 Speed
Abilities: Guts, No Guard, Steadfast (HA)

Usable moves: Body Slam, Brick Break, Bulk Up, Bullet Punch, Close Combat, Cross Chop, Double-Edge, Earthquake, Encore, Façade, Fire Blast, Fire Punch, Flamethrower, Focus Blast, Frustration, Heavy Slam, Hidden Power (Fire, Ice), Ice Punch, Knock Off, Light Screen, Low Kick, Poison Jab, Power-Up Punch, Protect, Rest, Return, Rock Slide, Seismic Toss, Substitute, Superpower, Thunder Punch, Toxic

(Dynamic Punch is not listed here because it’s only usable by the Machamp line)

Overview

Looking at this Pokémon and the current status of the NU tier, all I can think is: outclassed by Gurdurr. Both are second-stage pure Fighting-types with similar stat builds.

Machoke: 80/100/70/50/60/45
Gurdurr: 85/105/85/40/50/40

They both have the same BST, but Gurdurr triumphs in Attack (where it matters most) and physical bulk, actually has STAB priority in Mach Punch, and gets Drain Punch as well. Machoke, on the other hand, has better special bulk and Speed, as well as No Guard Dynamic Punch. Really, those are pretty much the only things Machoke has that Gurdurr doesn’t. (Anything else is nothing short of situational.)

Other candidates to fill the role of bulky Fighting-type in NU are Hariyama, Poliwrath, and Throh.

Hariyama

+: second-highest Atk of any Fighting-type in NU (behind Sawk by 5 base points), pseudo-resistance to Fire and Ice thanks to Thick Fat, access to Fake Out
-: questionable bulk (high HP but low defenses), Close Combat as preferred STAB

Poliwrath

+: extra Water typing, Water Absorb, has an acceptable Speed stat (unlike the other four), can use special and physical moves alike, one of few Pokémon that are seen with Vacuum Wave (let alone in NU)
-: extra weaknesses in Electric and Grass, not many options for physical Fighting STAB (basically only limited to Circle Throw)

Throh

+: bulkiest overall
-: unlike Gurdurr, does not have Drain Punch or Mach Punch

All three have two things in common, though: they don’t mind Knock Off as much as Gurdurr as Machoke, and all of them lack Drain Punch. (Honestly, it’s so unjust that Gurdurr is the only Fighting-type in NU with Drain Punch…)

Anyway, Machoke’s only real niche in NU is No Guard Dynamic Punch. It’s 100 BP Fighting STAB with a guaranteed chance of confusion, with its ordinarily mediocre 50% accuracy patched up by No Guard. Unfortunately, No Guard also comes with a minor drawback: not only will Machoke’s Dynamic Punches always hit (even in a semi-vulnerable state, although semi-invulnerable states are seldom seen in the competitive scene), but any move targeting Machoke will also always hit. This means that even moves with shaky accuracy like Will-o-wisp, Focus Blast, Stone Edge, and (most importantly) Hurricane will never miss Machoke, no matter the circumstances. Regardless, guaranteed confusion can be a helpful utility at times, and Machoke and Chatot are the only Pokémon that can cause it while simultaneously dealing damage.

Set

Machoke @ Eviolite
Ability: No Guard
EVs: 252 HP / 252 Atk / 4 SpD
Adamant Nature
– Dynamic Punch
– Knock Off
– Rest
– Sleep Talk

This set makes the most of Machoke’s capabilities. Eviolite is pretty much a must-have for NFEs in order to significantly increase their bulk without any drawbacks. No Guard is what differentiates Machoke as a Fighting-type attacker; its other options are either outclassed (Guts) or essentially worthless (Steadfast). EVs are pooled into Attack for maximum possible damage output and HP to increase its overall bulk (which is recommended because its base 45 Speed will take it nowhere), with Adamant nature to further maximize its offense.

As mentioned, No Guard Dynamic Punch is Machoke’s niche in the NU tier, as well as its best STAB. Knock Off provides decent coverage with its STAB, taking care of Ghosts and Psychics, and also has the utility of removing the opponent’s item. (Note, however, that a resisted Dynamic Punch does more than a neutral Knock Off on an itemless opponent. 100*1.5/2 = 75 > 65) Rest is Machoke’s only form of recovery, which helps it live longer and shrug off status, and Sleep Talk prevents Machoke from having to wait 2 turns doing absolutely nothing while Resting.

Other Options

Nothing to see here. All of its other options are situational, outclassed, or just plain useless.

Sample Team

http://pastebin.com/hjmnsk6j – Only tested once; ended in victory, but Machoke did nothing.

This team contains:

  • Machoke (set above)
  • Klinklang because Steel-types complement Fighting-types well (resisting all of their weaknesses) and you can’t go wrong with Klinklang
  • Lanturn as a wall and for Heal Bell support
  • Magmortar for special offense
  • Cryogonal for hazard control and extra special offense
  • Fletchinder in case of Mold Breaker Earthquake

I suppose I didn’t think the team through too well because it doesn’t have any hazards… Oh well. Hindsight’s always 20/20.

Top Three Thursday 7/9/15: Annoying aspects of Pokémon Shuffle

Pokémon Shuffle is a fun game and all (despite my expectations getting into it), but here’s what annoys me about it:

3. Music

Some of the music in the game is really annoying to listen to. Like, I’d say only one track in the game (specifically the Mega Mewtwo Y battle music) is above average, and everything else is either average or below average. To make matters worse, the mega evolution theme, which is probably the most prominent track in the game, is one of the worst tracks in the game, maybe even the worst. As much as I want to avoid saying the music is crap (because I’m generally lukewarm when it comes to bashing any form of art) and saying its music is the worst of any game (In Love in Guitar Hero 3 is even worse), I can at least say with confidence that Pokémon Shuffle has one of the worst OSTs of any game I’ve ever played.

2. Grinding for coins

This is no problem to those who have the money and/or StreetPass encounters to obtain more gems (which can be exchanged for hearts (which are required to play levels) or coins) than there are available in the game, but the best way to obtain coins without these luxuries is to go all the way back to level 37 (which usually requires a buttload of scrolling) and battling Meowth over and over. In the battle, you can get 30 coins, 130 coins, 330 coins, 530 coins, or nothing, resulting in an expected coin yield of 204 per heart used. (You can also get 230 coins, but it requires a 5-coin L-shape, which is 0% worthwhile because it’s literally no better than lining up 5 coins in a straight line.) Don’t be deceived by this number, however; it’s actually really difficult to get 530 coins, maybe impossible depending on the RNG (Random Number Generator, basically the luck of the draw in a video game). First of all, you have to purposely avoid bringing Fighting-types (too much damage), Ghost-types (too little damage), and any Pokémon with abilities that delay the production of, or destroy, coins. (You don’t have to worry about Mega Pokémon whose mega abilities destroy coins because, ideally, mega evolution should never happen.) Second, a very specific formation is required for 530 coins, which should resemble the following image:

This formation must be completed by turn 6 for maximum safety (I’m not excluding the possibility of completing it on turn 7, but it requires extremely good RNG), and it’s very RNG-dependent. There are so many things that could go wrong: too much damage, not enough damage, not good enough RNG to even get the specific formation (the common response to which would be to go for a less valuable formation—i.e., a 3-coin or a 4-coin—and even then there remains the possibility of too little damage), or poor execution (after all, we’re only human).

What are coins useful for? Power-ups that facilitate catching Pokémon or S-ranking battles (to unlock EX levels), such as Great Ball (worth 2500; doubles capture rate, sometimes increasing it further), Mega Start (worth 2000; does what it says on the tin), Complexity -1 (worth 9000; removes a species from the board (especially useful against Pokémon like Steelix and Aegislash, who are annoying to fight with those species (Onix and Doublade, respectively) around)), and Disruption Delay (worth 1500; paralyzes the enemy Pokémon for several turns).

1. RNG

RNG everywhere. Through my experience with Shuffle and Rumble World, I have to say freemium Pokémon games have some of the worst RNG ever. This game in particular is about as RNG-dependent as a game of Yahtzee. RNG controls just about everything: the types of species on the board, the types of species that appear after part of the board is cleared, the activation chance of some abilities (notably those that destroy disruptions), Mega Ampharos’ lightning patterns, the attack patterns of enemies (which may very well sabotage a potentially awesome matching combo), and, worst of all, the chance of catching Pokémon. Trying to catch Weavile especially frustrated me; I had a 70% chance to catch it and failed (waste of a Great Ball), had a 65% chance to catch it and failed (waste of another Great Ball), and ultimately had to have maximum percentage (9 turns left plus Great Ball with increased catch rate) to finally be able to catch it. I was furious at the 70% and 65% misses, but the highest percentage I’ve ever had fail is 85% (or 90%; my memory is a bit hazy), which happened when I first had the opportunity to catch Tangrowth. It’s like with all Pokémon games; percentages cannot be taken at face value. More recently, I failed a 69% chance to catch Salamence. It’s rolls like that that just get under my skin. Heck, there was even a time when I used Mega Start and Complexity -1 against Mega Glalie and still couldn’t get higher than A-rank; what a waste of 11000 coins… Also, as mentioned, RNG interferes with money grinding quite a lot.

 

Despite all the things that annoy me about the game, I still play it to this day, and it’s pretty addicting with its 5-heart capacity and its 30-minute heart recharge rate compelling me to come back to it every 2 hours tops. You could argue that it’s not a good game (and matching games are nothing new), but at least it’s good for a game that doesn’t require payment (except, of course, for a 3DS).

Nowi Wins À la prochaine! (Until next time!)

Spontaneous Saturday 7/4/15: My final thoughts on spring 2015 anime

It’s America’s Independence Day and I’m talking about Japanese animation. Heh.

 

Disclaimer: The following opinions are expressed by a casual anime viewer with enigmatic tastes. Please perceive with caution. Also, spoilers may or may not be present.

Today, I will be talking about the most recently completed series of anime that I have watched. The particular topics that I will discuss are:

  • Opening comments / Things that stood out to me the most
  • Three favorite characters listed in descending order
  • What anime I find to resemble it the closest (N.B.: this only includes anime I’ve watched)
  • Overall rating/impression

Don’t recognize the name of an anime or character? Chances are you will be able to click on the first instance of the name and be directed to a relevant MAL (MyAnimeList) page.

For clarification, this is just like my previous review but with the anime sorted in chronological order of final episode aired rather than ascending alphabetical order.

So, without further ado, time to get started.

 

Hello!! Kiniro Mosaic (second season of Kiniro Mosaic)

Opening: Kiniro Mosaic (abbreviated as KinMoza) is the story of an English girl (Alice Cartelet) and her homestay with her best friend in Japan (Shinobu “Shino” Oomiya). These two also have friends of their own: Karen Kujou, a half-English-half-Japanese friend of Alice, and Shino’s two classmates Aya Komichi and Youko Inokuma. These five characters constitute the main quintet of the series. The way I would describe these five is if you took Mio and Ritsu from K-On (who correspond to Aya and Youko, respectively) and had them mingle with Tooru, Run, and Yuuko from A-Channel (who correspond to Alice, Shino, and Karen, respectively). I mean, that’s only in terms of how they behave as groups; adding in further details (instruments in K-On, youngness of Tooru and shyness of Yuuko in A-Channel) would hinder the credibility of the comparison.

Anyway, as far as what happens, KinMoza is just a typical moe slice of life anime but with English elements as its gimmick. To be more specific, Alice and Karen, being foreigners with blonde hair, are portrayed as princesses with “golden” hair, which is what makes Shino obsess over them (although this is subjective in the case of Alice, with whom Shino shares a deeper bond). Also, there is plenty of use of the English language (which, if you ask me, is (sadly) more like Engrish, even from Alice…but hey, every form of media has its shortcomings) and an additional setting in England (notably Alice’s home).

Not much is different in season 2 than in season 1, just that a new teacher is introduced (Kuzehashi, a foil to the other teacher Karasuma) and some of the minor characters get more time in the spotlight (particularly Honoka Matsubara who, in my mind, would have fallen into obscurity if not for season 2 episode 11).

Favorite characters:

  1. Aya Komichi. Simply put, the fact that she’s so Mio-like is the reason why I like her. Going back to my roots—that is, when I started watching slice of life anime—I would generally claim the shy character as my favorite of a series—Sakaki in Azumanga Daioh, Miyuki in Lucky Star, Mio in K-On—and Aya is no exception. Out of the main quintet, Aya seems to be the most likely to get her work done (along with Alice) but the least likely to speak up. She also tends to overthink things, notably in her many interactions with Youko, who is so dense that the interactions become naught more than misunderstandings. For example, if Aya were to shout, “It’s not like that!”, Youko would respond, “Not like what!?” In summary, Aya is yet another character to whom I can relate in shyness.
  2. Karen Kujou. She’s basically the jokester of the series, and the most popular character for a good reason (also the star of the Desu song, which is basically what drew me to the series in the first place). She’s outgoing and a good friend to all, but sometimes she’s portrayed as a rival to Alice (especially in Shino’s wild imagination) due to them both having blonde hair and being from England. She’s also a good example of what it means to be part of two sides, like how I am a Canadian living in America (except I don’t sound Canadian…unless I speak French, and even then few people can distinguish that). All in all, Karen is a comedic character who, metaphorically speaking, shines light on everyone she meets (notably Kuzehashi, who lightens up from her usually stiff demeanor while supervising Karen).
  3. Isami Oomiya. Elder sister of Shino, she’s usually there if anything happens at Shino’s place, where she will provide help whenever needed (e.g., by waking Shino and Alice if they both happen to oversleep). In addition, she is a fashion model and has a nice voice, as well as a sort of laid-back personality (as in, one similar to that of Levi Kazama from Trinity Seven).

Similar anime: A-Channel. As I mentioned earlier: Tooru, Run, and Yuuko => Alice, Shino, and Karen. The first is short, the second is a ditz, and the third is a tension-causing third party. In addition, both series each have a duo of teachers dissimilar in how they behave (A-Channel has Kitou and Kamate while KinMoza has Karasuma and Kuzehashi…and heck, all of their romanized surnames start with K). Key differences: A-Channel has 4 main characters as opposed to KinMoza’s 5, A-Channel has a male teacher (Satou), Tooru is one year younger than her companions while Alice is in the same grade, and A-Channel doesn’t have any foreigners (Yuuko is from a different area in Japan than the others, but that doesn’t count).

Overall rating: 9/10. Light-hearted slice of life anime series are always welcome in my book, and KinMoza is no exception. Once again, I do criticize the quality of the English, but that’s just a minor setback in terms of Japanese animation. Looking past that, the characters are great—we have a familiar duo in Aya and Youko, and a unique character in Karen—and the series definitely had its moments.

 

Nisekoi: (second season of Nisekoi)

Overview: Nisekoi (literally “False Love”) follows the daily high school life of Raku Ichijou, who possesses a locket for which he does not have the key. Sadly, he never does find the key, even after the 2 prologues, 32 main episodes, and 3 OVA episodes that have aired so far. He does, however, meet three girls who happen to have keys of their own: the pure-hearted Kosaki Onodera, the tomboyish Chitoge Kirisaki, and the forward Marika Tachibana. As for where the title comes from: Raku and Chitoge are forced into a relationship to prevent their families from feuding against each other. Meanwhile, Raku and Kosaki are truly in love with each other but have not confessed their feelings, and Marika is head over heels for Raku to the point where it’s slightly obnoxious. Other notable characters include Seishirou Tsugumi (a servant to the Kirisaki family who, despite her main purpose being to protect Chitoge, ends up having feelings for Raku), Ruri Miyamoto (a close friend of Kosaki who sometimes pushes the relationship between her and Raku), and Shuu Maiko (Raku’s goofy male friend).

In the second season, some new characters are introduced, notably Paula McCoy (an antisocial rival of Seishirou), Haru Onodera (little sister of Kosaki who starts out hostile towards Raku but later warms up a little), and Chitoge’s parents. Sure, not much happens in terms of romance, but if anything, that’s because Raku runs into so many difficulties in his life, mostly as far as being unable to choose one girl without hurting all of the others. I mean, Kosaki, Chitoge, Marika, and Seishirou are all attracted to him somehow, and they don’t seem to have anyone else in mind, so he basically has to deal with all of them at once, which is no easy business (as is evident in season 2 episode 3, for example). What also stuck out to me was episode 10 of season 2, where Shuu is developed even further and is revealed to be in love with his teacher, Kyouko, to whom Raku pushes him to confess before she moves away. The best part is, this action inspired Raku to put himself in Shuu’s shoes and be more courageous in his relationship with Kosaki (although I’d say not enough, but obviously it’s not that easy).

Long story short, Nisekoi is a love comedy featuring a dense but kind-hearted male lead going nowhere fast.

Favorite characters: To be honest, this is a really difficult choice for me because I only find the characters average, and it’s not so much the individual characters I like in the anime as it is the chemistry they share together. Nonetheless…

  1. Ruri Miyamoto. This may seem like an odd choice due to her not being one of the main characters, but maybe it’s for that exact reason that I like her. Well, also because she wears glasses, speaks in monotone (generally), and is always ready to punish Shuu when his behavior goes out of hand. All in all, an interesting supporting character.
  2. Chitoge Kirisaki. I’ll admit I wasn’t too big of a fan of Chitoge until the finale of season 2 opened my eyes to just how much she means to the series. Sure, she’s basically the reason why Raku can’t have nice things, but without her, the series just wouldn’t be the same. She’s kinda like Karen from KinMoza (also both voiced by the same actress) if you replace her carefree nature with a tomboyish personality and take out all of the “desu” (which leaves basically a less moe version of Karen).
  3. Kosaki Onodera. It’s become difficult to decide at this point, but I’ll choose Kosaki because of her shy yet pure-hearted nature and her compatibility with Raku despite the circumstances. Also, even though I emphasized how much Chitoge matters to the series, I support Raku x Kosaki.

Similar anime: Boku wa Tomodachi ga Sukunai. The male lead (Raku/Kodaka), who is one huge target of misunderstandings (especially Kodaka), is caught in a harem with no idea whom to choose, bound together with a blonde girl (Chitoge/Sena) due to family matters, along with another girl whom he’s known in the past (Kosaki/Yozora). Also, both series are comedic with dramatic elements, and neither series has the most satisfying conclusion. Key differences: Haganai has different character types (aside from the male lead, who is just about the same) and is based around a club.

Overall rating: 8/10. Season 2 episode 11 was such a tease; I expected there to be more Raku x Kosaki action (but, looking back, I was jumping the gun), but sadly the finale is centered around Chitoge and offers a hardly satisfying conclusion. Like I said, though, it’s not that easy being in Raku’s position, surrounded by the tension of a harem of girls gathering the strength to confess. Also, the series did have its moments, comedic and dramatic alike.

Despite the lack of a proper conclusion to the mystery behind Raku’s locket, I don’t expect there to be a third season, so I’ll probably go through the manga if I want more of what the series has to offer.

 

Dungeon ni Deai wo Motomeru no wa Machigatteiru Darou ka

Overview: I’ve always been rushed when talking about this anime, but this time I’m going to give it my all.

This anime presents another mouthful of a title that can be translated as “Is It Wrong to Try to Pick Up Girls in a Dungeon” or shortened to DanMachi. The story takes place in an RPG-like fantasy world where gods and goddesses live amongst humanity and manage their own communities known as familia. The star of the show is a boy named Bell Cranel who belongs to the familia of Hestia and wishes to get stronger in order to measure up to his crush, Aiz Wallenstein. Things don’t go well at first, as Bell ends up splattered in minotaur blood before Aiz. Later on, however, he manages to prove himself capable of feats greater than any stranger would ever expect of him. More accurately, Bell goes through a continual sequence of being thrown down and getting back up, so to speak. Obviously, he didn’t do it on his own; he’s gotten lucky at times and received support from his goddess and the rest of his party (Liliruca “Lili” Arde and Welf Crozzo) among others. All in all, the plot is hardly unique, but it’s something.

I’ve seen criticism about how much fanservice the anime has (and trust me; there’s plenty), but I personally don’t mind it. To me, fanservice is like a snack. Sometimes I’m tempted to consume it, sometimes I can do without it; sometimes it satisfies, sometimes it leaves me empty; but in the end, just as snacks detriment my health, fanservice has a negative impact on my soul. I’m not saying I don’t like it; I’m just saying there may come a time when I’ll be averse to it (but that time is not now).

Also hestia.dance is a thing.

Favorite characters:

  1. Bell Cranel. As generic as it is to pick a main character as a favorite, Bell is, without a doubt, the character who undergoes the most development, and it’s his struggle as a protagonist that keeps the anime interesting. What makes him admirable is that he’s kind to a fault and will stop at nothing to get stronger and protect what he holds dear. Sure, his headstrong personality gets him caught in sticky situations and sometimes damages his reputation, but a hero is always willing to risk his life, right?
  2. Welf Crozzo. He doesn’t appear until 9 episodes in, but I gotta say he’s a cool guy, what with his red spiky hair and personality of a young adult. He proves to be an indispensable party member for Bell, being able to forge weapons and armor and supporting in combat with his own forged weapon and a spell called Will-o-Wisp that reverses the flow of a monster’s magic, causing it to explode.
  3. Liliruca Arde. I realize I just named off Bell’s entire party, but hey, they are the most interesting characters. Lili started out with the reputation of a thief, and at one point she deceived Bell for her own personal gain, but Bell’s compassion in saving her life afterwards led her to be an exceptional supporter with a purer heart than before. Also, you can’t take for granted that she usually hauls around a backpack that’s basically her size; she must have some muscle just to keep it on her back.

Similar anime: Zero no Tsukaima. The main character (Bell/Saito) is under the guidance of a woman who is nothing without him (Hestia/Louise) and wishes to get stronger to protect whom he holds dear, starting out low and climbing his way up. Despite his many struggles, he ends up coming out on top and being heralded as a hero, and he has many peers behind his back. Key differences: Zero no Tsukaima has a different setting, involves more magicians and no gods or goddesses, has more fanservice, and has different character types (e.g., Hestia is radically different from Louise). In a nutshell: same basic plot, different elements.

Overall rating: 8/10. It’s something, but it’s not exceptional. The usage of gods and goddesses clashes with my religious beliefs, but I won’t hold that against anyone. The characters in general are nothing stellar, but some are interesting. Also, as mentioned before, the plot is hardly anything new, but it’s not bad.

That said, I wouldn’t be surprised if there was a second season in the works, but I’m not holding my breath.

 

Yamada-kun to 7-nin no Majo

Overview: (N.B.: I have not read the manga, so this part of the review will be entirely based on the anime. Also, you might find it unsettling that I refer to people by their surname here when I use their first name everywhere else, but it’s whatever. I just refer to them how I see fit. Okay, now on with the review.)

Life is complicated, but imagine how much more complicated it would be if you and your peers had super powers. Such is the plight of Ryuu Yamada, a delinquent whose experience at school changed completely when he fell on top of honor student Urara Shiraishi and found out that he and she had swapped bodies with one another. This newfound power, which they found to be triggered through mouth-to-mouth kissing, earned them a place in the newly revived Supernatural Studies Club with Toranosuke Miyamura and Miyabi Itou.

At first, they were under the impression that Yamada was the one with the power to swap bodies (although maybe Shiraishi knew otherwise), but after a series of close encounters with Nene Odagiri (who had the power to charm whomever she kissed), they found that Shiraishi was the one with the power to swap bodies, and Yamada was just copying it through his own special power. After convincing Nene and her enamored companion Ushio Igarashi to join the Supernatural Studies Club, their overall motive was made clear: to assemble all seven witches (women with special powers) to fulfill a prophecy that would make one wish come true.

I don’t want to spend too much time explaining the plot, so I’ll just name the seven witches and their powers.

  • Urara Shiraishi: swaps bodies with whomever she kisses
  • Nene Odagiri: charms whomever she kisses; kissing again will nullify the effect
  • Meiko Ootsuka: opens a telepathic line of communication for whomever she has kissed
  • Maria Sarushima: sees visions of the future
  • Noa Takigawa: sees dreams of past trauma of whomever she kisses
  • Mikoto Asuka: appears invisible to whomever she kisses (power initially stolen by Shinichi Tamaki)
  • Rika Saionji: causes a person’s acquaintances to forget all about the witches; requires a 24-hour delay to activate as opposed to a kiss

It is also worth noting that Yamada can kiss a witch to copy her power, and Tamaki can kiss a witch to steal her power (or return it if he kisses her again). These two are known as “witch killers.”

Of course, the quest of the Supernatural Studies Club to assemble all seven witches does not go unhindered; not only do they have difficulties dealing with Takigawa and Saionji, but they’re also at odds with the student council—that is, president Haruma Yamazaki and his trusty bodyguard Asuka.

After watching the whole thing, I have to say that it is surprisingly good. I mean it; I jumped into it with low expectations, but I ended up being drawn to its supernatural charms and entertained by the comedic moments it had, not to mention it had a satisfying conclusion.

Favorite characters:

  1. Mikoto Asuka. Besides being beautiful and having a sweet voice, Asuka is Yamazaki’s trusty bodyguard who doesn’t afraid of anything. Not only can she deliver swift kicks and do acrobatic flips, but she can also be menacing at times, one time making Yamada fess up about his plan to get Maria’s power erased. I do have to wonder, though, under what circumstances Asuka ended up having her power stolen, and the issue is pressing enough that I might consider reading the manga. Anyway, I guess you could say I like her for the same reasons I like Kili from Juuou Mujin no Fafnir: antagonizing, but likable in her looks, voice, and talents (except Kili is superior to her in all of these qualities), and she never gives in until the very end.
  2. Urara Shiraishi. Speaking of fearlessness, Shiraishi is the type of character who can usually keep her head up in situations where a character like Yamada would falter or panic. When she’s tasked with something that must be done, she will do so without faltering. That is why she’s usually seen studying and shows no sign of hesitation when being required to swap bodies. Also, she and Yamada go together well, what with their contrasting personalities and how they affect each other more than anyone else. For example, there was one moment when Yamada vowed to go to university as an attempt to convince Shiraishi to do so as well, and she agreed. Moreover, let’s not forget that Shiraishi is the reason why Yamada got to know all of the witches, as well as a handful of supporting characters (so to speak), and changed his behavior to get more serious about school. In summary, a pivotal character, not to mention one with her fair share of good points.
  3. Meiko Ootsuka. This is more in terms of relatability than anything. Wears glasses, socially awkward on the outside, raging warrior (for lack of a better term) on the inside. It’s because of her power that she, Yamada, and her friends could get out of cram school as soon as possible, so there’s her contribution to the plot. And…that’s about it.

Similar anime: Trinity Seven. Both anime take place in a high school (go figure), involve seven women with special powers (two of whom cause problems), and get increasingly more complicated over time, reaching a level that betrays their face value. Key differences: Trinity Seven involves combat, is more ecchi, has a significantly lower male-to-female ratio, has a more forward male lead, and concludes in a less satisfying manner that actually leaves a void for a second season.

Overall rating: 9/10. I was leaning more towards 8, but now that I think about it, it’s quite a refresher to see a romantic anime actually reach a satisfying conclusion (Nisekoi, I’m looking at you). Once again, I must say it exceeded my expectations, given that my attention was not drawn to it until five episodes had aired and, when I actually did get around to watching it, I found I was getting more into it than I had imagined. However, there is still one thing that remains unclear to me: the witches obtained their powers because they wished for something, but what exactly were their wishes? Maybe something like this:

  • Urara Shiraishi: to live life from another person’s perspective
  • Nene Odagiri: to find love
  • Meiko Ootsuka: to communicate without pressure
  • Maria Sarushima: to see the future
  • Noa Takigawa: to relate more to people
  • Mikoto Asuka: to be less involved with people
  • Rika Saionji: to become a ruler of some sort

That’s my best guess. Still, what does it matter? Some anime just don’t have room to accommodate such subtle details like that, right? I mean, I’m the type to make more of a big deal over small details than I should, but when I think about them like I did just now, I suppose I can let them slide.

So, to summarize, Yamada-kun to 7-nin no Majo is a surprisingly good supernatural slice of life.

 

Overall, it was an okay season, especially considering what I chose to watch this season was 50% sequels. There were no particularly outstanding theme songs, although Rally Go Round (Nisekoi: OP) would be cool if not for the vocals.

So what’s next? Well, nothing listed on the summer 2015 preview particularly jumped out at me, but I will, at the very least, keep up with To LOVE-ru Darkness 2nd, and I still have to watch the entirety of Non Non Biyori season 1 before I can keep up with season 2. Otherwise, I am somewhat interested in Chaos Dragon: Sekiryuu Seneki, and Wakaba*Girl is also up for consideration, but that’s about it. Oh, and maybe Gate: Jieitai Kanochi nite Kaku Tatakaeri, because people on MAL say it’s like Outbreak Company.

Nowi Wins À la prochaine! (Until next time!)