If we had read the article "Dead or School" in our college years, many of us would have been very clear about which of the two options. But, anyway, we're here to review the indie game for the PS4, not to criticize our design phase, so here's our opinion of these 2D animated pieces by Studio Nanafushi.
In the near future, genes are starting to evolve due to a virus (something like The Walking Dead) and people are fighting a war to destroy them. Mutants are victorious and survivors are hiding underground to be able to live in Tokyo's underground network.
That was 78 years ago. Three generations have lived down there and the last two don't even know how much more. Very few people are left remembering what life is like on the outside, and all the information about the outside world seems to have been forgotten. One day, a girl finds a private elevator that lets her out.
After being attacked by the elements, he is rescued by Hisako, the daughter of the village's leader, and decides that he wants to stay more. Her grandmother, who seems to have forgotten everything, talks to her granddaughter about a magical place called "school" where the kids go to make friends and play (our school memory is the same). She gives him her old school uniform, and as a result, the young woman begins the journey to find other people who want to go to school (yes, that is a story). To do this, you will need to go through the various underground stations of the municipality and save people.
What we have here is 2D platforms with JRPG objects. The story unfolds in a narrative sequence painted in manga style, like that of Valkyrie. It should be said that the plot was strong and interesting, but we cautioned that there were things that seemed to be at odds with us (we will provide more details later). It was first published in Japan and many English translations are quite accurate, though sometimes it is also sometimes a mistake of grammar. And it's not even translated into Spanish.
Within the game itself, at first it sounds like the camera is too far away, but you quickly get used to it and let it know how it's set up. The graphics have a very retro vibe and, although at first the game didn't like much attention, it didn't take long to catch the taste. The combination of its visual appeal and the overall tone of the game contributed to our desire to continue the story's development.
We had a great time with these hacking and slash forums. The action depends on four keys: R2 to attack, X to jump, L2 to turn on a more powerful attack (once you turn it on) and O to pull. Overall, the combinations are very satisfying, though they are often reduced to compression problems in tuntun.
There are three different types of weapons you can equip for battle: swords, guns, and heavy weapons. You can only carry one type, but there are many options. For example, you can choose a rapist to attack faster and fight less damage, or maybe choose a kitten, which is slow but the damage it does is great.
We really liked the systematic thinking of deciding which weapons to use. You can raise them with machinery and yen (obtained by killing monsters or by selling other weapons), as well as modifying them to make them stronger and add things like drones. On the other hand, you can also activate special forces and add additional drones or improve their resistance (because if they break you in the middle of a battle, it becomes clear). That said, we found every reason to customize various weapons that are very interesting. You can also upgrade your heroine and add skills related to each type of weapon, including a series of new attacks and increased ability to deal damage.
There are many variables to deal with and each level has a final enemy. It brought back many memories of the old Mega Drive games that we still enjoyed in their day. Sometimes the fight is done to climb and you may have to climb up before you go somewhere, but it never gets harder. If the challenge is too much for you, you will probably end up beaten; As you lose your life, you will see that the precious school uniform the protagonist deteriorates. However, when you reach a very low level of health, your attacks are severely damaged. If you die, you can start from the beginning of the level and lose a yen or return to the nearest reserve.
In the end, we came to what didn't make us believe that the game: although the story is interesting and we liked the distributor of women, there were some sex talk and some highlights didn't sit well with us. For example, there was a character who repeatedly expressed how surprised he was that an engineer liked machinery; we were too ashamed of others. It may be an attempt at public criticism of sexism in public for expressing it, or an attempt at humor; Or the text may be gone. In any case, it was too much for us and we reckon that the game might have worked perfectly without this kind of thing.
Removing this, Dead or School is a great game and we had a great time with it. Many of the opportunities for customization and combat are complex and this story is very interesting, but sadly, it hasn't come to us completely. If you are a fan of Castleylvania, this game is on your line, but if you don't mind this kind of questionable content.
function FastRegister(tournament=false){ ajaxAgreementsPopUp(); if (typeof isSmartphoneLayout != 'undefined' && isSmartphoneLayout) window.location='/join'; else { $.ajax({ type: "POST", url: "/ajaxstuff/fastRegister.php", data: {session: {"screated":1584719007,"updated":1584719007},tournament:tournament}
}) .done(function (code) { $('#re_loginbox').replaceWith(code); // console.log(code); $('.loginWrapper').show(); }) .fail(function(jqXHR, msg) { console.log("request fail"); $(selectorForLoginMessage).text(msg).show(); }); } return false; }
function FastRegisterResponse(){ $.ajax({ type: "POST", url: "/ajaxstuff/fastRegister.php",
}) .done(function (code) { $('#re_loginbox').replaceWith(code); // console.log(code); $('.loginWrapper').show(); }) .fail(function(jqXHR, msg) { console.log("request fail"); $(selectorForLoginMessage).text(msg).show(); }); return false; }
function LoginWithFacebook(selectorForLoginMessage, fbUpdateUser) {
FB.login(function(response) { if (response.authResponse) { FB.api('/me', {fields: 'email,last_name,name,first_name'}, function(user) { var main = false; if (user && !user.error) { // console.log(user); if(selectorForLoginMessage == '#fbLoginMessageMain') main = true; $.ajax({ type: "POST", url: "/ajaxstuff/fblogin.php", data: {userobj: user, fbUpdateUser: fbUpdateUser, main: main} }) .done(function(code) { if(main){ console.log("Is logged"+code); if(code==0) { if(!$('.signin').hasClass('active-signin')) { $('.signin').addClass('active-signin'); if($('.login').hasClass('active-login')) { $('.login').removeClass('active-login'); var request = new GRAsync(); var path = '/ajaxstuff/join.php?ajaxRequest'; request.setUrl(path) .setSelectors($('#joinContainer') ) .setData({register:true,facebookUser:user}) .setDataType('html') .setType('POST') .sendRequest();
} } } else { window.location="/";
} } else{ $('#re_loginbox').replaceWith(code); $('.loginWrapper').show(); //location.reload(true); } }) .fail(function(jqXHR, msg) { console.log("request fail"); $(selectorForLoginMessage).text(msg).show(); });
} }); } else { // console.log('User cancelled login or did not fully authorize.'); } }, {scope: 'email,publish_actions'}); // TODO: don't ask for publish_actions by default. It might scare away some users. Ask later, when they actually want it. return false; }
function AddSearchParamsAndReload(newParamStr) {
var newParamArr = newParamStr.split("&");
if (window.location.search.length > 1) { // don't count the initial '?'
var oldParams = window.location.search.substr(1).split("&");
var paramsToAdd = ();
for (var j = 0; j < newParamArr.length; j++) {
var found = false;
for (var i = 0; i < oldParams.length; i++)
if (newParamArr(j) == oldParams(i))
found = true;
if (!found)
paramsToAdd.push(newParamArr(j));
}
if (!paramsToAdd.length)
window.location.reload();
else
window.location.search += '&'+paramsToAdd.join("&");
}
else
window.location.search = '?'+newParamStr;
}