Descrizione
FroGames — Momenti che Ricorderai
Alla terza partita qualcuno inizia a raccontare la sua città come fosse vera. Il panificio, il negozio di fiori, quella volta che il porto ha cambiato tutto. È solo un gioco di dadi, ma alla fine parliamo di vite.
DI COSA SI TRATTA
Dalla città ideale alla vita ideale
街コロライフ (Machi Koro: Life) è la nuova iterazione della celebre serie creata da Masao Suganuma, pubblicata da Grounding in Giappone e Pandasaurus Games per il mercato internazionale. Le illustrazioni di Noboru Hotta trasformano la costruzione urbana in qualcosa di più intimo: invece di edifici, costruisci una vita. Hobby, lavori, relazioni. Il dado rimane lo stesso, ma quello che ottieni è diverso.
Al tuo turno lanci uno o due dadi, attivi le carte blu, rosse e viola secondo i numeri usciti, raccogli cuori (che rappresentano aspetti della vita) e poi compri: o un’altra carta engine-building, o una carta sogno che ti avvicina alla vittoria. Il primo a 8 punti sogno vince. Le meccaniche core di Machi Koro sono intatte, ma il tema cambia tutto: non stai ottimizzando produzione, stai costruendo un’esistenza.
Cosa dicono all’estero
Un gioco che ti fa costruire una vita, un dado alla volta.
— FroGames
Le meccaniche familiari della serie incontrano un tema sorprendentemente riflessivo.
— FroGames
Machi Koro: Life
Strategia
Per chi è
(function(){
var PI2=Math.PI*2;
var dims=[{“label”: “Rigiocabilità”, “value”: 4, “note”: “Ogni partita il tableau si costruisce diversamente, le carte sogno cambiano le priorità”}, {“label”: “Fortuna”, “value”: 4, “note”: “Il dado decide tutto, ma scegli quali numeri privilegiare con le carte”}, {“label”: “Interazione”, “value”: 3, “note”: “Carte rosse che scattano sui turni altrui, ma niente attacco diretto”}, {“label”: “Strategia”, “value”: 3, “note”: “Costruire combo di carte che si attivano insieme richiede pianificazione leggera”}, {“label”: “Complessità”, “value”: 1, “note”: “Regole spiegate in 10 minuti, iconografia chiara”}];
var accent=’#2E6B0A’;
var VB=320,CX=160,CY=160,R=74;
var n=dims.length,step=PI2/n,off=-Math.PI/2;
var svg=document.getElementById(‘fg1-fs-svg’);
var tip=document.getElementById(‘fg1-fs-tip’);
if(!svg) return;
var ns=’http://www.w3.org/2000/svg’;
function pt(r,i){return[CX+r*Math.cos(off+i*step),CY+r*Math.sin(off+i*step)];}
function el(tag,attrs){
var e=document.createElementNS(ns,tag);
Object.keys(attrs).forEach(function(k){e.setAttribute(k,attrs[k]);});
return e;
}
var st=document.createElement(‘style’);
st.textContent=’@keyframes fg1-draw{to{stroke-dashoffset:0}}@keyframes fg1-fade{to{opacity:1}}’;
document.head.appendChild(st);
for(var ring=1;ring<=5;ring++){
var rr=R*(ring/5);
var pts=dims.map(function(_,i){var p=pt(rr,i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');
svg.appendChild(el('polygon',{points:pts,fill:'none',stroke:ring===5?'#c0b8b0':'#ddd8d0','stroke-width':ring===5?'1':'0.5'}));
}
dims.forEach(function(_,i){
var p=pt(R,i);
svg.appendChild(el('line',{x1:CX,y1:CY,x2:p[0].toFixed(1),y2:p[1].toFixed(1),stroke:'#d0c8c0','stroke-width':'0.5'}));
});
var dpts=dims.map(function(d,i){var p=pt(R*(d.value/5),i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');
var perim=dims.reduce(function(acc,d,i){
var p1=pt(R*(d.value/5),i),p2=pt(R*(dims[(i+1)%n].value/5),(i+1)%n);
return acc+Math.sqrt(Math.pow(p2[0]-p1[0],2)+Math.pow(p2[1]-p1[1],2));
},0);
var shape=el('polygon',{points:dpts,fill:accent+'1a',stroke:accent,'stroke-width':'2.5','stroke-linejoin':'round'});
shape.style.cssText='stroke-dasharray:'+perim.toFixed(0)+';stroke-dashoffset:'+perim.toFixed(0)+';animation:fg1-draw 0.9s ease-out 0.1s forwards';
svg.appendChild(shape);
dims.forEach(function(d,i){
var p=pt(R*(d.value/5),i);
var angle=off+i*step;
var hit=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'10',fill:'transparent',cursor:'pointer'});
(function(idx){
hit.addEventListener('mouseenter',function(e){
tip.innerHTML='‘+dims[idx].label+’ ‘+dims[idx].value+’/5
‘+dims[idx].note;
tip.style.display=’block’;
var rect=svg.parentElement.getBoundingClientRect();
var ex=e.clientX-rect.left, ey=e.clientY-rect.top;
tip.style.left=Math.min(ex+12,rect.width-220)+’px’;
tip.style.top=Math.max(ey-55,4)+’px’;
});
hit.addEventListener(‘mouseleave’,function(){tip.style.display=’none’;});
})(i);
svg.appendChild(hit);
var c=el(‘circle’,{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:’4.5′,fill:accent,stroke:’white’,’stroke-width’:’2′});
c.style.cssText=’opacity:0;animation:fg1-fade 0.3s ease-out ‘+(0.8+i*0.07).toFixed(2)+’s forwards’;
svg.appendChild(c);
var nd=R*(d.value/5)+15;
var nx=CX+nd*Math.cos(angle),ny=CY+nd*Math.sin(angle);
var vt=el(‘text’,{x:nx.toFixed(1),y:(ny+1).toFixed(1),’text-anchor’:’middle’,’dominant-baseline’:’middle’,’font-size’:’10’,’font-weight’:’800′,fill:accent,’font-family’:’-apple-system,sans-serif’});
vt.textContent=d.value;
vt.style.cssText=’opacity:0;animation:fg1-fade 0.3s ease-out ‘+(0.85+i*0.07).toFixed(2)+’s forwards’;
svg.appendChild(vt);
});
dims.forEach(function(d,i){
var angle=off+i*step;
var lx=CX+(R+40)*Math.cos(angle),ly=CY+(R+40)*Math.sin(angle);
var anchor=’middle’;
if(Math.cos(angle)>0.2) anchor=’start’;
else if(Math.cos(angle)0.6?7:Math.sin(angle)=4;
var t=el(‘text’,{x:lx.toFixed(1),y:(ly+dy).toFixed(1),’text-anchor’:anchor,’dominant-baseline’:’middle’,’font-size’:isHi?’12’:’11’,’font-weight’:’700′,fill:’#1a1208′,’font-family’:’-apple-system,sans-serif’});
t.textContent=d.label;
svg.appendChild(t);
});
})();
Cosa costruisci
Le carte che diventano la tua vita
Carte Blu (Engine)
Si attivano sui tuoi turni quando il dado esce sul loro numero. Generano cuori, la valuta del gioco. Sono il motore che costruisci per produrre risorse costanti.
Carte Rosse (Reattive)
Scattano quando gli altri giocatori lanciano il tuo numero. Ti danno cuori rubati da chi ha appena tirato. L’interazione passiva che rende ogni turno rilevante per tutti.
Carte Viola (Attive)
Si attivano solo sui tuoi turni, ma hanno effetti potenti: prendono risorse dagli altri, manipolano i dadi, accelerano la tua produzione. Costano di più, ma cambiano le partite.
Carte Sogno
Rappresentano i tuoi obiettivi di vita. Costano cuori e valgono punti vittoria. Chi arriva a 8 punti sogno vince. Sono diverse ogni partita, cambiano le strategie.
Tra qualche partita scoprirai che stavi costruendo più di un tableau. Stavi costruendo vite alternative. Succede sempre con Machi Koro.
.fg1-wrap, .fg1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
.fg1-wrap {
font-family: Georgia, ‘Times New Roman’, serif;
border-radius: 24px;
overflow: hidden;
box-shadow: 0 20px 60px rgba(0,0,0,0.32);
max-width: 1200px;
margin-left: auto;
margin-right: auto;
background: #1a1a1a;
}
.fg1-hero {
background: linear-gradient(135deg, #1a1a1a 0%, #222222 50%, #1a1a1a 100%);
padding: 32px 26px 36px;
position: relative;
overflow: hidden;
}
.fg1-hero::before {
content: “”;
position: absolute;
inset: 0;
background: radial-gradient(ellipse at top right, rgba(46,107,10,0.08) 0%, transparent 60%);
pointer-events: none;
}
.fg1-hero-content { position: relative; z-index: 2; }
.fg1-kicker { display: block; color: #FFB800; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }
.fg1-sub { color: rgba(255,255,255,0.88); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 18px; }
.fg1-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.fg1-chip { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }
.fg1-chip–accent { background: #2E6B0A; border-color: #2E6B0A; }
.fg1-specs-bar { background: #160a02; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }
.fg1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }
.fg1-spec { padding: 13px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }
.fg1-spec:nth-child(3n) { border-right: none; }
.fg1-spec:nth-last-child(-n+3) { border-bottom: none; }
.fg1-spec-icon { font-size: 1.2rem; }
.fg1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }
.fg1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }
.fg1-body { background: #F5EDD8; }
.fg1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }
.fg1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #2E6B0A; margin-bottom: 7px; }
.fg1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0800; line-height: 1.15; margin-bottom: 16px; }
.fg1-p { font-family: sans-serif; font-size: 0.95rem; color: #3d2810; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }
.fg1-quote-header { font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #2E6B0A; margin-bottom: 12px; }
.fg1-quote { background: #1a0800; border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; border-left: 4px solid #FFB800; }
.fg1-quote–dark { background: #3a0a00; }
.fg1-quote-text { color: #fff; font-style: italic; font-size: 0.87rem; line-height: 1.6; margin-bottom: 6px; font-family: sans-serif; }
.fg1-quote-transl { color: rgba(255,255,255,0.48); font-family: sans-serif; font-size: 0.76rem; line-height: 1.5; margin-bottom: 7px; font-style: italic; }
.fg1-quote-source { color: rgba(255,255,255,0.43); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; }
.fg1-divider { height: 1px; background: #d4c0a0; margin: 32px 28px 0; }
.fg1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }
.fg1-fs-header { padding:14px 20px 13px; background:#fff; border-bottom:1px solid #e8e2da; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.fg1-fs-brand { display:flex; align-items:center; gap:9px; }
.fg1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }
.fg1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }
.fg1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }
.fg1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }
.fg1-fs-cat { font-family:sans-serif; font-size:10px; padding:3px 11px; border-radius:50px; font-weight:700; border:1.5px solid; white-space:nowrap; }
.fg1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }
.fg1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }
.fg1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }
.fg1-fs-tip { display:none; position:absolute; background:#1a1208; color:rgba(255,255,255,0.92); font-family:sans-serif; font-size:11px; line-height:1.55; padding:8px 12px; border-radius:9px; z-index:20; max-width:210px; box-shadow:0 4px 18px rgba(0,0,0,0.22); pointer-events:none; }
.fg1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }
.fg1-fs-feel-lbl { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:9px; }
.fg1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }
.fg1-fs-feel-tag { font-family:Georgia,serif; font-size:13px; font-style:italic; color:#3d2810; padding:5px 14px; background:#fff; border-radius:7px; border:1px solid #d8d0c4; }
.fg1-fs-section-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:10px; }
.fg1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }
.fg1-fs-target { display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; border:1px solid; font-family:sans-serif; font-size:11px; font-weight:600; }
.fg1-fs-target span { font-size:14px; flex-shrink:0; }
.fg1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }
.fg1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }
.fg1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }
.fg1-fs-verdict-title { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:5px; }
.fg1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }
.fg1-fs-solo { background:#f0ece4; border-top:1px solid #e0d8cc; padding:14px 18px; }
.fg1-fs-solo-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.fg1-fs-solo-icon { font-size:1.4rem; flex-shrink:0; }
.fg1-fs-solo-text { display:flex; flex-direction:column; gap:2px; flex-grow:1; }
.fg1-fs-solo-label { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }
.fg1-fs-solo-stars { font-family:sans-serif; font-size:14px; letter-spacing:2px; color:#2E6B0A; line-height:1; }
.fg1-fs-solo-note { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }
.fg1-fs-footer { padding:9px 20px; background:#eeeae4; border-top:1px solid #e0d8cc; font-family:sans-serif; font-size:11px; color:#6b5e48; line-height:1.5; }
.fg1-section-pad { padding: 32px 28px 8px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }
.fg1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }
.fg1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.fg1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }
.fg1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }
.fg1-card-name { font-size: 0.95rem; font-weight: 900; color: #2E6B0A; margin-bottom: 5px; }
.fg1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3d2810; line-height: 1.55; }
.fg1-sleeve-toggle { background: #fff; border-radius: 14px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); overflow: hidden; }
.fg1-sleeve-summary { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; gap: 14px; font-family: sans-serif; user-select: none; transition: background 0.2s ease; }
.fg1-sleeve-summary::-webkit-details-marker { display: none; }
.fg1-sleeve-summary:hover { background: #faf2e2; }
.fg1-sleeve-summary-icon { font-size: 1.5rem; flex-shrink: 0; }
.fg1-sleeve-summary-text { flex-grow: 1; display: flex; flex-direction: column; gap: 2px; }
.fg1-sleeve-summary-label { font-size: 0.95rem; font-weight: 800; color: #1a0800; }
.fg1-sleeve-summary-count { font-size: 0.78rem; color: #7a6040; font-weight: 500; }
.fg1-sleeve-summary-arrow { font-size: 0.75rem; color: #2E6B0A; transition: transform 0.25s ease; flex-shrink: 0; }
.fg1-sleeve-toggle[open] .fg1-sleeve-summary-arrow { transform: rotate(180deg); }
.fg1-sleeve-toggle[open] .fg1-sleeve-summary { border-bottom: 1px solid #f0e4ce; }
.fg1-sleeve-body { padding: 16px 20px 20px; }
.fg1-sleeve-intro { font-family: sans-serif; font-size: 0.9rem; color: #3d2810; line-height: 1.6; margin: 0 0 14px 0; max-width: 680px; }
.fg1-sleeve-table { width: 100%; max-width: 420px; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid #e8dcba; font-family: sans-serif; }
.fg1-sleeve-table th { background: #2E6B0A; color: #fff; text-transform: uppercase; letter-spacing: 1px; font-size: 0.72rem; font-weight: 700; padding: 10px 14px; text-align: left; }
.fg1-sleeve-table td { padding: 10px 14px; border-bottom: 1px solid #f0e4ce; font-size: 0.9rem; color: #3d2810; }
.fg1-sleeve-table tbody tr:last-child td { border-bottom: none; }
.fg1-sleeve-dim { font-weight: 600; }
.fg1-sleeve-qty { font-weight: 800; text-align: right; color: #2E6B0A; }
.fg1-sleeve-total td { background: #faf2e2; font-weight: 900; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }
.fg1-sleeve-total .fg1-sleeve-qty { color: #1a0800; }
.fg1-rulebook-pad { padding-top: 18px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }
/* Card cliccabile: border shorthand + accent verde a sinistra (etichetta “risorsa speciale”).
Niente 4 border separati: il border-bottom da solo si leggeva come underline. */
a.fg1-rulebook,
a.fg1-rulebook:link,
a.fg1-rulebook:visited,
a.fg1-rulebook:hover,
a.fg1-rulebook:focus,
a.fg1-rulebook:active {
text-decoration: none !important;
border: 1px solid #e8dcba !important;
border-left: 4px solid #2E6B0A !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
outline: none !important;
background-image: none !important;
}
.fg1-rulebook { display: flex; align-items: center; gap: 14px; background: #fffaf0; border-radius: 12px; padding: 14px 18px; color: #1a0800; transition: background 0.2s ease, transform 0.2s ease; }
.fg1-rulebook:hover { background: #faf0d8 !important; transform: translateX(2px); }
/* Reset preventivo su figli e pseudo-elementi: alcuni temi Shopify (Concept, Dawn-derived,
Impulse, Prestige) iniettano underline animate via ::before/::after con background-image
linear-gradient. Vanno nuke esplicitamente. */
.fg1-rulebook *,
.fg1-rulebook *::before,
.fg1-rulebook *::after {
text-decoration: none !important;
border: 0 !important;
box-shadow: none !important;
background: transparent !important;
background-image: none !important;
}
.fg1-rulebook::before,
.fg1-rulebook::after {
display: none !important;
content: none !important;
}
.fg1-rulebook-icon { font-size: 1.6rem; flex-shrink: 0; }
.fg1-rulebook-text { display: flex; flex-direction: column; flex-grow: 1; gap: 2px; }
.fg1-rulebook-label { font-weight: 800; font-size: 0.95rem; color: #1a0800; }
.fg1-rulebook-meta { font-size: 0.78rem; color: #6b5a3a; }
.fg1-rulebook-arrow { font-size: 1.1rem; color: #2E6B0A; font-weight: 700; flex-shrink: 0; }
.fg1-closing { background: #1a0800; padding: 26px 28px; border-top: 3px solid #FFB800; }
.fg1-closing-text { font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.88); text-align: center; line-height: 1.6; }
@media screen and (min-width: 600px) {
.fg1-specs { grid-template-columns: repeat(6, 1fr); }
.fg1-spec { border-bottom: none; }
.fg1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }
.fg1-spec:last-child { border-right: none; }
.fg1-cards { grid-template-columns: repeat(2, 1fr); }
.fg1-fs-body { grid-template-columns: 220px 1fr; }
.fg1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }
.fg1-fs-info { border-top: none; }
}
@media screen and (min-width: 900px) {
.fg1-hero { padding: 40px 36px 44px; }
.fg1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }
.fg1-cards { grid-template-columns: repeat(4, 1fr); }
.fg1-divider { margin-left: 36px; margin-right: 36px; }
.fg1-section-pad { padding: 36px 36px 8px; }
.fg1-closing { padding: 28px 36px; }
.fg1-fs-body { grid-template-columns: 260px 1fr; }
.fg1-fs-radar-panel svg { max-width: 260px; }
}




Recensioni
Ancora non ci sono recensioni.