Laughter Many Laughs We laughed so many days with this game that one of our planning partners decided to buy the Sony 1000XM3 headphones with audio cancellation to focus. The fact is that we haven't had a great time since the spectacular Disco Elysium last year surprised ours and strangers, and though it hasn't been for a long time and never for the same reasons, the fact that both games have been in tears, has said so much.
Oddman is a fighting game in which a JoyPac developer has put together items inspired by other titles such as Loco Roco, Divekick, Brawlhalla or Stickfight. The player gets into the skin of a circumcised man whose game name, a kind of chubby and pinkish soap with a black belt in a martial art. In the games, Oddman has to contend with a mob of evil yellow men who threaten to sink the island that is his home. Each battle takes place on one of the small islands, and anyone who falls into the piranha-infested waters is lost.
The mechanics of the game are simple and fun. To fight you have to touch the enemy with your finger and slide it up, down or both sides. Oddman jumps, leaps, pulls and shatters the mask of these bad guys in yellow at a ridiculous speed, and each encounter he makes makes the other two enemies appear to be striking. The speed is amazingly high and the experience is tremendous. Pim-pam-pum. Next fight STOP! Another Splash! One came.
Distributed on the maps are bonus items and other secrets, which add money to the game's bank while providing a deeper experience. The drawings are as simple as the mechanics, drawn by hand with smooth contours, as if they were a mixture of Rolando and Loco Roco. This pure visual style fits perfectly with the original soundtrack and the excellent presentation. So, Oddman is a game that accuses us of the first touch. Ok, there's microtransaction and you can do it over and over again, but that doesn't take away from how well we interacted with the basic game, and it doesn't make any viewers' reaction faster.
// document.addEventListener("DOMContentLoaded", function(){ // DrawFacebookLikeNotification(); // });
function FastRegister(tournament=false){ ajaxAgreementsPopUp(); if (typeof isSmartphoneLayout != 'undefined' && isSmartphoneLayout) window.location='/join'; else { $.ajax({ type: "POST", url: "/ajaxstuff/fastRegister.php", data: {session: {"screated":1580322573,"updated":1580322573,"countdownToAd":"0_1580323173"},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;
}