[{"data":1,"prerenderedAt":4724},["ShallowReactive",2],{"blog-tag-繁體中文":3},[4,316,585,787,952,1107,1252,1405,1477,1590,1651,1787,1929,2070,2284,3314,4014,4121,4264,4376,4560,4700],{"id":5,"title":6,"body":7,"date":297,"description":298,"draft":299,"extension":300,"image":301,"lang":302,"meta":303,"navigation":304,"path":305,"pr":299,"relatedGames":306,"seo":307,"stem":308,"tags":309,"translations":311,"updated":306,"__hash__":315},"blog\u002Fblog\u002F2026-10-12-himaneji-about-en.md","Himaneji – a free idle factory clicker for your browser (how to play & FAQ)",{"type":8,"value":9,"toc":289},"minimark",[10,18,37,44,56,61,102,108,112,168,174,178,215,219,225,231,237,243,258,264,275,282],[11,12,13,17],"p",{},[14,15,16],"strong",{},"Himaneji"," (ヒマネジ) is a free idle clicker that runs right in your browser. You tap machines to make screws, buy more machines, grow a tech tree full of choices, and launch rockets to move across 6 stars. It works on phone and PC, with no download and no login.",[11,19,20,30,31,36],{},[14,21,22,23],{},"Play now → ",[24,25,29],"a",{"href":26,"rel":27},"https:\u002F\u002Fscgf.net\u002Fneji\u002F",[28],"nofollow","scgf.net\u002Fneji\u002F","  (also on ",[24,32,35],{"href":33,"rel":34},"https:\u002F\u002Fscgf.itch.io\u002Fhimaneji-idle-factory-clicker",[28],"itch.io",")",[11,38,39],{},[40,41],"img",{"alt":42,"src":43},"The factory in the early game","\u002Fimages\u002Fgames\u002Fneji\u002Fss1.jpg",[11,45,46,47,51,52,55],{},"The name comes from Japanese ",[48,49,50],"em",{},"hima"," (free time) and ",[48,53,54],{},"neji"," (screw): a game for your spare moments.",[57,58,60],"h2",{"id":59},"how-it-plays","How it plays",[62,63,64,71,77,83,89,95],"ol",{},[65,66,67,70],"li",{},[14,68,69],{},"Tap"," the machines to earn money.",[65,72,73,76],{},[14,74,75],{},"Buy"," more machines. Gears, motors, robot arms, and rocket engines unlock as you go.",[65,78,79,82],{},[14,80,81],{},"Grow the tech tree."," Widen your shockwave, hire workers, and pick a path at the either\u002For forks.",[65,84,85,88],{},[14,86,87],{},"Rebirth"," to earn Blueprints and buy permanent upgrades.",[65,90,91,94],{},[14,92,93],{},"Launch a rocket"," to move to the next star. There are 6 stars, each with bigger prices and bigger rewards.",[65,96,97,98,101],{},"After you have conquered every star, a ",[14,99,100],{},"Galaxy Rebirth"," lets you start the whole galaxy over with permanent bonuses.",[11,103,104],{},[40,105],{"alt":106,"src":107},"The tech tree","\u002Fimages\u002Fgames\u002Fneji\u002Fss2.jpg",[57,109,111],{"id":110},"features","Features",[113,114,115,121,127,133,139,149,159,165],"ul",{},[65,116,117,120],{},[14,118,119],{},"Idle-friendly",": workers and the assembly line keep earning for you, and you can earn while the game is closed.",[65,122,123,126],{},[14,124,125],{},"Choices that matter",": some tech tree nodes are either\u002For.",[65,128,129,132],{},[14,130,131],{},"Circuit Chips",": tap fast and chips drop on the floor. Spend them in a 4-color upgrade tree (Tapping, Automation, Factory, Luck).",[65,134,135,138],{},[14,136,137],{},"Machine expansion",": when a machine type hits its cap, spend money to raise the limit.",[65,140,141,144,145,148],{},[14,142,143],{},"Build Affordable"," and ",[14,146,147],{},"Max"," buttons so you do not have to press buy 24 times after every rebirth.",[65,150,151,154,155,158],{},[14,152,153],{},"Daily missions"," with small boosts, and ",[14,156,157],{},"42 achievements"," (9 of them secret).",[65,160,161,164],{},[14,162,163],{},"English, Japanese, and Traditional Chinese",". Switch from the menu.",[65,166,167],{},"Free, no ads, no login. Your save lives in your browser, and you can move it to another device with a transfer code.",[11,169,170],{},[40,171],{"alt":172,"src":173},"Rebirth and permanent upgrades","\u002Fimages\u002Fgames\u002Fneji\u002Fss3.jpg",[57,175,177],{"id":176},"beginner-tips","Beginner tips",[113,179,180,183,190,198,205,212],{},[65,181,182],{},"Do not worry about speed at the start. The game keeps earning when you step away.",[65,184,185,186,189],{},"When progress slows down, ",[14,187,188],{},"rebirth",". Starting over is faster thanks to your permanent upgrades.",[65,191,192,193,144,195,197],{},"Use the ",[14,194,147],{},[14,196,143],{}," buttons to save taps.",[65,199,200,201,204],{},"Do not stay on one star forever. Once your rebirths are short, ",[14,202,203],{},"launching to the next star"," pays off more.",[65,206,207,208,211],{},"Tap the ",[14,209,210],{},"Golden Screw"," when it appears for a bonus. Sometimes it starts Fever.",[65,213,214],{},"Circuit Chips are nice-to-haves, not a requirement. You can progress without them.",[57,216,218],{"id":217},"faq","FAQ",[11,220,221,224],{},[14,222,223],{},"Is it free?"," Yes. No download, no login, and no ads.",[11,226,227,230],{},[14,228,229],{},"Does it work on mobile?"," Yes. It works on phones and PCs in the browser.",[11,232,233,236],{},[14,234,235],{},"Does it keep earning when the game is closed?"," Yes, if you buy the Night Shift upgrades, workers keep earning while the game is closed (up to 8 hours at first, longer with later upgrades).",[11,238,239,242],{},[14,240,241],{},"How do I save or move my progress?"," Your save is stored in your browser automatically. To move it, open the menu and choose Transfer \u002F Backup to create a transfer code.",[11,244,245,248,249,253,254,257],{},[14,246,247],{},"Is it on itch.io?"," Yes: ",[24,250,252],{"href":33,"rel":251},[28],"Himaneji – Idle Factory Clicker on itch.io",". On a phone, we recommend playing on ",[24,255,29],{"href":26,"rel":256},[28],", because browsers can restrict saving inside the itch.io page.",[11,259,260,263],{},[14,261,262],{},"Is it in English?"," Yes. If your browser is set to English the game starts in English. You can also switch from the menu.",[11,265,266,269,270,274],{},[14,267,268],{},"Where do I report bugs?"," Use the ",[24,271,273],{"href":272},"\u002Fcontact\u002F","contact form",". This is a beta, so numbers may change.",[11,276,277,278],{},"Latest update: ",[24,279,281],{"href":280},"\u002Fblog\u002F2026-10-12-neji-chips-expansion-en\u002F","Circuit Chips, machine expansion, Build Affordable, and English & Traditional Chinese",[11,283,284],{},[14,285,22,286],{},[24,287,29],{"href":26,"rel":288},[28],{"title":290,"searchDepth":291,"depth":291,"links":292},"",2,[293,294,295,296],{"id":59,"depth":291,"text":60},{"id":110,"depth":291,"text":111},{"id":176,"depth":291,"text":177},{"id":217,"depth":291,"text":218},"2026-10-12","Himaneji is a free idle factory clicker that runs in your browser. Tap machines, grow a tech tree, rebirth, and launch rockets to 6 stars. No download or login. English guide, tips, and FAQ.",false,"md","\u002Fimages\u002Fgames\u002Fneji\u002Fog.jpg","en",{},true,"\u002Fblog\u002F2026-10-12-himaneji-about-en",null,{"title":6,"description":298},"blog\u002F2026-10-12-himaneji-about-en",[310],"English",{"ja":312,"en":313,"zh-Hant":314},"\u002Fgames\u002Fneji\u002F","\u002Fblog\u002F2026-10-12-himaneji-about-en\u002F","\u002Fblog\u002F2026-10-12-himaneji-about-zh\u002F","UV3xR1MkCjKvWfvF6Awnv5QJGycmPVPF831pQzgqnMo",{"id":317,"title":318,"body":319,"date":297,"description":575,"draft":299,"extension":300,"image":301,"lang":576,"meta":577,"navigation":304,"path":578,"pr":299,"relatedGames":306,"seo":579,"stem":580,"tags":581,"translations":583,"updated":306,"__hash__":584},"blog\u002Fblog\u002F2026-10-12-himaneji-about-zh.md","Himaneji(ヒマネジ)– 可在瀏覽器免費遊玩的放置工廠點擊遊戲(玩法與常見問題)",{"type":8,"value":320,"toc":569},[321,327,340,345,348,351,390,395,398,450,455,458,497,500,506,512,518,524,539,545,555,562],[11,322,323,326],{},[14,324,325],{},"Himaneji(ヒマネジ)"," 是一款可在瀏覽器免費遊玩的放置點擊遊戲。點擊機器製造螺絲、購買更多機器、擴展充滿選擇的科技樹,再發射火箭前往 6 顆星球。手機和電腦都能玩,不用下載、不用登入。",[11,328,329,335,336,339],{},[14,330,331,332],{},"立即遊玩 → ",[24,333,29],{"href":26,"rel":334},[28],"(也可在 ",[24,337,35],{"href":33,"rel":338},[28]," 遊玩)",[11,341,342],{},[40,343],{"alt":344,"src":43},"遊戲初期的工廠",[11,346,347],{},"名稱來自日文的「hima」(閒暇)與「neji」(螺絲):適合利用零碎時間玩的遊戲。",[57,349,350],{"id":350},"玩法",[62,352,353,359,365,371,377,383],{},[65,354,355,358],{},[14,356,357],{},"點擊","機器賺錢。",[65,360,361,364],{},[14,362,363],{},"購買","更多機器。隨著進度,會解鎖齒輪、馬達、機械手臂與火箭引擎。",[65,366,367,370],{},[14,368,369],{},"擴展科技樹",":擴大衝擊波、僱用工人,並在二選一的分岔路選擇方向。",[65,372,373,376],{},[14,374,375],{},"轉生","可獲得設計圖,用來購買永久強化。",[65,378,379,382],{},[14,380,381],{},"發射火箭","前往下一顆星球。共有 6 顆星球,越後面價格和收益越大。",[65,384,385,386,389],{},"征服所有星球後,可以進行",[14,387,388],{},"銀河轉生",",帶著永久加成把整個銀河重新開始。",[11,391,392],{},[40,393],{"alt":394,"src":107},"科技樹",[57,396,397],{"id":397},"特色",[113,399,400,406,412,418,424,430,440,447],{},[65,401,402,405],{},[14,403,404],{},"適合放置",":工人與流水線會持續幫你賺錢,關閉遊戲期間也能賺。",[65,407,408,411],{},[14,409,410],{},"有意義的選擇",":部分科技樹節點是二選一。",[65,413,414,417],{},[14,415,416],{},"基板晶片",":快速連續點擊時,地板上會掉出晶片。可在四色強化樹(點擊、自動、工廠、幸運)中使用。",[65,419,420,423],{},[14,421,422],{},"機器擴建",":機器數量達到上限後,可用金錢提高上限。",[65,425,426,429],{},[14,427,428],{},"「建造可負擔的」與「最大」按鈕",",不用在每次轉生後按 24 次購買。",[65,431,432,435,436,439],{},[14,433,434],{},"每日任務","(有小小的加速獎勵)與 ",[14,437,438],{},"42 個成就","(其中 9 個為隱藏)。",[65,441,442,443,446],{},"支援",[14,444,445],{},"繁體中文、英文、日文",",可從選單切換。",[65,448,449],{},"免費、無廣告、免登入。存檔保存在你的瀏覽器中,也能用轉移代碼搬到其他裝置。",[11,451,452],{},[40,453],{"alt":454,"src":173},"轉生與永久強化",[57,456,457],{"id":457},"新手小技巧",[113,459,460,463,469,480,487,494],{},[65,461,462],{},"一開始不用在意速度。離開遊戲時,遊戲也會繼續賺錢。",[65,464,465,466,468],{},"進度變慢時就",[14,467,375],{},"。有了永久強化,重新開始會更快。",[65,470,471,472,475,476,479],{},"善用「",[14,473,474],{},"最大","」和「",[14,477,478],{},"建造可負擔的","」按鈕,可以少按很多次。",[65,481,482,483,486],{},"不要一直待在同一顆星球。當轉生一輪變得很短時,",[14,484,485],{},"發射到下一顆星球","更划算。",[65,488,489,490,493],{},"看到",[14,491,492],{},"黃金螺絲","時要點擊,可以獲得獎勵,有時還會觸發狂熱。",[65,495,496],{},"基板晶片只是「有更好」,不是必要的。沒有它也能進行遊戲。",[57,498,499],{"id":499},"常見問題",[11,501,502,505],{},[14,503,504],{},"免費嗎?"," 是的。不用下載、不用登入,也沒有廣告。",[11,507,508,511],{},[14,509,510],{},"手機可以玩嗎?"," 可以。手機和電腦都能在瀏覽器中遊玩。",[11,513,514,517],{},[14,515,516],{},"關閉遊戲時也會賺錢嗎?"," 買了「夜班」強化後,工人在關閉遊戲期間也會繼續賺錢(一開始最長 8 小時,之後的強化可延長)。",[11,519,520,523],{},[14,521,522],{},"如何儲存、轉移進度?"," 存檔會自動保存在瀏覽器中。要搬到其他裝置,請打開選單,選擇「資料轉移・備份」產生轉移代碼。",[11,525,526,529,530,534,535,538],{},[14,527,528],{},"itch.io 上也有嗎?"," 有:",[24,531,533],{"href":33,"rel":532},[28],"Himaneji – Idle Factory Clicker(itch.io)","。用手機玩時,因為瀏覽器可能限制 itch.io 頁面內的存檔,建議到 ",[24,536,29],{"href":26,"rel":537},[28]," 遊玩。",[11,540,541,544],{},[14,542,543],{},"有繁體中文嗎?"," 有。瀏覽器語言設為中文時會自動以繁體中文開始,也可以從選單切換。",[11,546,547,550,551,554],{},[14,548,549],{},"哪裡可以回報錯誤?"," 請使用",[24,552,553],{"href":272},"聯絡表單","。目前為測試版,數值可能會調整。",[11,556,557,558],{},"最新更新:",[24,559,561],{"href":560},"\u002Fblog\u002F2026-10-12-neji-chips-expansion-zh\u002F","基板晶片、機器擴建、一鍵建造,以及英文與繁體中文版",[11,563,564],{},[14,565,331,566],{},[24,567,29],{"href":26,"rel":568},[28],{"title":290,"searchDepth":291,"depth":291,"links":570},[571,572,573,574],{"id":350,"depth":291,"text":350},{"id":397,"depth":291,"text":397},{"id":457,"depth":291,"text":457},{"id":499,"depth":291,"text":499},"Himaneji(ヒマネジ)是可在瀏覽器免費遊玩的放置工廠點擊遊戲。點擊機器、擴展科技樹、轉生,再發射火箭前往 6 顆星球。不用下載、不用登入。繁體中文玩法介紹與常見問題。","zh-Hant",{},"\u002Fblog\u002F2026-10-12-himaneji-about-zh",{"title":318,"description":575},"blog\u002F2026-10-12-himaneji-about-zh",[582],"繁體中文",{"ja":312,"en":313,"zh-Hant":314},"UzDGJYukDbduwNTm7Ud1MaKozyF-ODgApu9InYZSUMk",{"id":586,"title":587,"body":588,"date":297,"description":775,"draft":299,"extension":300,"image":776,"lang":777,"meta":778,"navigation":304,"path":779,"pr":299,"relatedGames":306,"seo":780,"stem":781,"tags":782,"translations":306,"updated":306,"__hash__":786},"blog\u002Fblog\u002F2026-10-12-neji-beginner-guide.md","ヒマネジの序盤の進め方と転生のタイミング【初心者向けガイド】",{"type":8,"value":589,"toc":766},[590,593,601,604,629,632,635,653,656,663,678,681,688,706,710,723,726,729,732,751,759],[11,591,592],{},"ブラウザで遊べる放置ゲーム「ヒマネジ」の、始めたばかりの方向けのガイドです。細かい数字より、「いま何をすればいいか」を中心に書きます。",[11,594,595],{},[14,596,597,598],{},"遊ぶ → ",[24,599,29],{"href":26,"rel":600},[28],[57,602,603],{"id":603},"最初の数分でやること",[62,605,606,612,619,626],{},[65,607,608,611],{},[14,609,610],{},"機械をタップ","します。ネジができて、お金が増えます。",[65,613,614,615,618],{},"お金が貯まったら、",[14,616,617],{},"ネジの機械を買い足します","。機械は、自分で働いてくれます。",[65,620,621,622,625],{},"機械の数が増えたら、",[14,623,624],{},"レベルを上げます","。「最大」ボタンなら、買えるところまでまとめて上げられます。",[65,627,628],{},"次の目標(画面の上に出ます)に届いたら、新しい機械が出ます。歯車、モーター、ロボットアーム、ロケットエンジンと、だんだん高い機械が出ます。機械は、機種ごとに24台までです。",[57,630,631],{"id":631},"技術ツリーの使い方",[11,633,634],{},"画面下の「ツリー」を開くと、お金で解放できるマスが出ます。",[113,636,637,640,647,650],{},[65,638,639],{},"タップを強くする、機械の稼ぎを増やす、作業員を雇うなど、いろいろなマスがあります。",[65,641,642,643,646],{},"分かれ道には、",[14,644,645],{},"どちらか一方しか選べない","マスがあります。",[65,648,649],{},"「買えるだけ解放」を押すと、いま買えるマスをまとめて解放します。",[65,651,652],{},"転生すると、ツリーは最初の状態に戻ります。選び方は、周ごとに変えられます。",[57,654,655],{"id":655},"転生のタイミング",[11,657,658,659,662],{},"稼ぎが",[14,660,661],{},"1億円","に届くと、「転生」ができます。転生すると、設計図がもらえます。設計図は、ずっと残る強化(永久ボーナス)に使えます。",[113,664,665,668,671],{},[65,666,667],{},"転生すると、お金も機械も最初に戻ります。ただし、設計図で買った強化は残るので、前より早く進みます。",[65,669,670],{},"設計図は、稼いだ額が多いほど増えます。ただし、増え方はだんだん緩やかになります。伸びが落ち着いたら、転生して、また育て直しましょう。",[65,672,673,674,677],{},"「夜勤」の強化を買うと、",[14,675,676],{},"ブラウザを閉じている間も稼げる","ようになります。放置したい方は、早めにどうぞ。",[57,679,680],{"id":680},"次の星へ進む",[11,682,683,684,687],{},"工場が育ったら、",[14,685,686],{},"ロケットを打ち上げて、次の星へ","進めます。",[113,689,690,693,696,699],{},[65,691,692],{},"星は全部で6つあります。新しい星では、値段も稼ぎも桁が上がります。",[65,694,695],{},"前の星には、いつでも戻れます。",[65,697,698],{},"初めて打ち上げた周は、設計図が2倍になります。",[65,700,701,702,705],{},"1つの星で、転生を何十回も繰り返すより、",[14,703,704],{},"ある程度育てたら、次の星へ進む","ほうが、進みが速くなります。",[57,707,709],{"id":708},"金のネジとフィーバー","金のネジと、フィーバー",[113,711,712],{},[65,713,714,715,718,719,722],{},"画面に、",[14,716,717],{},"金のネジ","が出ることがあります。タップすると、お金がもらえます。ときどき、",[14,720,721],{},"フィーバー","が始まって、しばらく稼ぎが増えることもあります。見つけたら、逃さずタップしましょう。",[57,724,725],{"id":725},"記録の引き継ぎ",[11,727,728],{},"セーブは、ブラウザに自動で保存されます。機種を変えるときや、念のためのバックアップには、右上のメニューにある「データの引き継ぎ・バックアップ」から、引き継ぎコードを作れます。ブラウザのデータを消すと、記録も消えるので、ご注意ください。",[57,730,731],{"id":731},"迷ったときは",[113,733,734,741,748],{},[65,735,736,737,740],{},"進みが遅いと感じたら、まず",[14,738,739],{},"転生","してみてください。",[65,742,743,744,747],{},"迷ったときは、",[14,745,746],{},"「買えるだけ」のボタン","を使うと、手間がかかりません。",[65,749,750],{},"毎日の目標(今日のミッション)や、実績を見ると、次にやることのヒントになります。",[11,752,753,754,758],{},"放置ゲームがはじめての方は、",[24,755,757],{"href":756},"\u002Fblog\u002F2026-10-12-neji-what-is-idle-game\u002F","放置ゲーム(クリッカー)とは","も読んでみてください。",[11,760,761,762,765],{},"不具合や感想は、",[24,763,764],{"href":272},"お問い合わせ","から受け付けています。",{"title":290,"searchDepth":291,"depth":291,"links":767},[768,769,770,771,772,773,774],{"id":603,"depth":291,"text":603},{"id":631,"depth":291,"text":631},{"id":655,"depth":291,"text":655},{"id":680,"depth":291,"text":680},{"id":708,"depth":291,"text":709},{"id":725,"depth":291,"text":725},{"id":731,"depth":291,"text":731},"ブラウザの放置ゲーム「ヒマネジ」の、始めたばかりの方向けのガイドです。最初にやること、転生のタイミング、次の星へ進むコツをまとめました。","\u002Fimages\u002Fblog\u002Feyecatch-neji.jpg","ja",{},"\u002Fblog\u002F2026-10-12-neji-beginner-guide",{"title":587,"description":775},"blog\u002F2026-10-12-neji-beginner-guide",[783,784,785],"ゲーム","ヒマネジ","攻略","_CzKmjQpG6VUVxnAA_VGQdE_vkwtdGDzrLQI0llgeIQ",{"id":788,"title":789,"body":790,"date":297,"description":943,"draft":299,"extension":300,"image":776,"lang":302,"meta":944,"navigation":304,"path":945,"pr":299,"relatedGames":306,"seo":946,"stem":947,"tags":948,"translations":949,"updated":306,"__hash__":951},"blog\u002Fblog\u002F2026-10-12-neji-chips-expansion-en.md","Himaneji update: Circuit Chips, machine expansion, Build Affordable, and English & Traditional Chinese",{"type":8,"value":791,"toc":931},[792,797,805,809,814,824,859,862,869,872,881,885,888,892,895,899,913,917,925],[11,793,794,796],{},[14,795,16],{}," is a free idle clicker that runs in your browser. You tap machines to make screws, grow a tech tree, and launch rockets to new stars. No download, no login, and it works on phone and PC. We just shipped a big update. Your save carries over.",[11,798,799],{},[14,800,801,802],{},"Play → ",[24,803,29],{"href":26,"rel":804},[28],[57,806,808],{"id":807},"whats-new","What's new",[810,811,813],"h3",{"id":812},"circuit-chips-and-the-circuit-tree","Circuit Chips and the Circuit Tree",[11,815,816,817,819,820,823],{},"While you tap rapidly, ",[14,818,131],{}," now drop on the floor. Tap a chip to pick it up. Each chip is red, blue, green, or yellow, and you spend it in the ",[14,821,822],{},"Circuit Tree"," (from the top-right menu) on upgrades of the same color.",[113,825,826,832,838,844,850,853,856],{},[65,827,828,831],{},[14,829,830],{},"Red (Tapping)",": tap earnings, combo feel",[65,833,834,837],{},[14,835,836],{},"Blue (Automation)",": workers, the assembly line",[65,839,840,843],{},[14,841,842],{},"Green (Factory)",": expansion, machine and level prices",[65,845,846,849],{},[14,847,848],{},"Yellow (Luck)",": Golden Screws, Fever",[65,851,852],{},"Chips drop after you launch your first star (if you have done a Galaxy Rebirth, from the start), on a star where you have unlocked the Rapid-Tap Combo, while you keep a combo of 8 or more. One chip appears every 12 seconds of continuous tapping.",[65,854,855],{},"Chips and upgrades are kept through rebirths and Galaxy Rebirths.",[65,857,858],{},"The upgrades are nice-to-haves. Nothing requires them, so if you prefer to play idle, you will not fall behind.",[810,860,137],{"id":861},"machine-expansion",[11,863,864,865,868],{},"Each machine type used to cap at 24. When you reach the cap, the Buy button turns into ",[14,866,867],{},"Expand",", and money raises the limit by 2 at a time (up to 48). The cost jumps with every expansion, so it is a late-game money sink. Expansions are kept through rebirths.",[810,870,143],{"id":871},"build-affordable",[11,873,874,875,877,878,880],{},"Rebuilding 24 machines after every rebirth was a chore. Each machine row now has a ",[14,876,147],{}," button, and when you have two or more machine types, ",[14,879,143],{}," builds everything you can afford, cheapest first.",[810,882,884],{"id":883},"english-and-traditional-chinese","English and Traditional Chinese",[11,886,887],{},"If your browser is set to English, the game starts in English. Traditional Chinese is available too. You can switch languages anytime from the menu (the game saves and reloads).",[810,889,891],{"id":890},"achievements","Achievements",[11,893,894],{},"There are now 42 achievements (9 are secret), including new ones for Circuit Chips and expansion.",[57,896,898],{"id":897},"fixes","Fixes",[113,900,901,907],{},[65,902,903,906],{},[14,904,905],{},"Boost disappearing",": the boost from daily missions used to vanish when you closed and reopened the site, and when you moved to another star. It now keeps its remaining time, ticking down by the clock even while the game is closed, and it carries over between stars.",[65,908,909,912],{},[14,910,911],{},"Mouse controls on PC",": dragging the floor needs a slightly longer drag, so rapid clicking no longer makes the view jump. The view does not coast after you let go. Hovering the floor shows a ring for the area a tap will hit. Opening the tech tree widens the right-hand column.",[57,914,916],{"id":915},"a-note-for-players","A note for players",[113,918,919,922],{},[65,920,921],{},"If Circuit Chips do not appear, check that you have launched a star, that you have unlocked the Rapid-Tap Combo on this star, and that you are tapping continuously (the clock pauses when you stop).",[65,923,924],{},"Expansion prices and Circuit Tree strength will be tuned as we see how people play. We will post here when they change.",[11,926,927,928,930],{},"Bugs and feedback are welcome via the ",[24,929,273],{"href":272},".",{"title":290,"searchDepth":291,"depth":291,"links":932},[933,941,942],{"id":807,"depth":291,"text":808,"children":934},[935,937,938,939,940],{"id":812,"depth":936,"text":813},3,{"id":861,"depth":936,"text":137},{"id":871,"depth":936,"text":143},{"id":883,"depth":936,"text":884},{"id":890,"depth":936,"text":891},{"id":897,"depth":291,"text":898},{"id":915,"depth":291,"text":916},"Himaneji, a free idle factory clicker in your browser, now has Circuit Chips and a 4-color upgrade tree, machine expansion, one-tap building, and English and Traditional Chinese.",{},"\u002Fblog\u002F2026-10-12-neji-chips-expansion-en",{"title":789,"description":943},"blog\u002F2026-10-12-neji-chips-expansion-en",[310],{"ja":950,"en":280,"zh-Hant":560},"\u002Fblog\u002F2026-10-12-neji-chips-expansion\u002F","BIUVasN2YV3zrTFoeGmHPAIFCH5inA9U8U6tWyJZkcg",{"id":953,"title":954,"body":955,"date":297,"description":1099,"draft":299,"extension":300,"image":776,"lang":576,"meta":1100,"navigation":304,"path":1101,"pr":299,"relatedGames":306,"seo":1102,"stem":1103,"tags":1104,"translations":1105,"updated":306,"__hash__":1106},"blog\u002Fblog\u002F2026-10-12-neji-chips-expansion-zh.md","Himaneji 更新:基板晶片、機器擴建、一鍵建造,以及英文與繁體中文版",{"type":8,"value":956,"toc":1088},[957,962,970,973,976,986,1021,1023,1030,1033,1042,1045,1048,1051,1054,1057,1071,1074,1082],[11,958,959,961],{},[14,960,325],{}," 是一款可在瀏覽器免費遊玩的放置點擊遊戲。點擊機器製造螺絲,擴展科技樹,再發射火箭前往新的星球。不用下載、不用登入,手機和電腦都能玩。這次有一次大更新,原本的存檔可以繼續使用。",[11,963,964],{},[14,965,966,967],{},"開始遊玩 → ",[24,968,29],{"href":26,"rel":969},[28],[57,971,972],{"id":972},"新增內容",[810,974,975],{"id":975},"基板晶片與基板樹",[11,977,978,979,981,982,985],{},"快速連續點擊時,地板上會出現",[14,980,416],{},"。點一下就能撿起來。晶片有紅、藍、綠、黃四種顏色,可以在右上角選單的「",[14,983,984],{},"基板樹","」中,用來升級同色的強化。",[113,987,988,994,1000,1006,1012,1015,1018],{},[65,989,990,993],{},[14,991,992],{},"紅(點擊)",":點擊收益、連擊手感",[65,995,996,999],{},[14,997,998],{},"藍(自動)",":工人、流水線",[65,1001,1002,1005],{},[14,1003,1004],{},"綠(工廠)",":擴建,以及機器與等級的價格",[65,1007,1008,1011],{},[14,1009,1010],{},"黃(幸運)",":黃金螺絲、狂熱",[65,1013,1014],{},"出現條件:發射第一顆星球之後(完成過銀河轉生的玩家,從一開始就會出現)、在已解鎖「連點連擊」的星球上、並維持 8 連擊以上。持續點擊時,每 12 秒出現一個。",[65,1016,1017],{},"晶片與強化在轉生、銀河轉生後都會保留。",[65,1019,1020],{},"這些強化只是「有更好」的程度,並非必要。喜歡放置玩法的玩家也不會落後。",[810,1022,422],{"id":422},[11,1024,1025,1026,1029],{},"每種機器的數量上限原本是 24 台。達到上限後,「購買」按鈕會變成「",[14,1027,1028],{},"擴建","」,可以用金錢每次提高 2 台的上限(最多 48 台)。每次擴建的價格都會大幅上升,是後期的金錢用途。擴建在轉生後也會保留。",[810,1031,1032],{"id":1032},"一鍵建造",[11,1034,1035,1036,1038,1039,1041],{},"每次轉生後都要把機器按 24 次,實在很麻煩。現在每種機器都有「",[14,1037,474],{},"」按鈕;擁有兩種以上機器時,還可以用「",[14,1040,478],{},"」,從便宜的開始,把買得起的全部建好。",[810,1043,1044],{"id":1044},"英文與繁體中文版",[11,1046,1047],{},"瀏覽器語言設為英文或中文的玩家,會自動以對應的語言開始遊戲。也可以隨時從選單切換語言(會先儲存再重新載入)。",[810,1049,1050],{"id":1050},"成就",[11,1052,1053],{},"成就增加到 42 個(其中 9 個為隱藏),包含與基板晶片、擴建相關的新成就。",[57,1055,1056],{"id":1056},"修正",[113,1058,1059,1065],{},[65,1060,1061,1064],{},[14,1062,1063],{},"加速消失的問題",":每日任務獲得的「加速」,在關閉網站再開啟,或移動到另一顆星球時會消失。現在會保存剩餘時間,關閉遊戲期間也照時間倒數,並且會帶到其他星球。",[65,1066,1067,1070],{},[14,1068,1069],{},"電腦版的滑鼠操作",":拖曳地板的起始距離稍微加大,避免連點時畫面飛走;放開滑鼠後畫面不會繼續滑動。滑鼠移到地板上時,會顯示點擊所能涵蓋的範圍圈。打開科技樹時,右側欄位會變寬。",[57,1072,1073],{"id":1073},"給玩家的提醒",[113,1075,1076,1079],{},[65,1077,1078],{},"如果沒有出現基板晶片,請確認:是否已發射過星球、這顆星球是否已解鎖「連點連擊」、是否持續點擊(停止點擊時計時會暫停)。",[65,1080,1081],{},"擴建的價格與基板樹的強度,會依大家的遊玩狀況調整。有調整時會在部落格公告。",[11,1083,1084,1085,1087],{},"若有錯誤回報或意見,歡迎透過",[24,1086,553],{"href":272},"告訴我們。",{"title":290,"searchDepth":291,"depth":291,"links":1089},[1090,1097,1098],{"id":972,"depth":291,"text":972,"children":1091},[1092,1093,1094,1095,1096],{"id":975,"depth":936,"text":975},{"id":422,"depth":936,"text":422},{"id":1032,"depth":936,"text":1032},{"id":1044,"depth":936,"text":1044},{"id":1050,"depth":936,"text":1050},{"id":1056,"depth":291,"text":1056},{"id":1073,"depth":291,"text":1073},"可在瀏覽器免費遊玩的放置工廠點擊遊戲「Himaneji(ヒマネジ)」,新增基板晶片與四色強化樹、機器擴建、一鍵建造,並支援英文與繁體中文。",{},"\u002Fblog\u002F2026-10-12-neji-chips-expansion-zh",{"title":954,"description":1099},"blog\u002F2026-10-12-neji-chips-expansion-zh",[582],{"ja":950,"en":280,"zh-Hant":560},"09sS0qx3ZwOOYzVtOF8fiKnI9jKB26tpSWTR75lPk9M",{"id":1108,"title":1109,"body":1110,"date":297,"description":1243,"draft":299,"extension":300,"image":776,"lang":777,"meta":1244,"navigation":304,"path":1245,"pr":299,"relatedGames":306,"seo":1246,"stem":1247,"tags":1248,"translations":1250,"updated":306,"__hash__":1251},"blog\u002Fblog\u002F2026-10-12-neji-chips-expansion.md","「ヒマネジ」に基盤チップと増設、機械の一括購入、英語版・繁体字版を追加しました",{"type":8,"value":1111,"toc":1232},[1112,1115,1122,1125,1128,1131,1166,1169,1172,1175,1178,1182,1185,1194,1197,1200,1203,1217,1220,1228],[11,1113,1114],{},"ブラウザで遊べる放置系クリッカー「ヒマネジ」を、更新しました。記録はこれまでどおり使えます。",[11,1116,1117],{},[14,1118,597,1119],{},[24,1120,29],{"href":26,"rel":1121},[28],[57,1123,1124],{"id":1124},"追加したもの",[810,1126,1127],{"id":1127},"基盤チップと基盤ツリー",[11,1129,1130],{},"連打しているときに、床に「基盤チップ」が出るようになりました。タップで拾うと、赤・青・緑・黄の4色の、どれかが貯まります。貯めたチップは、メニューの「基盤ツリー」で、同じ色の強化に使えます。",[113,1132,1133,1139,1145,1151,1157,1160,1163],{},[65,1134,1135,1138],{},[14,1136,1137],{},"赤(叩き)",": 叩く稼ぎ、コンボの手触り",[65,1140,1141,1144],{},[14,1142,1143],{},"青(自動)",": 作業員、流れ作業",[65,1146,1147,1150],{},[14,1148,1149],{},"緑(工場)",": 増設や、機械・レベルの値段",[65,1152,1153,1156],{},[14,1154,1155],{},"黄(運)",": 金のネジ、フィーバー",[65,1158,1159],{},"出る条件: 最初の星を打ち上げたあと(銀河転生をした方は、はじめから)、技術ツリーの「連打コンボ」を解放した星で、連打(コンボ8以上)を続けているとき。12秒ごとに1つ出ます。",[65,1161,1162],{},"チップと強化は、転生しても、銀河転生しても、なくなりません。",[65,1164,1165],{},"強化は「あると嬉しい」程度です。なくても、先へ進めます。放置だけで進めている方が、置いていかれることはありません。",[810,1167,1168],{"id":1168},"増設",[11,1170,1171],{},"機種ごとの機械の台数は、24台が上限でした。上限まで建てると、「買う」ボタンが「増設」に変わり、お金で、上限を2台ずつ広げられます(最大48台まで)。値段は、増設のたびに、大きく上がります。後半の、お金の使い道です。増設は、転生しても残ります。",[810,1173,1174],{"id":1174},"機械の一括購入",[11,1176,1177],{},"転生のたびに、機械を24回ずつ押すのは、大変でした。各機種の行に「最大」ボタンを足しました。また、機種が2つ以上あるときは、「買えるだけ建設」で、全機種を、安い順に、買えるだけ建てます。",[810,1179,1181],{"id":1180},"英語版繁体字版","英語版・繁体字版",[11,1183,1184],{},"ブラウザの言語が英語の方は英語で、中国語(台湾・香港など)の方は繁体字で、はじめから表示されます。メニューの下の「日本語\u002FEnglish\u002F繁體中文」で、いつでも切り替えられます(押すと、保存してから読み込み直します)。",[11,1186,1187,1188,1190,1191,1193],{},"この記事の英語版は ",[24,1189,310],{"href":280},"、繁体字版は ",[24,1192,582],{"href":560}," です。",[810,1195,1196],{"id":1196},"実績",[11,1198,1199],{},"実績は、全部で42個(うち9個は隠し)になりました。基盤チップと増設に関する実績が増えています。",[57,1201,1202],{"id":1202},"直したもの",[113,1204,1205,1211],{},[65,1206,1207,1210],{},[14,1208,1209],{},"加速が消える不具合",": 今日のミッションでもらえる「加速」が、サイトを閉じて開き直すと、残り時間があっても消えていました。残り時間を保存して、閉じている間も、時計どおりに減るようにしました。また、別の星へ飛ぶと消えていた点も、直しました。",[65,1212,1213,1216],{},[14,1214,1215],{},"パソコンの操作",": マウスで、床を動かし始める距離を、少し大きくしました(連打中に、画面が飛ぶことを減らすため)。離しても、勢いで滑りません。マウスを床に載せると、叩いたときに当たる範囲が、輪で見えます。技術ツリーを開くと、右の列が広がって、読みやすくなりました。",[57,1218,1219],{"id":1219},"遊んでいる方へ",[113,1221,1222,1225],{},[65,1223,1224],{},"基盤チップが出ないときは、最初の星を打ち上げているか、技術ツリーの「連打コンボ」を解放しているか、連打を続けているか(叩くのをやめると、時計が止まります)を、確かめてみてください。",[65,1226,1227],{},"増設の値段や、基盤ツリーの強さは、遊んでいる方の様子を見ながら、調整していきます。調整するときは、このブログでお知らせします。",[11,1229,761,1230,765],{},[24,1231,764],{"href":272},{"title":290,"searchDepth":291,"depth":291,"links":1233},[1234,1241,1242],{"id":1124,"depth":291,"text":1124,"children":1235},[1236,1237,1238,1239,1240],{"id":1127,"depth":936,"text":1127},{"id":1168,"depth":936,"text":1168},{"id":1174,"depth":936,"text":1174},{"id":1180,"depth":936,"text":1181},{"id":1196,"depth":936,"text":1196},{"id":1202,"depth":291,"text":1202},{"id":1219,"depth":291,"text":1219},"ヒマネジに、連打すると床に出る「基盤チップ」と専用ツリー、機械の台数の上限を広げる「増設」、機械の一括購入、英語版と繁体字版を追加しました。加速が消える不具合も直しました。",{},"\u002Fblog\u002F2026-10-12-neji-chips-expansion",{"title":1109,"description":1243},"blog\u002F2026-10-12-neji-chips-expansion",[1249,783,784],"お知らせ",{"ja":950,"en":280,"zh-Hant":560},"DTFJSVGBa95hg1EGG9UmVigE0zC2ULZBqtvIeszAJl8",{"id":1253,"title":1254,"body":1255,"date":297,"description":1397,"draft":299,"extension":300,"image":776,"lang":777,"meta":1398,"navigation":304,"path":1399,"pr":299,"relatedGames":306,"seo":1400,"stem":1401,"tags":1402,"translations":306,"updated":306,"__hash__":1404},"blog\u002Fblog\u002F2026-10-12-neji-what-is-idle-game.md","放置ゲーム(クリッカー)とは?ブラウザで無料で遊べる「ヒマネジ」で体験しよう",{"type":8,"value":1256,"toc":1391},[1257,1264,1273,1276,1279,1296,1299,1303,1329,1332,1335,1366,1369,1380,1387],[11,1258,1259,1260,1263],{},"「放置ゲーム」「クリッカー」「インクリメンタルゲーム」。似た言葉がたくさんありますが、ひとことで言うと、",[14,1261,1262],{},"数字が増えていくのを眺めて、育てるゲーム","です。この記事では、その遊び方と魅力を、ブラウザで遊べる「ヒマネジ」を例に紹介します。",[11,1265,1266,1272],{},[14,1267,1268,1269],{},"ヒマネジを遊ぶ → ",[24,1270,29],{"href":26,"rel":1271},[28],"(無料・ダウンロードとログインは不要)",[57,1274,1275],{"id":1275},"放置ゲームとは",[11,1277,1278],{},"放置ゲームは、操作が少なくても進むゲームです。大まかな流れは、次のとおりです。",[62,1280,1281,1284,1287,1290,1293],{},[65,1282,1283],{},"最初は、画面をタップ(クリック)して、少しだけお金を稼ぐ",[65,1285,1286],{},"お金で、自動で稼いでくれる仕組みを買う",[65,1288,1289],{},"放っておいても、数字がどんどん増える",[65,1291,1292],{},"増えたお金で、さらに強い仕組みを買う",[65,1294,1295],{},"行き詰まったら、最初からやり直して(転生・リセット)、前より早く進む",[11,1297,1298],{},"「クリッカー」は、画面をクリックして進める放置ゲームのことです。「インクリメンタルゲーム」は、数字が増え続けるタイプのゲームの総称で、ほぼ同じものを指します。",[57,1300,1302],{"id":1301},"魅力は少しずつ強くなる手応え","魅力は、「少しずつ強くなる」手応え",[113,1304,1305,1311,1317,1323],{},[65,1306,1307,1310],{},[14,1308,1309],{},"すぐ始められる",": 説明を読まなくても、タップするだけで始まります。",[65,1312,1313,1316],{},[14,1314,1315],{},"短い時間でも進む",": 数分だけ触っても、閉じている間も進むので、時間が空いても置いていかれません。",[65,1318,1319,1322],{},[14,1320,1321],{},"数字が桁違いに伸びる",": 最初は1円ずつだったものが、やがて何億、何兆と増えていく、その伸びが気持ちよく感じられます。",[65,1324,1325,1328],{},[14,1326,1327],{},"考える場面もある",": 何を先に買うか、どの道を選ぶかで、進み方が変わります。",[57,1330,1331],{"id":1331},"ヒマネジの場合",[11,1333,1334],{},"ヒマネジは、ネジの工場を育てる放置ゲームです。",[113,1336,1337,1342,1348,1354,1363],{},[65,1338,1339,1341],{},[14,1340,610],{},"してネジを作り、お金を稼ぎます。",[65,1343,1344,1347],{},[14,1345,1346],{},"機械を買い足す","と、タップしなくても、機械が自分で働きます。",[65,1349,1350,1353],{},[14,1351,1352],{},"技術ツリー","で、タップを強くしたり、作業員を雇ったりして、工場を育てます。分かれ道では、どちらの道に進むか選べます。",[65,1355,683,1356,1358,1359,1362],{},[14,1357,739],{},"して強化を持ち越し、",[14,1360,1361],{},"ロケット","で次の星へ進みます。星は全部で6つあります。",[65,1364,1365],{},"スマホでもパソコンでも遊べて、セーブはブラウザに自動で保存されます。",[57,1367,1368],{"id":1368},"放置ゲームを楽しむコツ",[113,1370,1371,1374,1377],{},[65,1372,1373],{},"焦らなくて大丈夫です。進みが遅いと感じたら、少し放っておくだけで進みます。",[65,1375,1376],{},"行き詰まりを感じたら、転生のタイミングです。やり直しのほうが、早く進むようになっています。",[65,1378,1379],{},"無理に毎日触らなくてもかまいません。気が向いたときに、のぞいてください。",[11,1381,1382,1383,758],{},"序盤の進め方を知りたい方は、",[24,1384,1386],{"href":1385},"\u002Fblog\u002F2026-10-12-neji-beginner-guide\u002F","ヒマネジの序盤の進め方と転生のタイミング",[11,1388,761,1389,765],{},[24,1390,764],{"href":272},{"title":290,"searchDepth":291,"depth":291,"links":1392},[1393,1394,1395,1396],{"id":1275,"depth":291,"text":1275},{"id":1301,"depth":291,"text":1302},{"id":1331,"depth":291,"text":1331},{"id":1368,"depth":291,"text":1368},"放置ゲーム(クリッカー、インクリメンタルゲーム)の遊び方と魅力を、ブラウザで無料で遊べる「ヒマネジ」を例に紹介します。ダウンロードもログインも不要です。",{},"\u002Fblog\u002F2026-10-12-neji-what-is-idle-game",{"title":1254,"description":1397},"blog\u002F2026-10-12-neji-what-is-idle-game",[783,784,1403],"放置ゲーム","o8817Gu0X05_GM5sBCsFTacwTPmrU59BV6QJUp28hcs",{"id":1406,"title":1407,"body":1408,"date":1469,"description":1470,"draft":299,"extension":300,"image":776,"lang":777,"meta":1471,"navigation":304,"path":1472,"pr":299,"relatedGames":306,"seo":1473,"stem":1474,"tags":1475,"translations":306,"updated":306,"__hash__":1476},"blog\u002Fblog\u002F2026-10-11-neji-achievements.md","「ヒマネジ」に実績とメニューを追加しました",{"type":8,"value":1409,"toc":1465},[1410,1413,1420,1422,1448,1450,1461],[11,1411,1412],{},"ブラウザで遊べる放置系クリッカー「ヒマネジ」に、実績を追加しました。",[11,1414,1415],{},[14,1416,597,1417],{},[24,1418,29],{"href":26,"rel":1419},[28],[57,1421,1124],{"id":1124},[113,1423,1424,1430,1436,1442],{},[65,1425,1426,1429],{},[14,1427,1428],{},"実績(全部で42個)",": 稼いだ額、機械の数、転生の回数、打ち上げた星の数などで取れます。取ると画面に「実績解除」と出ます。報酬はありません。遊んだ記念です。",[65,1431,1432,1435],{},[14,1433,1434],{},"隠し実績(42個のうち9個)",": 何をすると取れるかは、取るまで「？？？」です。取ると条件が見えます。",[65,1437,1438,1441],{},[14,1439,1440],{},"右上のメニュー",": 実績、データの引き継ぎ、お知らせ、ほかのゲームへのリンク、ホーム画面に追加を、ここにまとめました。新しい実績があると、ボタンに赤い点が付きます。",[65,1443,1444,1447],{},[14,1445,1446],{},"Xでシェア",": 初めての転生と、ロケットの打ち上げのあとに、ボタンが出ます。記録つきの文章で、Xの投稿画面が開きます。",[57,1449,1219],{"id":1219},[113,1451,1452,1455,1458],{},[65,1453,1454],{},"いままでの記録で条件を満たしている実績は、最初に開いたときに、まとめて付きます。通知は出ません。",[65,1456,1457],{},"はじめからやり直しても、実績の記録は残ります。ただし、このブラウザの中に保存されています。ブラウザのデータを消すと、実績も消えます。機種を変えるときは、引き継ぎコードに入らないので、ご注意ください。",[65,1459,1460],{},"実績は、遊び方を縛るものではありません。気が向いたときに、のぞいてください。",[11,1462,761,1463,765],{},[24,1464,764],{"href":272},{"title":290,"searchDepth":291,"depth":291,"links":1466},[1467,1468],{"id":1124,"depth":291,"text":1124},{"id":1219,"depth":291,"text":1219},"2026-10-11","ヒマネジに、実績(全部で42個。うち9個は隠し)と、右上のメニュー、Xでシェアのボタンを追加しました。記録はこれまでどおり使えます。",{},"\u002Fblog\u002F2026-10-11-neji-achievements",{"title":1407,"description":1470},"blog\u002F2026-10-11-neji-achievements",[1249,783,784],"Y08eRohEpMGp65awBcIL8f4BGjLAp9eIfmimNxTXpas",{"id":1478,"title":1479,"body":1480,"date":1582,"description":1583,"draft":299,"extension":300,"image":776,"lang":777,"meta":1584,"navigation":304,"path":1585,"pr":299,"relatedGames":306,"seo":1586,"stem":1587,"tags":1588,"translations":306,"updated":306,"__hash__":1589},"blog\u002Fblog\u002F2026-10-10-neji-balance.md","「ヒマネジ」のバランスを見直しました(数字の膨らみを抑えて、次の星へ進む流れに)",{"type":8,"value":1481,"toc":1576},[1482,1485,1492,1495,1498,1501,1504,1540,1543,1561,1564,1572],[11,1483,1484],{},"ブラウザで遊べる放置系クリッカー「ヒマネジ」の、バランスを見直しました。セーブデータはそのまま使えます。",[11,1486,1487],{},[14,1488,597,1489],{},[24,1490,29],{"href":26,"rel":1491},[28],[57,1493,1494],{"id":1494},"なぜ見直したか",[11,1496,1497],{},"よく遊んでくれている方の進み方を見ると、1つの星で転生を何十回も繰り返して、設計図が桁違いに増えていました。そうなると、1周が数秒で終わり、何を押しても数字が伸びるだけで、遊んでいる実感が薄くなります。実際に、よく遊んでくれている方からも、数字が膨らみすぎて押しても手応えがない、という声をいただきました。",[11,1499,1500],{},"数字が膨らみ続ける仕組みを止めて、「1つの星で育てたら、次の星へ進む」流れに整えるのが、今回の目的です。",[57,1502,1503],{"id":1503},"変えたところ",[113,1505,1506,1512,1522,1528,1534],{},[65,1507,1508,1511],{},[14,1509,1510],{},"使っていない設計図のボーナス",": 設計図が増えるほど際限なく強くなっていたのを、設計図の「桁」に比例する形にしました。",[65,1513,1514,1517,1518,1521],{},[14,1515,1516],{},"打ち上げの設計図2倍",": 打ち上げた周の設計図2倍は、その星で",[14,1519,1520],{},"初めて打ち上げたときだけ","になりました。2回目以降は、次の星へ進むほうが得になります。",[65,1523,1524,1527],{},[14,1525,1526],{},"転生でもらえる設計図",": 稼いだ額に対する増え方を、少し緩やかにしました。最初の転生でもらえる量は、これまでと同じです。",[65,1529,1530,1533],{},[14,1531,1532],{},"次の星ほど、少しずつ難しく",": 星が進むごとに、稼ぎの伸びを10分の1ずつにしました。2つ目以降の星が、一瞬で終わらないようにするためです。",[65,1535,1536,1539],{},[14,1537,1538],{},"銀河の欠片",": 設計図の伸びが緩やかになったのに合わせて、もらえる欠片の基準も合わせました。",[57,1541,1542],{"id":1542},"遊んでいる方への影響",[113,1544,1545,1552,1555,1558],{},[65,1546,1547,1548,1551],{},"セーブデータは消えません。",[14,1549,1550],{},"数字は下がります","が、持っているものはそのままです。",[65,1553,1554],{},"すでに多くの設計図や強化を持っている方は、後の星が以前よりは時間がかかるようになります。1つの星で転生を重ねたら、次の星へ進むのがおすすめです。",[65,1556,1557],{},"目安として、最短で6つの星を打ち上げるまでが約4時間です(試算)。実際には、遊び方しだいで6〜8時間ほどかかると見ています。",[65,1559,1560],{},"今回の見直しに合わせて、データ引き継ぎ機能にも、取り込む前のデータへ戻す機能を足しました。",[57,1562,1563],{"id":1563},"これからのこと",[113,1565,1566,1569],{},[65,1567,1568],{},"序盤の最初の1分と、中盤の間延びを、遊んでいる方の動きを見ながら調整していきます。",[65,1570,1571],{},"数字は、ベータ版の間は、さらに変わることがあります。変えるときは、このブログでお知らせします。",[11,1573,761,1574,765],{},[24,1575,764],{"href":272},{"title":290,"searchDepth":291,"depth":291,"links":1577},[1578,1579,1580,1581],{"id":1494,"depth":291,"text":1494},{"id":1503,"depth":291,"text":1503},{"id":1542,"depth":291,"text":1542},{"id":1563,"depth":291,"text":1563},"2026-10-10","ヒマネジで、設計図が増えすぎて数字が膨らみ続ける状態になっていたため、伸び方を見直しました。セーブデータはそのままです。数字は下がりますが、消えたものはありません。",{},"\u002Fblog\u002F2026-10-10-neji-balance",{"title":1479,"description":1583},"blog\u002F2026-10-10-neji-balance",[1249,783,784],"7smds8mSY-R8PDb_hz2QCCreyYLoHTkWOL93j4w5Nlc",{"id":1591,"title":1592,"body":1593,"date":1643,"description":1644,"draft":299,"extension":300,"image":776,"lang":777,"meta":1645,"navigation":304,"path":1646,"pr":299,"relatedGames":306,"seo":1647,"stem":1648,"tags":1649,"translations":306,"updated":306,"__hash__":1650},"blog\u002Fblog\u002F2026-10-06-neji-beta.md","新作「ヒマネジ」をベータ版で公開しました",{"type":8,"value":1594,"toc":1638},[1595,1598,1601,1608,1611,1614,1617,1620,1623,1626,1629,1632],[11,1596,1597],{},"新作ミニゲーム「ヒマネジ」を、ベータ版として公開しました。公開した直後は「ネジ工場」という名前でしたが、暇なときに叩いて放っておける、というゲームの性格に合わせて名前を変えました。",[11,1599,1600],{},"機械をタップしてネジを作って、そのお金で機械を買い足して、工場を大きくしていくクリッカーです。ブラウザで動くので、ダウンロードもログインも要りません。スマホでもパソコンでも遊べます。",[11,1602,1603],{},[14,1604,597,1605],{},[24,1606,29],{"href":26,"rel":1607},[28],[57,1609,1610],{"id":1610},"どんなゲームか",[11,1612,1613],{},"最初は機械が1台、叩くたびにネジが1個出るだけです。お金が貯まったら機械を買い足して、そのうち機械が勝手に動いてネジを作ってくれるようになります。",[11,1615,1616],{},"お金は「技術ツリー」にも使います。マスを解放していくと、叩きやすくなったり、運がよくなったり、作業員を雇えたりして、工場の育ち方が変わります。ツリーは分かれ道が多いので、どこを伸ばすかは遊ぶ人しだいです。",[11,1618,1619],{},"工場が育ちきったらロケットを打ち上げて、次の星へ向かいます。次の星では、またネジから工場を建て直します。前の星に戻ることもできて、離れている間も、前の星の工場は少しずつ稼いでくれています。",[57,1621,1622],{"id":1622},"今のところ",[11,1624,1625],{},"作り始めてから、ツリーや転生、星の仕組みまで増えて、思ったより大きくなりました。ただ、まだ数字の調整が足りていません。序盤が長く感じたり、途中で伸びが鈍ったりするところがあると思います。遊んでいて気になったところは、そのまま教えてもらえるとありがたいです。",[11,1627,1628],{},"セーブはお使いのブラウザの中に保存されます。ブラウザのデータを消すと、進行も消えるので気をつけてください。スマホのホーム画面に追加して遊ぶ場合、iPhone ではブラウザとは別の保存場所になります。追加したあとは、そちらで続きを遊ぶ形になります。",[57,1630,1631],{"id":1631},"ご意見はこちらへ",[11,1633,1634,1635,1637],{},"不具合の報告や感想は、",[24,1636,764],{"href":272},"から受け付けています。ベータ版の間は、数字や仕組みを変えることがあります。保存した進行が消えないようには作っていますが、大きく変わる場合は、このブログでお知らせします。",{"title":290,"searchDepth":291,"depth":291,"links":1639},[1640,1641,1642],{"id":1610,"depth":291,"text":1610},{"id":1622,"depth":291,"text":1622},{"id":1631,"depth":291,"text":1631},"2026-10-06","ネジを叩いて機械を増やし、技術ツリーを伸ばして、ロケットで次の星へ。ブラウザで遊べる放置系クリッカー「ヒマネジ」(旧称「ネジ工場」)をベータ版として公開しました。感想や不具合はお問い合わせから受け付けています。",{},"\u002Fblog\u002F2026-10-06-neji-beta",{"title":1592,"description":1644},"blog\u002F2026-10-06-neji-beta",[1249,783],"-se7bfroceKmr-HkyBpknFDhsjhEecXg6qw3JepTenw",{"id":1652,"title":1653,"body":1654,"date":1776,"description":1777,"draft":299,"extension":300,"image":1778,"lang":777,"meta":1779,"navigation":304,"path":1780,"pr":299,"relatedGames":1781,"seo":1783,"stem":1784,"tags":1785,"translations":306,"updated":306,"__hash__":1786},"blog\u002Fblog\u002F2026-09-23-beatvista-steam.md","音楽ゲーム「BEATVISTA(ビートビスタ)」のSteamストアページが公開されました",{"type":8,"value":1655,"toc":1770},[1656,1664,1667,1675,1679,1682,1688,1691,1694,1697,1700,1703,1709,1712,1716,1722,1730,1734,1737,1746,1755,1758,1767],[11,1657,1658,1659,1663],{},"SCGFの",[24,1660,1662],{"href":1661},"\u002Fmembers\u002F#shade","メンバー","のひとり、ShadeLurkが作っている音楽ゲーム「BEATVISTA(ビートビスタ)」のSteamストアページが公開されました。",[11,1665,1666],{},"ShadeLurkとは、フォウルと同じくらい昔からの付き合いです。いろいろなゲームを作っているのは前から知っていたので、ストアページを見たときは「ついに世に出る作品が来たか」というのが正直な感想でした。",[11,1668,1669,1670,1674],{},"scgf.netにも",[24,1671,1673],{"href":1672},"\u002Fgames\u002Fbeatvista\u002F","紹介ページ","を作ったので、あわせて案内します。",[57,1676,1678],{"id":1677},"mvを見ながら叩く音ゲー","MVを見ながら叩く音ゲー",[11,1680,1681],{},"画面いっぱいに曲のMV(ミュージックビデオ)が流れて、その上に半透明の譜面が重なります。曲に合わせてパネルやノーツを叩き、タイミングが合うほどコンボが伸びていく。目指すのは曲のクリアです。",[11,1683,1684],{},[40,1685],{"alt":1686,"src":1687},"BEATVISTAのプレイ画面。MVの上に譜面が重なっている","\u002Fimages\u002Fgames\u002Fbeatvista\u002Fgameplay-1.jpg",[11,1689,1690],{},"叩き方は5種類から選べます。3×3のパネルに出るマーカーを叩く「9 PANEL」があるかと思えば、上から流れてくるノーツを5本や8本のキーで押すタイプもあります。どれを選ぶかで、同じ曲でも指の動きがまるごと変わります。",[11,1692,1693],{},"難易度はBEGINNERからHELLまでの7段階です。下の3段階には同時押しがないので、音ゲーに慣れていない人でも入りやすくなっています。",[57,1695,1696],{"id":1696},"叩けないところだけ巻き戻せる",[11,1698,1699],{},"もうひとつ変わっているのが巻き戻しです。ボタンを押している間だけ曲が戻り、離したところからやり直せます。",[11,1701,1702],{},"音ゲーで一か所だけどうしても叩けないフレーズがあると、ふつうは曲の頭からやり直しです。BEATVISTAならその場で戻して、同じところを何度でも練習できます。巻き戻したプレイは練習の扱いになり、クリアの記録には残りません。",[11,1704,1705],{},[40,1706],{"alt":1707,"src":1708},"巻き戻し中の画面。戻っている時間が中央に出る","\u002Fimages\u002Fgames\u002Fbeatvista\u002Frewind.jpg",[11,1710,1711],{},"と、ここまで書いておいてなんですが、私はまだBEATVISTAを遊んだことがありません。ここまでの内容は、本人が作ったページでプレイ映像を見て知ったことです。",[57,1713,1715],{"id":1714},"scgfnetにも紹介ページを作りました","scgf.netにも紹介ページを作りました",[11,1717,1718,1721],{},[24,1719,1720],{"href":1672},"BEATVISTAの紹介ページ","には、プレイ映像や操作方式、難易度、設定画面などをまとめています。ゲームはShadeLurkの作品で、scgf.netはその紹介ページを置かせてもらっている形です。",[11,1723,1724,1725,1729],{},"収録曲の映像を集めた",[24,1726,1728],{"href":1727},"\u002Fbeatvista\u002F","LIVE SHELF","も公開中です。棚に並んだケースにカーソルを合わせると、その曲のプレイ映像が流れます。どんな曲が入るのか先に見ておきたい人はこちらからどうぞ。",[57,1731,1733],{"id":1732},"配信は2026年10月早期アクセスから","配信は2026年10月、早期アクセスから",[11,1735,1736],{},"配信はSteamの早期アクセスから始まる予定で、時期は2026年10月です。",[11,1738,1739,1740,1745],{},"早期アクセスは、開発中のゲームを先に買って遊べるようにして、更新を重ねながら完成まで作り込んでいく仕組みです。詳しくは",[24,1741,1744],{"href":1742,"rel":1743},"https:\u002F\u002Fstore.steampowered.com\u002Fearlyaccessfaq\u002F",[28],"Steamの早期アクセスFAQ","に書かれています。BEATVISTAも曲を順次追加していく予定で、価格は正式版と同じになる予定だそうです。",[11,1747,1748,1749,1754],{},"気になった人は、",[24,1750,1753],{"href":1751,"rel":1752},"https:\u002F\u002Fstore.steampowered.com\u002Fapp\u002F2527810\u002F",[28],"Steamのストアページ","でウィッシュリストに入れておいてください。",[11,1756,1757],{},"ちなみに、今のところ遊べるのはWindowsだけです。そして私は、パソコンといえばMac一択の、筋金入りのApple信者です。つまり、このままだとウィッシュリストに入れても自分では遊べません。ShadeLurk、Mac版をお待ちしています。紹介記事のふりをした、信者からの切実なお願いです。",[11,1759,1760,1761,1766],{},"自分のMVをBEATVISTAに並べたいクリエイターの方は、ShadeLurkの",[24,1762,1765],{"href":1763,"rel":1764},"https:\u002F\u002Fx.com\u002FShadeLurk",[28],"X","へ連絡してみてください。リプライか引用リポストが確実で、DMは届かないことがあるそうです。",[11,1768,1769],{},"配信が始まったら、実際に遊んでみた記事をあらためて書きます。",{"title":290,"searchDepth":291,"depth":291,"links":1771},[1772,1773,1774,1775],{"id":1677,"depth":291,"text":1678},{"id":1696,"depth":291,"text":1696},{"id":1714,"depth":291,"text":1715},{"id":1732,"depth":291,"text":1733},"2026-09-23","SCGFのメンバーで古くからの友人でもあるShadeLurkの音楽ゲーム「BEATVISTA」のSteamストアページが公開されました。画面いっぱいのMVに合わせて叩く一人用の音ゲーで、2026年10月に早期アクセスで配信予定です。scgf.netにも紹介ページを作りました。","\u002Fimages\u002Fgames\u002Fbeatvista\u002Fog.jpg",{},"\u002Fblog\u002F2026-09-23-beatvista-steam",[1782],"beatvista",{"title":1653,"description":1777},"blog\u002F2026-09-23-beatvista-steam",[1249,783],"_GP6guetX9bCxOniupjjsgFPhXB98be3-mnziOYJiSw",{"id":1788,"title":1789,"body":1790,"date":1917,"description":1918,"draft":299,"extension":300,"image":1919,"lang":777,"meta":1920,"navigation":304,"path":1921,"pr":299,"relatedGames":1922,"seo":1924,"stem":1925,"tags":1926,"translations":306,"updated":306,"__hash__":1928},"blog\u002Fblog\u002F2026-08-13-sarumono-lobby-stage.md","対戦相手を待つ時間が、いちばんつまらなかった",{"type":8,"value":1791,"toc":1910},[1792,1795,1798,1801,1805,1812,1815,1818,1821,1824,1827,1831,1834,1837,1840,1843,1846,1852,1859,1865,1868,1871,1875,1878,1881,1888,1891,1898,1901],[11,1793,1794],{},"自作の対戦ゲーム「サルモノハオトス」で、オンライン対戦を選んでからいちばん退屈なのは、相手を待っている時間でした。",[11,1796,1797],{},"部屋を作る。待つ。誰も来ない。ボタンを眺める。",[11,1799,1800],{},"ゲームを作った本人が、自分のゲームの前で手持ち無沙汰になっている。これはさすがにどうかと思ったので、待つ画面をやめました。",[57,1802,1804],{"id":1803},"待ち合わせ場所ではなく遊び場にした","待ち合わせ場所ではなく、遊び場にした",[11,1806,1807,1808,1811],{},"オンライン対戦を押すと、これまでは部屋を作るためのボタンが並んだ画面が出ていました。今は、そのまま",[14,1809,1810],{},"遊べる盤面の上に降りる","ようになっています。",[11,1813,1814],{},"12マス四方の広い床の上に、自分と3匹のサルが立っています。攻撃すれば床が崩れ、落ちれば下に消えて、すぐ空から降ってきます。残機はありません。何度落ちても終わらないので、気が済むまで崩し合えます。",[11,1816,1817],{},"つまり、待ち時間そのものがゲームになりました。",[11,1819,1820],{},"3匹のサルは常にそこに居ます。誰が居ても居なくても、入った瞬間から相手がいる状態にしたかったからです。人が増えたら、同じ床の上にそのまま加わります。準備完了を押す必要も、席に着く操作もありません。",[11,1822,1823],{},"頭の上には名前が出ます。自分だけ赤い名札なので、混ざっても自分を見失いません。",[11,1825,1826],{},"画面の端には「落とした回数」だけが並びます。勝ち負けはつけませんでした。ここは順位を競う場所ではなく、待っている間に手を動かす場所だからです。",[57,1828,1830],{"id":1829},"対戦がしたくなったら今までどおり","対戦がしたくなったら、今までどおり",[11,1832,1833],{},"床の上で遊びながら、部屋を作ることもできます。ボタンは前と同じ場所にあります。",[11,1835,1836],{},"部屋に入ると盤面が8マス四方に戻り、残機5の、いつもの対戦が始まります。終わればまた広い床に戻ってきます。遊び場と対戦は、別物として並んでいます。",[57,1838,1839],{"id":1839},"スマホで困ったところ",[11,1841,1842],{},"作ってみて最初に困ったのは、スマホの画面です。",[11,1844,1845],{},"部屋を作るボタンやチャットが画面の三割を占めていて、その上では指が効きません。遊ぼうとすると操作できる範囲が狭い。かといってボタンを消すと、部屋が作れない。",[11,1847,1848],{},[40,1849],{"alt":1850,"src":1851},"部屋を作るボタンが並んでいると、盤面はその裏に埋もれる","\u002Fimages\u002Fblog\u002Fsarumono-lobby-ui.png",[11,1853,1854,1855,1858],{},"結局、",[14,1856,1857],{},"UIを畳むボタン","を右上に置きました。畳んでいる間は画面全部が操作面になり、押し戻せば元のボタンが戻ってきます。",[11,1860,1861],{},[40,1862],{"alt":1863,"src":1864},"畳むと盤面が全部見える。この状態なら画面のどこを触っても動かせる","\u002Fimages\u002Fblog\u002Fsarumono-lobby-collapsed.png",[11,1866,1867],{},"もう一つ、音を止める手段がロビーにありませんでした。この床の上では最大で11匹が同時に崩し合うので、音は賑やかです。左上に消音ボタンを足しました。",[11,1869,1870],{},"カメラの揺れも止めました。攻撃のたびに画面が揺れる演出は対戦では気持ちいいのですが、11匹が延々と崩し合う場所では、チャットの文字が読めなくなります。音は残して、揺れだけロビーで切っています。",[57,1872,1874],{"id":1873},"少し目を離しても席は残ります","少し目を離しても、席は残ります",[11,1876,1877],{},"スマホでゲームを開いたまま別のアプリを見ることは、よくあります。",[11,1879,1880],{},"そのとき裏で通信を流しっぱなしにすると、戻ってきた瞬間に溜まった処理が一気に走って固まります。なので、画面が隠れたら通信を切るようにしました。",[11,1882,1883,1884,1887],{},"ただそれだけだと、2秒アプリを切り替えただけで席も落とした回数も消えてしまいます。そこで、",[14,1885,1886],{},"30秒以内に戻ってくれば同じ席に座り直せる","ようにしています。通知を見て戻ってきたら、さっきの続きから遊べます。",[57,1889,1890],{"id":1890},"遊んでみてください",[11,1892,1893,1897],{},[24,1894,1896],{"href":1895},"\u002Fsarumono\u002F","サルモノハオトス","を開いて、オンライン対戦を押すと、その場で床の上に立ちます。ダウンロードも登録も要りません。スマホでもPCでも遊べます。",[11,1899,1900],{},"誰か居るときに入ると、そのまま乱戦になります。居なければサル3匹が相手をします。",[11,1902,1903,1904,1909],{},"遊んでみて気づいたことがあれば、",[24,1905,1908],{"href":1906,"rel":1907},"https:\u002F\u002Fx.com\u002Fscgfnet",[28],"SCGF.NET公式X（@scgfnet）","まで教えてください。次に直すところを探しています。",{"title":290,"searchDepth":291,"depth":291,"links":1911},[1912,1913,1914,1915,1916],{"id":1803,"depth":291,"text":1804},{"id":1829,"depth":291,"text":1830},{"id":1839,"depth":291,"text":1839},{"id":1873,"depth":291,"text":1874},{"id":1890,"depth":291,"text":1890},"2026-08-13","「サルモノハオトス」のオンライン対戦に、待ち時間ごと遊び場にしたロビーを用意しました。入った瞬間から床を崩し合えて、誰かが来たら同じ盤面にそのまま加わります。何を作って、何をやめたかの記録です。","\u002Fimages\u002Fblog\u002Feyecatch-lobby-stage.jpg",{},"\u002Fblog\u002F2026-08-13-sarumono-lobby-stage",[1923],"sarumono",{"title":1789,"description":1918},"blog\u002F2026-08-13-sarumono-lobby-stage",[783,1927],"テック","-N867tW4IScC0Pg5eIyjmiOlgQzHU6M-WDvlJLc0K-w",{"id":1930,"title":1931,"body":1932,"date":2060,"description":2061,"draft":299,"extension":300,"image":1959,"lang":777,"meta":2062,"navigation":304,"path":2063,"pr":299,"relatedGames":2064,"seo":2066,"stem":2067,"tags":2068,"translations":306,"updated":306,"__hash__":2069},"blog\u002Fblog\u002F2026-08-09-kuinige-smartphone-challenge.md","作者はクリアしたらしい。私はスマホで一向に逃げ切れない",{"type":8,"value":1933,"toc":2053},[1934,1937,1940,1943,1946,1949,1952,1955,1969,1974,1977,1980,1983,1986,1989,1993,2000,2003,2006,2010,2013,2020,2023,2026,2029,2033,2036,2039,2046],[11,1935,1936],{},"2002年公開のフリーゲーム「食い逃げ野郎」を、スマホのブラウザでそのまま遊べるようにしました。",[11,1938,1939],{},"作者のフォウルに聞いたところ、本人はちゃんとクリアしたらしいです。",[11,1941,1942],{},"ところが、サイトを復活させた私は一向にクリアできません。店を出た直後から、店主が本気すぎる。",[57,1944,1945],{"id":1945},"スマホ版を用意した本人が逃げ切れない",[11,1947,1948],{},"「食い逃げ野郎」は、料理を食い逃げした主人公が店主の追跡から逃げるゲームです。",[11,1950,1951],{},"今回、スマホで遊べる状態にしたので、当然まずは自分で挑戦しました。操作方法を選び、ニューゲームを押し、説明を読み、いよいよ逃走開始。",[11,1953,1954],{},"結果は、こちらです。",[1956,1957,1963,1964],"video",{"controls":304,"playsInline":304,"preload":1958,"poster":1959,"width":1960,"height":1961,"style":1962},"metadata","\u002Fimages\u002Fblog\u002Feyecatch-kuinige-smartphone-challenge.jpg",960,540,"display:block;width:100%;height:auto;border-radius:8px;background:#000","\n  ",[1965,1966],"source",{"src":1967,"type":1968},"\u002Fvideos\u002Fkuinige-smartphone-challenge.mp4","video\u002Fmp4",[11,1970,1971],{},[14,1972,1973],{},"逃げ切るどころか、店の前で捕まっています。",[11,1975,1976],{},"少し進めたと思った瞬間にはGAME OVER。動画を撮り直してもGAME OVER。スマホ対応の確認より、プレイヤーとしての腕前に問題があることだけが分かりました。",[57,1978,1979],{"id":1979},"作者フォウルはクリアしたらしい",[11,1981,1982],{},"このゲームの作者は、SCGFのメンバーであるフォウルです。",[11,1984,1985],{},"本人に確認すると、スマホでもクリアしたとのこと。少なくとも「タッチ操作だからクリアできない」という言い訳は使えなくなりました。",[11,1987,1988],{},"作った本人は敵の動きもコースも分かっているはずなので有利です。とはいえ、24年前に作ったゲームを今でも普通にクリアできるのは、それはそれですごい。私はルートを知る以前に、店主との距離を広げられません。",[57,1990,1992],{"id":1991},"そもそもなぜ食い逃げでここまで追われるのか","そもそも、なぜ食い逃げでここまで追われるのか",[11,1994,1995,1996,1999],{},"「食い逃げ野郎」のテーマは、",[14,1997,1998],{},"「食い逃げごときで、そこまでするのか？」","です。",[11,2001,2002],{},"初代では店主から逃げるところから始まり、シリーズが進むと兵士、戦車、ゾンビ、幽霊まで追いかけてきます。題材はくだらないのに、追跡だけは大真面目。そこがこのシリーズの面白さです。",[11,2004,2005],{},"初代はシンプルですが、敵に触れないよう細い道を抜ける必要があり、見た目より難しいゲームです。スマホでは指で画面の一部が隠れるため、PCのキーボードとは違う緊張感もあります。",[57,2007,2009],{"id":2008},"_24年前のゲームがなぜスマホで動くのか","24年前のゲームが、なぜスマホで動くのか",[11,2011,2012],{},"「食い逃げ野郎」は、RPGツクール2000で作られています。今回、ゲームを現代向けに一から作り直したわけではありません。",[11,2014,2015,2016,2019],{},"ブラウザ上では、RPGツクール2000／2003のゲームデータを動かせる ",[14,2017,2018],{},"EasyRPG Player"," を使っています。WebAssembly版のプレイヤーが当時のマップ、イベント、画像、音楽を読み込み、ブラウザの中でゲームを再生する仕組みです。",[11,2021,2022],{},"つまり、中身は24年前のゲームデータのまま。周囲の「動かすための環境」を現代のブラウザへ移しました。",[11,2024,2025],{},"スマホ向けには、画面上の十字キーとスティック操作を追加しています。指で押した方向をゲーム側の方向キー入力へ変換しているため、PC版と同じゲームをタッチ操作で遊べます。",[11,2027,2028],{},"技術的には動かせました。問題は、管理人がクリアできないことです。",[57,2030,2032],{"id":2031},"クリアできた人教えてください","クリアできた人、教えてください",[11,2034,2035],{},"何度か挑戦しましたが、今のところ私の記録はGAME OVERです。作者フォウルはクリア済み。管理人は未クリア。",[11,2037,2038],{},"この差を埋められる日は来るのでしょうか。",[11,2040,2041,2045],{},[24,2042,2044],{"href":2043},"\u002Fgames\u002Fkuinige\u002F","初代「食い逃げ野郎」はこちらから遊べます。","ダウンロードも登録も不要で、スマホとPCのどちらでもプレイできます。",[11,2047,2048,2049,2052],{},"無事に逃げ切れた方は、ぜひ",[24,2050,1908],{"href":1906,"rel":2051},[28],"で教えてください。私も、もう少しだけ挑戦してみます。",{"title":290,"searchDepth":291,"depth":291,"links":2054},[2055,2056,2057,2058,2059],{"id":1945,"depth":291,"text":1945},{"id":1979,"depth":291,"text":1979},{"id":1991,"depth":291,"text":1992},{"id":2008,"depth":291,"text":2009},{"id":2031,"depth":291,"text":2032},"2026-08-09","2002年公開の「食い逃げ野郎」をスマホのブラウザで遊べるようにした。作者フォウルはクリアしたらしいが、サイト管理人の私は店主から一向に逃げ切れない。24年前のゲームを現代のブラウザで動かす仕組みと、実際に挑戦した結果です。",{},"\u002Fblog\u002F2026-08-09-kuinige-smartphone-challenge",[2065],"kuinige",{"title":1931,"description":2061},"blog\u002F2026-08-09-kuinige-smartphone-challenge",[783,1927],"xTgae-ZyAbtdJ3kbBQ8ulUJrZFNzzMzp-wTZo9TJVL4",{"id":2071,"title":2072,"body":2073,"date":2273,"description":2274,"draft":299,"extension":300,"image":2275,"lang":777,"meta":2276,"navigation":304,"path":2277,"pr":299,"relatedGames":2278,"seo":2279,"stem":2280,"tags":2281,"translations":306,"updated":306,"__hash__":2283},"blog\u002Fblog\u002F2026-08-04-kuinige-restoration.md","10年壊れていたサイトを直したら、消えたはずのゲームが出てきた",{"type":8,"value":2074,"toc":2264},[2075,2078,2081,2084,2093,2110,2117,2120,2124,2127,2134,2138,2141,2144,2149,2152,2156,2159,2162,2165,2177,2181,2188,2191,2196,2199,2203,2210,2213,2227,2231,2239],[11,2076,2077],{},"きっかけは、ただのメールの設定でした。",[11,2079,2080],{},"メールサーバーの設定（MXレコード）を直そうとドメインの管理画面を開いたついでに、Aレコードが目に入りました。「これ、自分で直せるのかな」。それだけの好奇心のつもりでした。",[11,2082,2083],{},"そこで思い出したのが、旧scgf.net（XOOPS）の存在です。実はこのサイト、10年近くデータベースのエラーでまったく見られなくなっていました。表向きは何も無いのと同じ状態が、10年近く続いていたことになります。",[11,2085,2086,2087,2092],{},"実は",[24,2088,2091],{"href":2089,"rel":2090},"https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20150510031745\u002Fhttp:\u002F\u002Fscgf.net\u002F",[28],"Wayback Machine","には、2015年5月10日時点のscgf.netがそのまま残っています。開いてみると、こう表示されていました。",[2094,2095,2096,2099,2102],"blockquote",{},[11,2097,2098],{},"This page cannot be displayed due to an internal error.",[11,2100,2101],{},"（中略）",[11,2103,2104,2105,2109],{},"Error ",[2106,2107,2108],"span",{},"Xoops",": Unable to connect to database in file class\u002Fdatabase\u002Fdatabasefactory.php line 34",[11,2111,2112,2116],{},[2113,2114,2115],"code",{},"set_magic_quotes_runtime()","や「参照渡しでのnew」といった、当時のPHPではまだ許されていた書き方への非推奨警告も並んでいます。10年という歳月の中で、サーバー側のPHPとMySQLがそれぞれ静かにバージョンアップされていき、当時のXOOPSのコードがそのバージョン差に耐えられなくなっていた、というのが実際のところのようです。少なくとも2015年の時点で、すでにこの状態でした。",[11,2118,2119],{},"せっかく管理画面を開いたのだからと、まずはこのデータベースを直すことにしました。直してみると、サイトの中身が丸ごと出てきました。ここから、抜け出せなくなりました。",[57,2121,2123],{"id":2122},"利用規約はtinydというモジュールの中に眠っていた","利用規約は、TinyDというモジュールの中に眠っていた",[11,2125,2126],{},"XOOPSにはTinyDという文書管理用のモジュールがあります。ページを作ってツリー状に整理できる、いわば簡易CMSのようなものです。旧サイトの管理画面を漁っていたら、そこに2003年版のソフト利用規約がそのまま残っていました。",[11,2128,2129,2130,2133],{},"内容には手を入れませんでした。URLの部分だけhttpsに直して、あとは原文のまま",[2113,2131,2132],{},"\u002Fterms\u002F","として復元しています。今の感覚だと表現が古い部分もありますが、当時の言葉をそのまま残しておく方が、資料としての価値があると判断しました。",[57,2135,2137],{"id":2136},"公開年が4作とも2008年になっていた","公開年が、4作とも2008年になっていた",[11,2139,2140],{},"新サイトに移した直後の食い逃げ野郎シリーズは、1作目から4作目まで全部「2008年」という表記になっていました。おそらく移行作業のどこかで、リリース年ではなく別の日付が紛れ込んだのだと思います。",[11,2142,2143],{},"これはさすがに直さないといけない、とWayback MachineとVectorの過去記事を突き合わせて年表を洗い直しました。その過程で見つけたのが、Vectorの「新着ソフトレビュー」に載っていた2002年10月19日付の食い逃げ野郎2のレビューです。掲載されている「ソフト作者からひとこと」のコーナーには、シリーズの生みの親であり長年の友人でもあるフォウルが、当時こう書いています。",[2094,2145,2146],{},[11,2147,2148],{},"逃げるゲームを作りたいと思い、「RPGツクール2000」では簡単に制作できるため、あっという間に完成させたのが「食い逃げ野郎」というゲームです。しかし、ただ逃げるゲームではおもしろくないので、食い逃げというちょっと笑ってしまうような犯罪を題材とし、たかが食い逃げにそこまでするのか？　という不自然さをギャグとして盛り込みました。そして、友人から「おもしろい！」という意見を聞き、いけるか?!　と思い、続編となるこの「食い逃げ野郎2」を作成しました。",[11,2150,2151],{},"レビュアーの秋山俊さんによる本文も含めて、24年前の記事がそのまま今もVectorに残っています。このレビューのおかげで、1〜3作目が2002年、4作目が2003年という正しい年表に直せました。移行作業のどこかで紛れ込んだ日付より、当時の第三者の記事の方がずっと正確だった、という話です。",[57,2153,2155],{"id":2154},"掘っていたら覚えていない続編が出てきた","掘っていたら、覚えていない続編が出てきた",[11,2157,2158],{},"年表を直すために旧サイトのダウンロードフォルダを一つずつ見ていたとき、見覚えのないファイルが出てきました。「食い逃げ野郎5」。4作目を作り終えたあと、5作目にも手を付けていたようです。",[11,2160,2161],{},"開いてみると、タイトル画面がRPGツクール2000のデフォルトのままでした。つまり、ロゴを作る前の段階で止まっている。中身を進めるとオープニングまでは動くので、体験版として一度は世に出したものの、完成には至らなかったのだと思います。",[11,2163,2164],{},"見つけた瞬間、記憶がピーンッと繋がる音がしました。忘れていたわけではなく、どこかにしまい込んでいた記憶に、ファイルの実物が触れた感覚です。",[11,2166,2167,2168,2171,2172,2176],{},"この体験版は",[2113,2169,2170],{},"\u002Fplay\u002F","でそのまま遊べる形にしました。19作品の一覧には入れていません。あくまで",[24,2173,2175],{"href":2174},"\u002Fseries\u002Fkuinige\u002F","食い逃げ野郎シリーズのページ","の中で、「幻の第5作」として見つけた人だけが遊べる、隠しコンテンツのような扱いにしています。",[57,2178,2180],{"id":2179},"faqも12件当時の言葉のまま","FAQも12件、当時の言葉のまま",[11,2182,2183,2184,2187],{},"旧サイトには攻略に関するFAQのページもありました。プレイヤーから寄せられた質問と、それに対する回答が12件。こちらも折りたたみ式にして",[2113,2185,2186],{},"\u002Ffaq\u002F","にそのまま移しています。",[11,2189,2190],{},"読み返していて印象に残ったのが、「ゲーム実況・配信で使ってもいいですか?」という質問への回答でした。",[2094,2192,2193],{},[11,2194,2195],{},"はい、どうぞ！当サイトのゲームの実況・配信・動画投稿に、事前の確認や許可は必要ありません(収益化されている配信でもOKです)。",[11,2197,2198],{},"2000年代のフリーゲームサイトとしては、かなり早い段階でこの答えを用意していたことになります。当時のSCGF.NETを、今になって少し見直しました。",[57,2200,2202],{"id":2201},"今全部ブラウザで遊べる","今、全部ブラウザで遊べる",[11,2204,2205,2206,2209],{},"データベースを直し、利用規約もFAQも年表も幻の第5作も救い出したあと、今のNuxt製scgf.netを一から作りました。復旧させた旧XOOPSサイトは",[2113,2207,2208],{},"old.scgf.net","に移して、今もそのまま残してあります。",[11,2211,2212],{},"10年見られなかったサイトです。データベースを直さなければ、この資料たちは今も誰の目にも触れないままだったと思います。今回きっかけになったのはメールの設定という、ゲームとは何の関係もない作業でした。",[11,2214,2215,2216,2219,2220,2223,2224,2226],{},"食い逃げ野郎シリーズは",[24,2217,2218],{"href":2174},"シリーズページ","から、幻の体験版も含めて全部ダウンロード不要で遊べます。利用規約は",[24,2221,2222],{"href":2132},"こちら","、当時のFAQは",[24,2225,2222],{"href":2186},"にまとめてあります。",[810,2228,2230],{"id":2229},"このサイトについて少しだけ","このサイトについて（少しだけ）",[11,2232,2233,2234,2238],{},"SCGF.NETは2002年から続く自作ゲームサイトです。作りながら分かったこと、掘り返しながら見つけたことを、そのまま記録に残していくつもりです。テック系の記事は ",[24,2235,2237],{"href":2236},"\u002Fblog\u002Ftag\u002F%E3%83%86%E3%83%83%E3%82%AF\u002F","#テック"," タグからまとめて読めます。",[2240,2241,2242],"references",{},[113,2243,2244,2251,2258],{},[65,2245,2246],{},[24,2247,2250],{"href":2248,"rel":2249},"https:\u002F\u002Frd.vector.co.jp\u002Fmagazine\u002Fsoftnews\u002F021019\u002Fn0210193.html",[28],"Vector 新着ソフトレビュー(2002年10月19日) — 食い逃げ野郎2",[65,2252,2253],{},[24,2254,2257],{"href":2255,"rel":2256},"https:\u002F\u002Fwww.freem.ne.jp\u002Fbrand\u002F37",[28],"ふりーむ！ SCGF.NET ブランドページ",[65,2259,2260],{},[24,2261,2263],{"href":2089,"rel":2262},[28],"Wayback Machine — scgf.net(2015年5月10日時点のキャプチャ)",{"title":290,"searchDepth":291,"depth":291,"links":2265},[2266,2267,2268,2269,2270],{"id":2122,"depth":291,"text":2123},{"id":2136,"depth":291,"text":2137},{"id":2154,"depth":291,"text":2155},{"id":2179,"depth":291,"text":2180},{"id":2201,"depth":291,"text":2202,"children":2271},[2272],{"id":2229,"depth":936,"text":2230},"2026-08-04","旧scgf.net(XOOPS)は、10年近くデータベースエラーで見られなくなっていました。メールサーバーの設定のついでに管理画面を開いたことをきっかけに、まずはデータベースを直し、中身を救出することに。TinyDモジュールに眠っていた利用規約、Wayback MachineとVectorのレビューで訂正した公開年、そして完成しないまま消えていた「食い逃げ野郎5」の体験版。24年分のサイトの資料を、運営側の自分が調べ直した記録です。","\u002Fimages\u002Fblog\u002Feyecatch-kuinige-restoration.jpg",{},"\u002Fblog\u002F2026-08-04-kuinige-restoration",[2065],{"title":2072,"description":2274},"blog\u002F2026-08-04-kuinige-restoration",[1927,2282],"ゲーム開発","wg9tLxpgWQndO3_661-LUiO5rGmiynVqsN4BhcJwCgQ",{"id":2285,"title":2286,"body":2287,"date":3304,"description":3305,"draft":299,"extension":300,"image":3306,"lang":777,"meta":3307,"navigation":304,"path":3308,"pr":299,"relatedGames":3309,"seo":3310,"stem":3311,"tags":3312,"translations":306,"updated":306,"__hash__":3313},"blog\u002Fblog\u002F2026-08-01-sarumono-durable-objects.md","個人サイトのブラウザゲームに、サーバーを1台も借りずにオンライン対戦を付けた",{"type":8,"value":2288,"toc":3288},[2289,2295,2298,2302,2305,2308,2311,2315,2318,2321,2324,2327,2330,2333,2336,2373,2376,2379,2382,2385,2388,2600,2607,2614,2618,2621,2624,2639,2646,2650,2657,2721,2724,2809,2816,2819,2822,2950,2953,2956,2959,2962,2965,3080,3083,3086,3089,3093,3096,3099,3203,3206,3209,3213,3216,3219,3222,3225,3228,3232,3235,3238,3242,3245,3248,3251,3255,3258,3261,3264,3277,3279,3284],[11,2290,2291,2292,2294],{},"自作の3D対戦ミニゲーム「",[24,2293,1896],{"href":1895},"」に、オンライン対戦を付けました。合言葉を4文字決めれば、友だちとその場で対戦できます。",[11,2296,2297],{},"作る前にいちばん引っかかっていたのは、技術というより身の丈の話でした。個人サイトのミニゲームひとつのために、24時間動き続けるサーバーを持つのか、と。",[57,2299,2301],{"id":2300},"npc戦は動いた友だちと対戦にした瞬間話が変わった","NPC戦は動いた。「友だちと対戦」にした瞬間、話が変わった",[11,2303,2304],{},"もともとこのゲームは、ブラウザの中だけで完結していました。プレイヤーとNPCが浮き島の上でマスを崩し合う。盤面はブラウザが持っていて、それで何も困りません。",[11,2306,2307],{},"ところが2人の人間が別々の端末から遊ぶとなると、途端に困ります。二人が同時に同じマスへ踏み込んだとき、どちらが先に着いたことにするのか。片方の画面では自分が勝っていて、もう片方では相手が勝っている、という状態を防げません。",[11,2309,2310],{},"つまり「正しい盤面はこれです」と言い切る役、権威が要る。そしてそれは、どちらのブラウザでもない場所に置く必要があります。",[57,2312,2314],{"id":2313},"常時起動のサーバーもp2pも選ばなかった","常時起動のサーバーもP2Pも選ばなかった",[11,2316,2317],{},"素直な選択肢はVPSを1台借りて、そこでNodeとWebSocketサーバーを動かすことです。やり方は完全に確立していますし、情報も多い。",[11,2319,2320],{},"ただ、うちのサイトの規模を考えると、誰も対戦していない時間のほうが圧倒的に長い。その大半を、ただプロセスが起きているだけの状態で過ごすことになります。加えて、動き続けるものは面倒を見続ける必要がある。ゲームを作りたくて始めたのに、サーバーの世話が主な仕事になるのは避けたいところでした。",[11,2322,2323],{},"ブラウザ同士を直結するWebRTCも考えました。こちらは中央にサーバーが要らないのが魅力です。ただ、相手を見つけるための仲介役はどのみち必要ですし、何より「権威をどこに置くか」という最初の問題が形を変えて戻ってくる。決定論的に同期させる方法も、片方をホスト扱いする方法もありますが、今回はそこに頭を使いたくありませんでした。単一の権威を、いちばん単純に置きたかった。",[11,2325,2326],{},"そこで Cloudflare の Durable Objects を使いました。すごく雑に言うと、部屋ごとに小さなサーバーが勝手に立ち上がって、誰もいなくなったら畳まれる仕組みです。対戦が始まっていない時間に、動き続けているものがない。今回いちばん欲しかったのは、まさにこの性質でした。",[57,2328,2329],{"id":2329},"部屋がひとつのオブジェクトになる",[11,2331,2332],{},"構成はWorkerがひとつと、Durable Objectが2種類です。",[11,2334,2335],{},"Workerの本体は驚くほど薄くて、やっているのはルーティングだけです。リクエストの中身は、ロビーか対戦ルームのどちらかに丸ごと渡します。",[2337,2338,2342],"pre",{"className":2339,"code":2340,"language":2341,"meta":290,"style":290},"language-toml shiki shiki-themes github-light github-dark","[durable_objects]\nbindings = [\n  { name = \"LOBBY\", class_name = \"FightLobby\" },\n  { name = \"ROOM\",  class_name = \"FightRoom\" }\n]\n","toml",[2113,2343,2344,2351,2356,2361,2367],{"__ignoreMap":290},[2106,2345,2348],{"class":2346,"line":2347},"line",1,[2106,2349,2350],{},"[durable_objects]\n",[2106,2352,2353],{"class":2346,"line":291},[2106,2354,2355],{},"bindings = [\n",[2106,2357,2358],{"class":2346,"line":936},[2106,2359,2360],{},"  { name = \"LOBBY\", class_name = \"FightLobby\" },\n",[2106,2362,2364],{"class":2346,"line":2363},4,[2106,2365,2366],{},"  { name = \"ROOM\",  class_name = \"FightRoom\" }\n",[2106,2368,2370],{"class":2346,"line":2369},5,[2106,2371,2372],{},"]\n",[11,2374,2375],{},"Lobby DOは、ルームIDを発行する唯一の場所であり、部屋一覧を書き換える唯一の場所でもあります。Room DOは1試合分の権威で、参加者のWebSocketを持ち、盤面を進めます。",[11,2377,2378],{},"ここで効いてくるのが、Durable Objectは同じIDに対して世界にひとつしか存在しない、という性質です。部屋一覧を書き換えるのが常にひとつのオブジェクトなら、ふたりが同時に部屋を作りにきても、書き込みが混線しません。ロックも、トランザクションも、自分では書いていません。並行処理の面倒な部分を、置き場所の設計で回避した格好です。",[11,2380,2381],{},"ルームIDは4文字にしました。声に出して伝えられる長さで、紛らわしい文字（0とO、1とIなど）は候補から抜いてあります。ただしこれは合言葉であって、資格情報ではありません。あとから再接続してくる人が本人かどうかは、別の値で確かめています。",[57,2383,2384],{"id":2384},"クライアントは何も計算していない",[11,2386,2387],{},"サーバーが権威だと決めたので、ブラウザ側は徹底して表示専用にしました。オンライン対戦時のコントローラは、更新関数が空っぽです。",[2337,2389,2393],{"className":2390,"code":2391,"language":2392,"meta":290,"style":290},"language-ts shiki shiki-themes github-light github-dark","export function createRemoteFightController(\n  viewerId: string,\n  initial: ControllerSnapshot\n): RemoteFightController {\n  let snapshot = initial\n  \u002F\u002F ...\n  return {\n    \u002F\u002F 派生情報はローカル対戦と同じ純関数から取り出す\n    getWarningCells: () => snapshotView(snapshot, viewerId).warningCells,\n    getInvincibleIds: () => snapshotView(snapshot, viewerId).invincibleIds,\n    \u002F\u002F シミュレーションはサーバー側。ここでは何もしない\n    update: (_dtMs: number, _input: StepInput) => {},\n    pushState: (next, events) => { snapshot = next }\n  }\n}\n","ts",[2113,2394,2395,2412,2428,2438,2450,2464,2471,2479,2485,2503,2518,2524,2560,2588,2594],{"__ignoreMap":290},[2106,2396,2397,2401,2404,2408],{"class":2346,"line":2347},[2106,2398,2400],{"class":2399},"szBVR","export",[2106,2402,2403],{"class":2399}," function",[2106,2405,2407],{"class":2406},"sScJk"," createRemoteFightController",[2106,2409,2411],{"class":2410},"sVt8B","(\n",[2106,2413,2414,2418,2421,2425],{"class":2346,"line":291},[2106,2415,2417],{"class":2416},"s4XuR","  viewerId",[2106,2419,2420],{"class":2399},":",[2106,2422,2424],{"class":2423},"sj4cs"," string",[2106,2426,2427],{"class":2410},",\n",[2106,2429,2430,2433,2435],{"class":2346,"line":936},[2106,2431,2432],{"class":2416},"  initial",[2106,2434,2420],{"class":2399},[2106,2436,2437],{"class":2406}," ControllerSnapshot\n",[2106,2439,2440,2442,2444,2447],{"class":2346,"line":2363},[2106,2441,36],{"class":2410},[2106,2443,2420],{"class":2399},[2106,2445,2446],{"class":2406}," RemoteFightController",[2106,2448,2449],{"class":2410}," {\n",[2106,2451,2452,2455,2458,2461],{"class":2346,"line":2369},[2106,2453,2454],{"class":2399},"  let",[2106,2456,2457],{"class":2410}," snapshot ",[2106,2459,2460],{"class":2399},"=",[2106,2462,2463],{"class":2410}," initial\n",[2106,2465,2467],{"class":2346,"line":2466},6,[2106,2468,2470],{"class":2469},"sJ8bj","  \u002F\u002F ...\n",[2106,2472,2474,2477],{"class":2346,"line":2473},7,[2106,2475,2476],{"class":2399},"  return",[2106,2478,2449],{"class":2410},[2106,2480,2482],{"class":2346,"line":2481},8,[2106,2483,2484],{"class":2469},"    \u002F\u002F 派生情報はローカル対戦と同じ純関数から取り出す\n",[2106,2486,2488,2491,2494,2497,2500],{"class":2346,"line":2487},9,[2106,2489,2490],{"class":2406},"    getWarningCells",[2106,2492,2493],{"class":2410},": () ",[2106,2495,2496],{"class":2399},"=>",[2106,2498,2499],{"class":2406}," snapshotView",[2106,2501,2502],{"class":2410},"(snapshot, viewerId).warningCells,\n",[2106,2504,2506,2509,2511,2513,2515],{"class":2346,"line":2505},10,[2106,2507,2508],{"class":2406},"    getInvincibleIds",[2106,2510,2493],{"class":2410},[2106,2512,2496],{"class":2399},[2106,2514,2499],{"class":2406},[2106,2516,2517],{"class":2410},"(snapshot, viewerId).invincibleIds,\n",[2106,2519,2521],{"class":2346,"line":2520},11,[2106,2522,2523],{"class":2469},"    \u002F\u002F シミュレーションはサーバー側。ここでは何もしない\n",[2106,2525,2527,2530,2533,2536,2538,2541,2544,2547,2549,2552,2555,2557],{"class":2346,"line":2526},12,[2106,2528,2529],{"class":2406},"    update",[2106,2531,2532],{"class":2410},": (",[2106,2534,2535],{"class":2416},"_dtMs",[2106,2537,2420],{"class":2399},[2106,2539,2540],{"class":2423}," number",[2106,2542,2543],{"class":2410},", ",[2106,2545,2546],{"class":2416},"_input",[2106,2548,2420],{"class":2399},[2106,2550,2551],{"class":2406}," StepInput",[2106,2553,2554],{"class":2410},") ",[2106,2556,2496],{"class":2399},[2106,2558,2559],{"class":2410}," {},\n",[2106,2561,2563,2566,2568,2571,2573,2576,2578,2580,2583,2585],{"class":2346,"line":2562},13,[2106,2564,2565],{"class":2406},"    pushState",[2106,2567,2532],{"class":2410},[2106,2569,2570],{"class":2416},"next",[2106,2572,2543],{"class":2410},[2106,2574,2575],{"class":2416},"events",[2106,2577,2554],{"class":2410},[2106,2579,2496],{"class":2399},[2106,2581,2582],{"class":2410}," { snapshot ",[2106,2584,2460],{"class":2399},[2106,2586,2587],{"class":2410}," next }\n",[2106,2589,2591],{"class":2346,"line":2590},14,[2106,2592,2593],{"class":2410},"  }\n",[2106,2595,2597],{"class":2346,"line":2596},15,[2106,2598,2599],{"class":2410},"}\n",[11,2601,2602,2603,2606],{},"地味ですが、この ",[2113,2604,2605],{},"update()"," が空であることが設計の芯だと思っています。ブラウザは受け取った盤面を映すだけ。予測もしないし、辻褄合わせもしない。",[11,2608,2609,2610,2613],{},"そのうえで、盤面から表示用の情報を取り出す ",[2113,2611,2612],{},"snapshotView"," は、ローカル対戦とオンラインで同じものを使っています。「どのマスが警告色か」「誰が無敵中か」といった判定を二重に実装していないので、片方だけ直し忘れて表示がずれる、という事故が起きません。",[57,2615,2617],{"id":2616},"durable-objectの中に置いたのはループと後始末だけ","Durable Objectの中に置いたのは、ループと後始末だけ",[11,2619,2620],{},"Durable Objectはテストが書きづらい部類のコードです。ストレージもアラームもWebSocketも、実行環境そのものに依存しています。",[11,2622,2623],{},"なので、判断を伴う部分は全部外に出しました。席の予約やフェーズの遷移はDOに依存しない純関数の集まりで、盤面を1ティック進める処理はブラウザ版と共用しているエンジンの関数です。DOに残ったのは、タイマーを回すこと、状態を保存すること、参加者に配ることだけ。",[2337,2625,2627],{"className":2390,"code":2626,"language":2392,"meta":290,"style":290},"\u002F\u002F DO非依存の純粋なルーム状態機械。\n\u002F\u002F Room DO(Durable Object)はここの遷移関数を呼ぶだけにして、ロジックはvitestで検証する。\n",[2113,2628,2629,2634],{"__ignoreMap":290},[2106,2630,2631],{"class":2346,"line":2347},[2106,2632,2633],{"class":2469},"\u002F\u002F DO非依存の純粋なルーム状態機械。\n",[2106,2635,2636],{"class":2346,"line":291},[2106,2637,2638],{"class":2469},"\u002F\u002F Room DO(Durable Object)はここの遷移関数を呼ぶだけにして、ロジックはvitestで検証する。\n",[11,2640,2641,2642,2645],{},"これは ",[2113,2643,2644],{},"room-logic.ts"," の冒頭に自分で書いたコメントですが、方針としてはこの一行に尽きます。おかげでテストは普通に速くて、ゲーム関連だけで584件、サイト全体では1354件が2.5秒ほどで終わります。ここを守っておかないと、通信まわりの実装は手が出しづらくなっていたと思います。",[57,2647,2649],{"id":2648},"_50msで進めて実際には100msごとに配っていた","50msで進めて、実際には100msごとに配っていた",[11,2651,2652,2653,2656],{},"対戦中のループは50ミリ秒間隔です。ただ ",[2113,2654,2655],{},"setInterval"," は指定どおりの間隔では回ってくれないので、経過時間は実測を使っています。",[2337,2658,2660],{"className":2390,"code":2659,"language":2392,"meta":290,"style":290},"\u002F\u002F タイマードリフトに頑健なよう、実経過時間を累積してdtにする\nconst now = Date.now()\nconst dtMs = now - this.lastTickAt\nthis.lastTickAt = now\n",[2113,2661,2662,2667,2687,2708],{"__ignoreMap":290},[2106,2663,2664],{"class":2346,"line":2347},[2106,2665,2666],{"class":2469},"\u002F\u002F タイマードリフトに頑健なよう、実経過時間を累積してdtにする\n",[2106,2668,2669,2672,2675,2678,2681,2684],{"class":2346,"line":291},[2106,2670,2671],{"class":2399},"const",[2106,2673,2674],{"class":2423}," now",[2106,2676,2677],{"class":2399}," =",[2106,2679,2680],{"class":2410}," Date.",[2106,2682,2683],{"class":2406},"now",[2106,2685,2686],{"class":2410},"()\n",[2106,2688,2689,2691,2694,2696,2699,2702,2705],{"class":2346,"line":936},[2106,2690,2671],{"class":2399},[2106,2692,2693],{"class":2423}," dtMs",[2106,2695,2677],{"class":2399},[2106,2697,2698],{"class":2410}," now ",[2106,2700,2701],{"class":2399},"-",[2106,2703,2704],{"class":2423}," this",[2106,2706,2707],{"class":2410},".lastTickAt\n",[2106,2709,2710,2713,2716,2718],{"class":2346,"line":2363},[2106,2711,2712],{"class":2423},"this",[2106,2714,2715],{"class":2410},".lastTickAt ",[2106,2717,2460],{"class":2399},[2106,2719,2720],{"class":2410}," now\n",[11,2722,2723],{},"そして配信は毎ティックではなく、間引いています。この記事を書くために自分のコードを読み返して、そこで気づいたことがありました。",[2337,2725,2727],{"className":2390,"code":2726,"language":2392,"meta":290,"style":290},"this.broadcastAccumMs += dtMs\nif (this.broadcastAccumMs >= BROADCAST_MS) {   \u002F\u002F BROADCAST_MS = 66 \u002F\u002F 15Hz\n  this.broadcastAccumMs = 0\n  this.broadcast({ t: 'state', snapshot: result.snapshot, events: this.pendingEvents })\n}\n",[2113,2728,2729,2742,2769,2781,2805],{"__ignoreMap":290},[2106,2730,2731,2733,2736,2739],{"class":2346,"line":2347},[2106,2732,2712],{"class":2423},[2106,2734,2735],{"class":2410},".broadcastAccumMs ",[2106,2737,2738],{"class":2399},"+=",[2106,2740,2741],{"class":2410}," dtMs\n",[2106,2743,2744,2747,2750,2752,2754,2757,2760,2763,2766],{"class":2346,"line":291},[2106,2745,2746],{"class":2399},"if",[2106,2748,2749],{"class":2410}," (",[2106,2751,2712],{"class":2423},[2106,2753,2735],{"class":2410},[2106,2755,2756],{"class":2399},">=",[2106,2758,2759],{"class":2423}," BROADCAST_MS",[2106,2761,2762],{"class":2410},") {   ",[2106,2764,2765],{"class":2469},"\u002F\u002F BROADCAST_MS = 66",[2106,2767,2768],{"class":2469}," \u002F\u002F 15Hz\n",[2106,2770,2771,2774,2776,2778],{"class":2346,"line":936},[2106,2772,2773],{"class":2423},"  this",[2106,2775,2735],{"class":2410},[2106,2777,2460],{"class":2399},[2106,2779,2780],{"class":2423}," 0\n",[2106,2782,2783,2785,2787,2790,2793,2797,2800,2802],{"class":2346,"line":2363},[2106,2784,2773],{"class":2423},[2106,2786,930],{"class":2410},[2106,2788,2789],{"class":2406},"broadcast",[2106,2791,2792],{"class":2410},"({ t: ",[2106,2794,2796],{"class":2795},"sZZnC","'state'",[2106,2798,2799],{"class":2410},", snapshot: result.snapshot, events: ",[2106,2801,2712],{"class":2423},[2106,2803,2804],{"class":2410},".pendingEvents })\n",[2106,2806,2807],{"class":2346,"line":2369},[2106,2808,2599],{"class":2410},[11,2810,2811,2812,2815],{},"定数には ",[2113,2813,2814],{},"66 \u002F\u002F 15Hz"," と書いてあります。書いた本人はそのつもりでした。でも実際は違います。50ミリ秒のティックで累積していくと、1回目は50で閾値に届かず、2回目の100で初めて配信されます。そして累積を66引くのではなく0に戻しているので、次もまた50、100と積み直す。結局ずっと100ミリ秒ごと、およそ10Hzです。",[11,2817,2818],{},"面白いのは、公開してから今まで誰にも指摘されず、自分で遊んでいても違和感がなかったことです。理由はゲームの作りにあります。このゲームは格子の上で動きます。キャラの位置は8×8マスの整数で、途中の座標というものがない。連続した位置を追いかけるアクションゲームなら10Hzは論外ですが、マス単位なら1秒に10回で足ります。",[11,2820,2821],{},"そして見た目の滑らかさは、通信とは別のところで作っています。描画側では、論理的なマス位置を目標にして、毎フレーム指数減衰で近づけているだけです。",[2337,2823,2825],{"className":2390,"code":2824,"language":2392,"meta":290,"style":290},"\u002F\u002F フレームレート非依存の指数減衰補間。halfLifeMsごとに残距離が半分になる。\nexport function dampenValue(current: number, target: number, dtMs: number, halfLifeMs: number): number {\n  const factor = 1 - Math.pow(0.5, dtMs \u002F halfLifeMs)\n  return current + (target - current) * factor\n}\n",[2113,2826,2827,2832,2886,2922,2946],{"__ignoreMap":290},[2106,2828,2829],{"class":2346,"line":2347},[2106,2830,2831],{"class":2469},"\u002F\u002F フレームレート非依存の指数減衰補間。halfLifeMsごとに残距離が半分になる。\n",[2106,2833,2834,2836,2838,2841,2844,2847,2849,2851,2853,2856,2858,2860,2862,2865,2867,2869,2871,2874,2876,2878,2880,2882,2884],{"class":2346,"line":291},[2106,2835,2400],{"class":2399},[2106,2837,2403],{"class":2399},[2106,2839,2840],{"class":2406}," dampenValue",[2106,2842,2843],{"class":2410},"(",[2106,2845,2846],{"class":2416},"current",[2106,2848,2420],{"class":2399},[2106,2850,2540],{"class":2423},[2106,2852,2543],{"class":2410},[2106,2854,2855],{"class":2416},"target",[2106,2857,2420],{"class":2399},[2106,2859,2540],{"class":2423},[2106,2861,2543],{"class":2410},[2106,2863,2864],{"class":2416},"dtMs",[2106,2866,2420],{"class":2399},[2106,2868,2540],{"class":2423},[2106,2870,2543],{"class":2410},[2106,2872,2873],{"class":2416},"halfLifeMs",[2106,2875,2420],{"class":2399},[2106,2877,2540],{"class":2423},[2106,2879,36],{"class":2410},[2106,2881,2420],{"class":2399},[2106,2883,2540],{"class":2423},[2106,2885,2449],{"class":2410},[2106,2887,2888,2891,2894,2896,2899,2902,2905,2908,2910,2913,2916,2919],{"class":2346,"line":936},[2106,2889,2890],{"class":2399},"  const",[2106,2892,2893],{"class":2423}," factor",[2106,2895,2677],{"class":2399},[2106,2897,2898],{"class":2423}," 1",[2106,2900,2901],{"class":2399}," -",[2106,2903,2904],{"class":2410}," Math.",[2106,2906,2907],{"class":2406},"pow",[2106,2909,2843],{"class":2410},[2106,2911,2912],{"class":2423},"0.5",[2106,2914,2915],{"class":2410},", dtMs ",[2106,2917,2918],{"class":2399},"\u002F",[2106,2920,2921],{"class":2410}," halfLifeMs)\n",[2106,2923,2924,2926,2929,2932,2935,2937,2940,2943],{"class":2346,"line":2363},[2106,2925,2476],{"class":2399},[2106,2927,2928],{"class":2410}," current ",[2106,2930,2931],{"class":2399},"+",[2106,2933,2934],{"class":2410}," (target ",[2106,2936,2701],{"class":2399},[2106,2938,2939],{"class":2410}," current) ",[2106,2941,2942],{"class":2399},"*",[2106,2944,2945],{"class":2410}," factor\n",[2106,2947,2948],{"class":2346,"line":2369},[2106,2949,2599],{"class":2410},[11,2951,2952],{},"キャラの追従は70ミリ秒、タイルの沈み込みは110ミリ秒を半減期にしてあります。通信が10Hzでも、画面は60fpsで滑らかに動く。通信レートと見た目の気持ちよさは、そもそも別の問題だったわけですね。",[11,2954,2955],{},"とはいえ意図と実装がずれているのは事実なので、ここは直します。ただ本番で動いているサーバーの挙動を変える話なので、記事とは切り離して、実際に対戦しながら確かめるつもりです。",[57,2957,2958],{"id":2958},"抜けた人はサルのまま残しておく",[11,2960,2961],{},"対戦中に誰かの回線が切れたとき、どうするか。試合を止めるのがいちばん簡単ですが、残されたほうは何もしていないのに終わらされます。",[11,2963,2964],{},"なので、切断した席は30秒待ってからNPCに引き継がせることにしました。実装はこうです。",[2337,2966,2968],{"className":2390,"code":2967,"language":2392,"meta":290,"style":290},"\u002F\u002F エンジンの契約に従い、bot引き継ぎ=IDをhuman系Recordからnpc系Recordへ移す操作\nexport function takeOverWithBot(snapshot: ControllerSnapshot, id: string): ControllerSnapshot {\n  const humanCooldownMs = { ...snapshot.humanCooldownMs }\n  delete humanCooldownMs[id]\n  return {\n    ...snapshot,\n    humanCooldownMs,\n    npcCooldownMs: { ...snapshot.npcCooldownMs, [id]: NPC_TICK_MS_BY_DIFFICULTY[snapshot.difficulty] }\n  }\n}\n",[2113,2969,2970,2975,3011,3029,3037,3043,3051,3056,3072,3076],{"__ignoreMap":290},[2106,2971,2972],{"class":2346,"line":2347},[2106,2973,2974],{"class":2469},"\u002F\u002F エンジンの契約に従い、bot引き継ぎ=IDをhuman系Recordからnpc系Recordへ移す操作\n",[2106,2976,2977,2979,2981,2984,2986,2989,2991,2994,2996,2999,3001,3003,3005,3007,3009],{"class":2346,"line":291},[2106,2978,2400],{"class":2399},[2106,2980,2403],{"class":2399},[2106,2982,2983],{"class":2406}," takeOverWithBot",[2106,2985,2843],{"class":2410},[2106,2987,2988],{"class":2416},"snapshot",[2106,2990,2420],{"class":2399},[2106,2992,2993],{"class":2406}," ControllerSnapshot",[2106,2995,2543],{"class":2410},[2106,2997,2998],{"class":2416},"id",[2106,3000,2420],{"class":2399},[2106,3002,2424],{"class":2423},[2106,3004,36],{"class":2410},[2106,3006,2420],{"class":2399},[2106,3008,2993],{"class":2406},[2106,3010,2449],{"class":2410},[2106,3012,3013,3015,3018,3020,3023,3026],{"class":2346,"line":936},[2106,3014,2890],{"class":2399},[2106,3016,3017],{"class":2423}," humanCooldownMs",[2106,3019,2677],{"class":2399},[2106,3021,3022],{"class":2410}," { ",[2106,3024,3025],{"class":2399},"...",[2106,3027,3028],{"class":2410},"snapshot.humanCooldownMs }\n",[2106,3030,3031,3034],{"class":2346,"line":2363},[2106,3032,3033],{"class":2399},"  delete",[2106,3035,3036],{"class":2410}," humanCooldownMs[id]\n",[2106,3038,3039,3041],{"class":2346,"line":2369},[2106,3040,2476],{"class":2399},[2106,3042,2449],{"class":2410},[2106,3044,3045,3048],{"class":2346,"line":2466},[2106,3046,3047],{"class":2399},"    ...",[2106,3049,3050],{"class":2410},"snapshot,\n",[2106,3052,3053],{"class":2346,"line":2473},[2106,3054,3055],{"class":2410},"    humanCooldownMs,\n",[2106,3057,3058,3061,3063,3066,3069],{"class":2346,"line":2481},[2106,3059,3060],{"class":2410},"    npcCooldownMs: { ",[2106,3062,3025],{"class":2399},[2106,3064,3065],{"class":2410},"snapshot.npcCooldownMs, [id]: ",[2106,3067,3068],{"class":2423},"NPC_TICK_MS_BY_DIFFICULTY",[2106,3070,3071],{"class":2410},"[snapshot.difficulty] }\n",[2106,3073,3074],{"class":2346,"line":2487},[2106,3075,2593],{"class":2410},[2106,3077,3078],{"class":2346,"line":2505},[2106,3079,2599],{"class":2410},[11,3081,3082],{},"やっているのは、キャラのIDを人間側のRecordからNPC側のRecordへ引っ越しさせることだけです（実際には移動と攻撃で2つのクールダウンを扱っています）。エンジンは「人間とは humanCooldownMs にキーがある者のことだ」という契約で書いてあるので、キーの置き場所を変えるだけで、そのキャラは次のティックから勝手に動きはじめます。",[11,3084,3085],{},"再接続したときは、まったく同じ操作を逆向きにやります。人間かNPCかという、いかにも大がかりに聞こえる区別が、Recordのどちらにキーがあるかという一点に還元されている。個人的に、この実装がいちばん気持ちよかった部分です。",[11,3087,3088],{},"ちなみに両方とも切断した場合は待ちません。その場で試合を畳みます。誰も見ていない試合を回し続ける理由がないからです。",[57,3090,3092],{"id":3091},"同時に同じマスへ来た2人をどちらから処理するか","同時に同じマスへ来た2人を、どちらから処理するか",[11,3094,3095],{},"サーバーは1ティックの中で、参加者の入力を順番に適用します。ということは、先に処理された人が有利になります。同じマスを取り合ったとき、常に先手の側が勝つ。",[11,3097,3098],{},"対策は拍子抜けするほど単純で、順番を毎回ずらしています。",[2337,3100,3102],{"className":2390,"code":3101,"language":2392,"meta":290,"style":290},"\u002F\u002F 各人間の行動。逐次適用による先行者有利(衝突)を平均化するため、適用順をティックごとに回す\nconst humanIds = Object.keys(humanCooldownMs)\nconst rotation = humanIds.length > 0 ? snapshot.tick % humanIds.length : 0\nconst orderedHumanIds = [...humanIds.slice(rotation), ...humanIds.slice(0, rotation)]\n",[2113,3103,3104,3109,3127,3166],{"__ignoreMap":290},[2106,3105,3106],{"class":2346,"line":2347},[2106,3107,3108],{"class":2469},"\u002F\u002F 各人間の行動。逐次適用による先行者有利(衝突)を平均化するため、適用順をティックごとに回す\n",[2106,3110,3111,3113,3116,3118,3121,3124],{"class":2346,"line":291},[2106,3112,2671],{"class":2399},[2106,3114,3115],{"class":2423}," humanIds",[2106,3117,2677],{"class":2399},[2106,3119,3120],{"class":2410}," Object.",[2106,3122,3123],{"class":2406},"keys",[2106,3125,3126],{"class":2410},"(humanCooldownMs)\n",[2106,3128,3129,3131,3134,3136,3139,3142,3145,3148,3151,3154,3157,3159,3161,3164],{"class":2346,"line":936},[2106,3130,2671],{"class":2399},[2106,3132,3133],{"class":2423}," rotation",[2106,3135,2677],{"class":2399},[2106,3137,3138],{"class":2410}," humanIds.",[2106,3140,3141],{"class":2423},"length",[2106,3143,3144],{"class":2399}," >",[2106,3146,3147],{"class":2423}," 0",[2106,3149,3150],{"class":2399}," ?",[2106,3152,3153],{"class":2410}," snapshot.tick ",[2106,3155,3156],{"class":2399},"%",[2106,3158,3138],{"class":2410},[2106,3160,3141],{"class":2423},[2106,3162,3163],{"class":2399}," :",[2106,3165,2780],{"class":2423},[2106,3167,3168,3170,3173,3175,3178,3180,3183,3186,3189,3191,3193,3195,3197,3200],{"class":2346,"line":2363},[2106,3169,2671],{"class":2399},[2106,3171,3172],{"class":2423}," orderedHumanIds",[2106,3174,2677],{"class":2399},[2106,3176,3177],{"class":2410}," [",[2106,3179,3025],{"class":2399},[2106,3181,3182],{"class":2410},"humanIds.",[2106,3184,3185],{"class":2406},"slice",[2106,3187,3188],{"class":2410},"(rotation), ",[2106,3190,3025],{"class":2399},[2106,3192,3182],{"class":2410},[2106,3194,3185],{"class":2406},[2106,3196,2843],{"class":2410},[2106,3198,3199],{"class":2423},"0",[2106,3201,3202],{"class":2410},", rotation)]\n",[11,3204,3205],{},"同時押しをきれいに裁く方法ではありません。有利不利を両者に均等にばらまいているだけです。ただ、1秒に20回入れ替わるので、体感としては偏りが消えます。",[11,3207,3208],{},"入力の送り方も少し工夫していて、方向は変わったときだけ送っています。押しっぱなしの間に同じ方向を送り続けても意味がないからです。",[57,3210,3212],{"id":3211},"消したはずの部屋が一覧に生き返る","消したはずの部屋が、一覧に生き返る",[11,3214,3215],{},"いちばん厄介だったのはここでした。",[11,3217,3218],{},"ロビーの部屋一覧は、各部屋が30秒ごとに送ってくる心拍で維持しています。90秒届かなくなった部屋は、落ちたものとみなして一覧から消す。ありふれたリース方式です。",[11,3220,3221],{},"問題は、部屋を削除した直後に、削除前に送られた心拍が遅れて届いたときです。ロビーから見れば「知らない部屋から心拍が来た」ので、律儀に一覧へ載せ直してしまう。消したはずの部屋が復活し、入ろうとすると当然どこにも繋がらない。",[11,3223,3224],{},"対策として、削除した部屋のIDを2分間だけ墓標として覚えておくことにしました。この間に届いた心拍は、どれだけ正しい形をしていても無視します。",[11,3226,3227],{},"ただし、この墓標はメモリの上にしかありません。ロビーのオブジェクトが入れ替われば消えます。実害としては、ちょうどその瞬間に迷子の心拍が届けば同じことが起きるわけで、完全ではない。今のところ2分あれば足りていますが、正直に書いておきます。",[57,3229,3231],{"id":3230},"durableという名前ほどは勝手に続かない","「Durable」という名前ほどは、勝手に続かない",[11,3233,3234],{},"名前から誤解していたことがあります。Durable Objectは状態を保存してくれますが、動きまで復元してくれるわけではありません。",[11,3236,3237],{},"盤面はストレージに書いてあるので消えません。でもオブジェクトが起き直ったとき、対戦ループのタイマーが自動で回りはじめるわけではないし、心拍も止まったまま、WebSocketの接続もありません。持続するのはデータであって、実行ではない。ここは実装しながら理解が更新されたところでした。",[57,3239,3241],{"id":3240},"デプロイの順番を間違えて自分で自分を切断した","デプロイの順番を間違えて、自分で自分を切断した",[11,3243,3244],{},"最後に、実際にやらかした話をひとつ。",[11,3246,3247],{},"ルーム内チャットを追加したとき、サーバーとページの両方を更新する必要がありました。ページを先に出してしまったんですね。すると、新しいページを開いた人がチャットのメッセージを送る、まだ更新されていないサーバーはそんなメッセージを知らない、不正なメッセージとみなして接続を切る、という流れになります。自分で自分を追い出しました。",[11,3249,3250],{},"順番はサーバーが先、ページが後です。新しいサーバーは古いメッセージも受け取れますが、逆は成立しない。個人開発でクライアントとサーバーを同じリポジトリで書いていると、両方まとめて出したくなるのですが、出す順番には向きがあります。",[57,3252,3254],{"id":3253},"今できることこれから","今できること、これから",[11,3256,3257],{},"現在は2人対戦です。合言葉で部屋を作って共有すれば、そのまま対戦できます。決着したあとも5分ほど部屋は残るので、チャットで健闘を称え合えます。",[11,3259,3260],{},"次は3〜4人での対戦、観戦、そして再戦をそのままの部屋でできるようにしたいと考えています。参加人数を増やすと、さきほどの順番ローテーションのような話がまた出てくるはずで、そこは実際に人を増やしてみないと分からない部分です。",[11,3262,3263],{},"遊んでみたい方はこちらからどうぞ。ダウンロードは要りません。",[113,3265,3266,3271],{},[65,3267,3268],{},[24,3269,3270],{"href":1895},"サルモノハオトスを遊ぶ",[65,3272,3273],{},[24,3274,3276],{"href":3275},"\u002Fgames\u002Fsarumono\u002F","ゲームの紹介ページ",[810,3278,2230],{"id":2229},[11,3280,3281,3282,2238],{},"SCGF.NETでは自作ゲームを公開しつつ、こうした技術まわりの記録も書いています。作りながら分かったこと、間違えたことをそのまま残していくつもりです。テック系の記事は ",[24,3283,2237],{"href":2236},[3285,3286,3287],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":290,"searchDepth":291,"depth":291,"links":3289},[3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301],{"id":2300,"depth":291,"text":2301},{"id":2313,"depth":291,"text":2314},{"id":2329,"depth":291,"text":2329},{"id":2384,"depth":291,"text":2384},{"id":2616,"depth":291,"text":2617},{"id":2648,"depth":291,"text":2649},{"id":2958,"depth":291,"text":2958},{"id":3091,"depth":291,"text":3092},{"id":3211,"depth":291,"text":3212},{"id":3230,"depth":291,"text":3231},{"id":3240,"depth":291,"text":3241},{"id":3253,"depth":291,"text":3254,"children":3302},[3303],{"id":2229,"depth":936,"text":2230},"2026-08-01","自作の3D対戦ミニゲーム「サルモノハオトス」にオンライン対戦を実装した記録です。常時起動のゲームサーバーもP2Pも選ばず、Cloudflare Workers と Durable Objects で「部屋ごとに小さなサーバーが立つ」構成にしました。50msティックと配信レートの話、切断した人をNPCに引き継がせる仕組み、消したはずの部屋が一覧に生き返った件まで、実コードを引用しながら書きます。","\u002Fimages\u002Fblog\u002Feyecatch-sarumono-durable-objects.jpg",{},"\u002Fblog\u002F2026-08-01-sarumono-durable-objects",[1923],{"title":2286,"description":3305},"blog\u002F2026-08-01-sarumono-durable-objects",[1927,2282],"0ZmcaRRGEfnb3ksg1pFcH0lzjJN2CbmGbyBZDWmYe7U",{"id":3315,"title":3316,"body":3317,"date":4004,"description":4005,"draft":299,"extension":300,"image":4006,"lang":777,"meta":4007,"navigation":304,"path":4008,"pr":304,"relatedGames":306,"seo":4009,"stem":4010,"tags":4011,"translations":306,"updated":3304,"__hash__":4013},"blog\u002Fblog\u002F2026-07-29-moca-coax-lan.md","テレビ線でMac Studioを有線化した。工事なしのMoCAで、AirPlayのカクつきもSSH切断も消えた",{"type":8,"value":3318,"toc":3965},[3319,3322,3325,3328,3332,3335,3338,3342,3345,3348,3352,3355,3358,3364,3367,3371,3374,3377,3381,3384,3387,3390,3393,3397,3400,3403,3407,3410,3413,3417,3420,3423,3430,3433,3439,3443,3446,3450,3453,3456,3459,3463,3466,3469,3472,3476,3479,3483,3492,3495,3498,3501,3505,3508,3513,3516,3522,3529,3533,3536,3539,3547,3555,3558,3561,3636,3639,3642,3645,3651,3654,3657,3663,3666,3672,3675,3681,3685,3688,3691,3694,3698,3701,3706,3712,3716,3722,3729,3732,3735,3782,3785,3788,3791,3794,3798,3801,3804,3809,3812,3815,3819,3822,3825,3829,3832,3835,3841,3844,3847,3851,3854,3858,3869,3873,3881,3885,3893,3897,3902,3905,3908,3911,3913,3916,3921],[11,3320,3321],{},"書斎のMac StudioをWi-Fiでつないでいたのですが、どうにも不安定でした。速度は出ているのに、肝心なときに引っかかる。",[11,3323,3324],{},"有線を引きたい。でもそのためだけに壁に穴を開けたくはない。",[11,3326,3327],{},"そこで、使っていないテレビのアンテナ線を使って有線化しました。工事なしで、挿すだけです。",[57,3329,3331],{"id":3330},"speedtestは速いのになぜか不安定だった","speedtestは速いのに、なぜか不安定だった",[11,3333,3334],{},"我が家は1階にルーターがあり、Mac Studioは2階の書斎にあります。距離は1フロア分。Wi-Fiの電波はちゃんと届いていて、測れば下り270Mbps前後は出ていました。",[11,3336,3337],{},"数字だけ見れば十分です。でも使っていると、明らかにおかしい場面がありました。",[810,3339,3341],{"id":3340},"_2階のmacから1階のapple-tvへゲーム画面がカクつく","2階のMacから1階のApple TVへ、ゲーム画面がカクつく",[11,3343,3344],{},"一番困っていたのがこれです。2階のMacの画面をAirPlayで1階のApple TVにミラーリングして、テレビの大画面でゲームをする。これがとにかくカクつく。",[11,3346,3347],{},"AirPlayのミラーリングは映像を流し続けるので、一瞬でも詰まるとそれがそのまま画面のカクつきとして見えてしまいます。speedtestが測る「平均の速度」とは、求められているものが違うわけですね。",[810,3349,3351],{"id":3350},"スマホからmacへのsshが定期的に切れる","スマホからMacへのSSHが定期的に切れる",[11,3353,3354],{},"もうひとつ。かなりマニアックな話ですが、外出先や家の中からスマホでMac StudioにSSHでつないで作業することがあります。これが定期的にセッションごと切れる。",[11,3356,3357],{},"SSHは数百ミリ秒の瞬断でも落ちます。裏を返せば、speedtestでは絶対に見えない不具合を教えてくれるということでもあります。「270Mbps出ているのにSSHは切れる」というのは、速度と安定性が別物だという何よりの証拠でした。",[11,3359,3360,3363],{},[24,3361,3362],{"href":1895},"オンラインで対戦できるゲーム","を自分で作っている身としては、通信の遅延と安定性は他人事ではありません。それなのに自宅の環境がこれか、と。",[11,3365,3366],{},"問題は速度ではなく安定性。だったら有線にするしかありません。",[57,3368,3370],{"id":3369},"有線を引きたいでも工事はしたくない","有線を引きたい。でも工事はしたくない",[11,3372,3373],{},"2階まで有線を引く方法はいくつかあります。",[11,3375,3376],{},"まっとうなのはLAN配線工事です。でも壁に穴を開けたり配管を通したりする話になる。お金もかかるし、そもそも家に手を入れたくない。これはナシ。",[810,3378,3380],{"id":3379},"plcコンセントlanを検討してやめた理由","PLC（コンセントLAN）を検討してやめた理由",[11,3382,3383],{},"次に調べたのがPLCです。電源コンセントに挿すだけで、家の電気配線をLANとして使う製品。工事不要という点では理想的でした。",[11,3385,3386],{},"ただ、調べていくと評判が芳しくない。光回線が1Gbps契約でも、実際には300Mbps程度で頭打ちになるという話がいくつも出てきます。今のWi-Fiで270Mbps出ているのだから、それでは乗り換える意味がありません。",[11,3388,3389],{},"安定性は良くなるかもしれない。でも速度は上がらないどころか、下手をすると誤差の範囲。これも見送りました。",[11,3391,3392],{},"そして「電気配線がダメなら、他に家中を通っている線はないか」と考えたところで、MoCAに行き当たりました。",[57,3394,3396],{"id":3395},"テレビの同軸ケーブルでlanを通すmocaという選択肢","テレビの同軸ケーブルでLANを通す「MoCA」という選択肢",[11,3398,3399],{},"MoCA（Multimedia over Coax Alliance）は、テレビのアンテナ線、つまり同軸ケーブルでLANを通す規格です。最新のMoCA 2.5は最大2.5Gbpsに対応しています。",[11,3401,3402],{},"言われてみれば、同軸ケーブルはもともと放送の信号を通すために作られた線です。電源線を間借りするPLCと比べたら、通信に使う下地としては明らかに有利。",[810,3404,3406],{"id":3405},"北米では普及日本ではほぼ無名","北米では普及、日本ではほぼ無名",[11,3408,3409],{},"MoCAは北米ではかなり普及していて、ケーブルテレビ事業者が標準的に使っています。一方、日本ではほとんど知られていません。家電量販店で売っているのを見たことがある人は、まずいないと思います。",[11,3411,3412],{},"日本で情報が少ないのは単に普及していないからで、規格そのものに問題があるわけではありません。ただ後で書くように、日本の放送事情ならではの注意点はあります。",[810,3414,3416],{"id":3415},"買ったものgocoax-ma2500d-2個パック","買ったもの：goCoax MA2500D 2個パック",[11,3418,3419],{},"MoCAアダプタは2台1組で使います。ルーター側に1台、機器側に1台。同軸ケーブルの両端に置いて、その間をLANとして通す仕組みです。",[11,3421,3422],{},"買ったのはgoCoax MA2500Dの2個パック。MoCA 2.5対応で、2.5GbEのポート付き。最大16ノードまで増やせるので、あとから3階や別の部屋を足すこともできます。",[3424,3425],"affiliate-card",{"image":3426,"shop":3427,"title":3428,"url":3429},"https:\u002F\u002Fm.media-amazon.com\u002Fimages\u002FI\u002F61FDmt7039L._AC_SX679_.jpg","Amazon","goCoax MoCA 2.5 アダプター 2個パック（MA2500D \u002F 2.5GbEイーサネットポート）","https:\u002F\u002Fwww.amazon.co.jp\u002Fdp\u002FB09RB1QYR9",[11,3431,3432],{},"中身はこれだけ。本体、ACアダプタ、LANケーブル、同軸ケーブルが1台分ずつ入っています。",[11,3434,3435],{},[40,3436],{"alt":3437,"src":3438},"goCoax MA2500Dの開封状態。本体・ACアダプタ・黄色のLANケーブル・袋入りの同軸ケーブル","\u002Fimages\u002Fblog\u002Funboxing.jpg",[57,3440,3442],{"id":3441},"我が家の条件ここが再現できるかの分かれ目","我が家の条件（ここが再現できるかの分かれ目）",[11,3444,3445],{},"MoCAが使えるかは、家の配線状況でほぼ決まります。うちの条件を先に書いておくので、ご自宅と照らし合わせてみてください。",[810,3447,3449],{"id":3448},"_2020年築各部屋にテレビ端子分配器は8k対応","2020年築・各部屋にテレビ端子・分配器は8K対応",[11,3451,3452],{},"我が家は2020年に建てた戸建てです。各部屋にテレビ端子が来ていて、壁の中は当然ながら同軸でつながっています。1階のルーターがある場所にも、2階の書斎にも端子がありました。",[11,3454,3455],{},"そして分配器が8K対応（3224MHz対応）でした。これが後で効いてきます。MoCAが使う周波数を余裕で通せるからです。",[11,3457,3458],{},"2018年以降に建った家なら、4K8K対応の分配器が入っている可能性は高いと思います。型番を調べて対応周波数を見てみてください。",[810,3460,3462],{"id":3461},"アンテナを設置していないテレビ線が完全に空いていた","アンテナを設置していない＝テレビ線が完全に空いていた",[11,3464,3465],{},"我が家の最大の特徴がこれです。屋根の上にテレビアンテナを設置していません。テレビはインターネットで見ているので必要ないからです。",[11,3467,3468],{},"つまり家中の同軸ケーブルは、一度も使われないまま眠っていたわけです。放送の信号が何も流れていない、まっさらな配線。",[11,3470,3471],{},"これがMoCAには最高の条件でした。この後で書く干渉の問題が、そもそも存在しないので。",[57,3473,3475],{"id":3474},"あなたの家で使えるかは周波数で決まる","あなたの家で使えるかは、周波数で決まる",[11,3477,3478],{},"ここが一番大事なところです。少し技術的な話になりますが、自宅で使えるかどうかがここで決まるので、もう少しお付き合いください。",[810,3480,3482],{"id":3481},"mocaと日本の放送波はどこで重なるのか","MoCAと日本の放送波はどこで重なるのか",[11,3484,3485,3486,3491],{},"MoCA 2.5が使う周波数帯は1125〜1675MHzです（",[24,3487,3490],{"href":3488,"rel":3489},"https:\u002F\u002Fmocalliance.org\u002Fmoca-2-5\u002F",[28],"MoCA Alliance公式","）。",[11,3493,3494],{},"これを日本のテレビ放送と並べてみます。地上デジタル放送（470〜710MHz）はMoCAと重なりません。一方、BS放送の受信機入力（BS-IF、およそ1032MHz以上）と110度CS放送のIFは、どちらもMoCAの帯域と重なります。",[11,3496,3497],{},"地デジだけなら周波数が離れているので共存できます。問題はBS\u002FCS。アンテナからケーブルに流れてくるBS\u002FCSの信号と、MoCAが使いたい帯域が真正面からぶつかります。",[11,3499,3500],{},"ちなみに4K8K放送の左旋（2224〜3224MHz）はMoCAより上なので、直接は重なりません。8K対応の分配器が「3224MHzまで通す」のはこの左旋のためで、結果としてMoCAの1675MHzも余裕で通ります。",[810,3502,3504],{"id":3503},"gocoaxが衛星放送では使えないと書いている理由","goCoaxが「衛星放送では使えない」と書いている理由",[11,3506,3507],{},"この干渉、メーカー自身が認めています。goCoax MA2500Dの商品名にはっきりこう書かれています。",[2094,3509,3510],{},[11,3511,3512],{},"Not for Satellite TV (DirecTV, DISH)",[11,3514,3515],{},"北米の衛星放送とは併用できない、という宣言です。理由は日本のBS\u002FCSとまったく同じで、衛星放送がアンテナ線に流す信号がMoCAの帯域とぶつかるから。",[11,3517,3518,3521],{},[14,3519,3520],{},"衛星放送を見ている家でMoCAを使うのは、メーカーが想定していない使い方","ということになります。",[11,3523,3524,3525,3528],{},"ここで注意してほしいことがあります。",[14,3526,3527],{},"Amazon.co.jpの日本語の商品名では、この否定が抜けています。"," 末尾が「ケーブルインターネットホーム用 - 衛星テレビ(ホワイト)」となっていて、これだけ読むと衛星テレビ対応のように見えてしまう。英語表記は \"Not for Satellite TV\" なので、意味は正反対です。日本語の商品名だけで判断しないでください。",[810,3530,3532],{"id":3531},"poeフィルタが要る家フィルタでは解決しない家","PoEフィルタが要る家、フィルタでは解決しない家",[11,3534,3535],{},"MoCAの解説を読むと、たいてい「PoEフィルタ（ローパスフィルタ）が必須」と書かれています。MoCAの信号がアンテナ線を通って屋外のアンテナまで届き、そこから電波として飛んでしまうのを防ぐためです。日本には電波法があるので、意図しない電波を出すのは避けなければいけません。",[11,3537,3538],{},"では、フィルタを入れればBS\u002FCSと共存できるのか。スペックを見る限り、無理です。",[11,3540,3541,3542,3491],{},"代表的なPoEフィルタ（PPC\u002FBelden）の仕様はこうなっています（",[24,3543,3546],{"href":3544,"rel":3545},"https:\u002F\u002Fwww.ppc-online.com\u002Fhubfs\u002F2057289\u002FSNLP-1GCW,%20SNLP-1GCWWS,%20GLP-1G70CW,%20GLP-1G70CWWS%20PPC%20MoCA%20POE%2040-70dB%20Filters%20Specs_7102019%20(1).pdf",[28],"仕様書PDF",[113,3548,3549,3552],{},[65,3550,3551],{},"通過帯域: 5〜1002MHz",[65,3553,3554],{},"阻止帯域: 1125〜1525MHz（35dB以上減衰。上位モデルは1675MHzまで40〜70dB）",[11,3556,3557],{},"地デジ（470〜710MHz）は通過帯域に入るのでそのまま通ります。でもBS-IFの1125MHz以上は、MoCAと一緒に止められてしまう計算です。フィルタはMoCAだけを狙い撃ちできないので、そこに重なっている放送波も巻き込みます。",[11,3559,3560],{},"まとめるとこうです。",[3562,3563,3564,3580],"table",{},[3565,3566,3567],"thead",{},[3568,3569,3570,3574,3577],"tr",{},[3571,3572,3573],"th",{},"家の状況",[3571,3575,3576],{},"MoCAは使えるか",[3571,3578,3579],{},"必要なもの",[3581,3582,3583,3599,3610,3625],"tbody",{},[3568,3584,3585,3591,3596],{},[3586,3587,3588],"td",{},[14,3589,3590],{},"アンテナ未設置・テレビはネット配信",[3586,3592,3593],{},[14,3594,3595],{},"最適",[3586,3597,3598],{},"不要（我が家のケース）",[3568,3600,3601,3604,3607],{},[3586,3602,3603],{},"地デジのみ視聴",[3586,3605,3606],{},"使える",[3586,3608,3609],{},"PoEフィルタ（地デジは通り、MoCA帯だけ止まる）",[3568,3611,3612,3617,3622],{},[3586,3613,3614],{},[14,3615,3616],{},"BS\u002FCSを視聴している",[3586,3618,3619],{},[14,3620,3621],{},"非推奨",[3586,3623,3624],{},"フィルタでは解決しない。メーカーも非対応と明記",[3568,3626,3627,3630,3633],{},[3586,3628,3629],{},"集合住宅・共聴設備あり",[3586,3631,3632],{},"要注意",[3586,3634,3635],{},"他世帯へ信号が漏れる可能性",[11,3637,3638],{},"ここは正直に書いておきます。我が家はアンテナがないので、PoEフィルタは使っていません。屋外に信号が漏れる経路そのものがないからです。なので上の表の「地デジのみ」「BS\u002FCS」の欄は、メーカーの公開仕様から読み取ったもので、私が実測したものではありません。当てはまる方は、ご自身でも仕様を確認したうえで判断してください。",[57,3640,3641],{"id":3641},"導入は挿すだけで終わった",[11,3643,3644],{},"構成はいたってシンプルです。壁の中の同軸が、そのままLANケーブルの代わりになります。",[11,3646,3647],{},[40,3648],{"alt":3649,"src":3650},"我が家の構成図。2階はMac StudioからLANケーブルでMoCAアダプタへ、そこから同軸ケーブルで壁のテレビ端子へ。壁の中の同軸は8K対応の分配器を経由して1階の壁のテレビ端子へ届き、1階でもMoCAアダプタとLANケーブルを介してルーターにつながる。ルーターはドコモ光1Gbpsでインターネットへ","\u002Fimages\u002Fblog\u002Fmoca-diagram.svg",[11,3652,3653],{},"やることは、壁のテレビ端子に同軸を挿すだけです。",[11,3655,3656],{},"こっちが1階側。テレビ端子（青いリングの付いた黒い同軸）と、LAN端子、コンセントが同じ場所にまとまっています。この同軸がMoCAアダプタにつながります。",[11,3658,3659],{},[40,3660],{"alt":3661,"src":3662},"1階側の壁。同軸のテレビ端子とLAN端子・コンセントが並んでいる","\u002Fimages\u002Fblog\u002Fcoax-outlet-1f.jpg",[11,3664,3665],{},"そして2階側。こっちも挿すのは同軸1本だけ。",[11,3667,3668],{},[40,3669],{"alt":3670,"src":3671},"2階の壁のテレビ端子に同軸ケーブルを挿した状態。すぐ隣のコンセントからMoCAアダプタの電源を取っている","\u002Fimages\u002Fblog\u002Fcoax-wall-outlet.jpg",[11,3673,3674],{},"設定作業はありませんでした。両方に電源を入れて同軸でつながっていれば、勝手にリンクします。本体のLEDで状態が分かるので、MoCAランプが点いていれば成功です。",[11,3676,3677],{},[40,3678],{"alt":3679,"src":3680},"1階側に置いたgoCoax MA2500D。MoCAランプが点灯すればリンク確立","\u002Fimages\u002Fblog\u002Fmoca-adapter-led.jpg",[810,3682,3684],{"id":3683},"米国仕様のacプラグ","米国仕様のACプラグ",[11,3686,3687],{},"ひとつだけ、届いて驚いたことがあります。ACアダプタが米国仕様のプラグでした（さきほどの開封写真の左に写っている黒いやつです）。",[11,3689,3690],{},"日本のコンセントは形が同じなのでそのまま挿さります。実際、問題なく動いています。とはいえ最初はちょっと戸惑うので、書いておきます。",[57,3692,3693],{"id":3693},"結果",[810,3695,3697],{"id":3696},"実測下り2679mbps-4834mbps","実測：下り267.9Mbps → 483.4Mbps",[11,3699,3700],{},"導入後に、同じMac Studioの接続方式だけを切り替えて測り比べました。同じ日・同じ時間帯・同じ測定ツール（Googleの速度テスト、サーバーはTokyo）です。導入前と導入後で日をまたいで比べるより、回線側の条件が揃うぶん素直な比較になっているはずです。",[3702,3703,3705],"h4",{"id":3704},"wi-fi接続時","Wi-Fi接続時",[11,3707,3708],{},[40,3709],{"alt":3710,"src":3711},"Wi-Fi接続時の測定結果。下り267.9Mbps \u002F 上り351.9Mbps \u002F レイテンシ15ミリ秒","\u002Fimages\u002Fblog\u002Fspeedtest-wifi.png",[3702,3713,3715],{"id":3714},"moca有線接続時","MoCA有線接続時",[11,3717,3718],{},[40,3719],{"alt":3720,"src":3721},"MoCA有線接続時の測定結果。下り483.4Mbps \u002F 上り273.6Mbps \u002F レイテンシ8ミリ秒","\u002Fimages\u002Fblog\u002Fspeedtest-moca.png",[11,3723,3724,3725,3728],{},"下りは267.9 → 483.4Mbpsで、およそ1.8倍。そして",[14,3726,3727],{},"レイテンシが15ミリ秒 → 8ミリ秒とほぼ半分","になりました。今回の目的からすると、こっちの方が大事な変化です。",[810,3730,3731],{"id":3731},"有線側を3回測るとどうなったか",[11,3733,3734],{},"1回では判断できないので、有線側はその後もう2回測りました。3回分をまとめるとこうです。",[3562,3736,3737,3752],{},[3565,3738,3739],{},[3568,3740,3741,3743,3746,3749],{},[3571,3742],{},[3571,3744,3745],{},"下り",[3571,3747,3748],{},"上り",[3571,3750,3751],{},"レイテンシ",[3581,3753,3754,3768],{},[3568,3755,3756,3759,3762,3765],{},[3586,3757,3758],{},"Wi-Fi（1回）",[3586,3760,3761],{},"267.9",[3586,3763,3764],{},"351.9",[3586,3766,3767],{},"15ミリ秒",[3568,3769,3770,3773,3776,3779],{},[3586,3771,3772],{},"MoCA有線（3回）",[3586,3774,3775],{},"415.4〜483.4",[3586,3777,3778],{},"273.6〜294.6",[3586,3780,3781],{},"7〜8ミリ秒",[11,3783,3784],{},"下りの伸びは1.5〜1.8倍で、測るたびに幅があります。さっき挙げた483.4Mbpsは3回のうち一番良かった値です。一方レイテンシは3回とも7〜8ミリ秒で安定していました。速度より安定性が目的だったので、こちらは期待どおり。",[11,3786,3787],{},"そして正直に書いておくと、上りは3回すべてでWi-Fiを下回りました。273.6 \u002F 283.6 \u002F 294.6Mbps に対して、Wi-Fiは351.9Mbps。1回だけならばらつきで片付けられますが、3回続くと傾向として実在するように見えます。",[11,3789,3790],{},"原因は分かっていません。Wi-Fi側は1回しか測っていないので比較としては非対称で、これ以上は手元のデータからは言えません。ともあれ、有線にすれば全部の数字が良くなるわけではないというのが実測の結果でした。",[11,3792,3793],{},"もうひとつ補足。我が家はドコモ光の1Gbps契約です。この400Mbps台が回線側の上限なのかMoCA側の上限なのかは、今回の測定だけでは切り分けられていません。速度テストは経路全体をまとめて測るので、どこが一番細いかはこの数字からは分かりません。",[810,3795,3797],{"id":3796},"airplayミラーリングのカクつきが消えた","AirPlayミラーリングのカクつきが消えた",[11,3799,3800],{},"体感で一番はっきり変わったのがこれです。カクつきが消えて、完全にスムーズになりました。",[11,3802,3803],{},"理由は分かりやすくて、我が家のApple TVも有線なので、MoCA導入後は",[11,3805,3806],{},[14,3807,3808],{},"Mac（有線）→ ルーター → Apple TV（有線）",[11,3810,3811],{},"という経路になり、無線区間がゼロになったからです。映像を流し続ける用途では、この差がそのまま出ますね。",[11,3813,3814],{},"ちなみにApple TV側がWi-Fiのままでも、無線区間が2つから1つに減るので改善は見込めるはずです。送信側だけ有線にするのでも意味はあると思います。",[810,3816,3818],{"id":3817},"sshが切れなくなった","SSHが切れなくなった",[11,3820,3821],{},"そしてSSHの定期的な切断がなくなりました。これが直ったおかげで、スマホからMacを触る作業がまともに使えるものになりました。",[11,3823,3824],{},"速度が上がったことより、こっちの方が日常のうれしさは大きいです。",[57,3826,3828],{"id":3827},"おまけ眠っていたairmac-time-capsuleが復活した","おまけ：眠っていたAirMac Time Capsuleが復活した",[11,3830,3831],{},"導入してから気づいた、予想外のおまけがあります。",[11,3833,3834],{},"2階に有線が来たことで、昔使っていたAirMac Time Capsuleを2.4GHzのアクセスポイントとして再設置できるようになりました。有線が届いていなければ、ただの置き物です。",[11,3836,3837],{},[40,3838],{"alt":3839,"src":3840},"押し入れから出してきたAirMac Time Capsule。2階に有線が届いたので2.4GHzのアクセスポイントとして復活した","\u002Fimages\u002Fblog\u002Fairmac-timecapsule.jpg",[11,3842,3843],{},"これで屋外に付けているCircle Viewの防犯カメラの接続が安定しました。2階から電波が届くようになったからです。",[11,3845,3846],{},"メッシュWi-Fiを買い足す手もありましたが、押し入れで眠っていた機材が現役に戻って、しかも困っていたことが解決した。有線が1本通ると、そこを足がかりにできることが増えるんだなと思いました。",[57,3848,3850],{"id":3849},"導入できる家できない家-チェックリスト","導入できる家・できない家 チェックリスト",[11,3852,3853],{},"最後に判断の材料をまとめておきます。",[810,3855,3857],{"id":3856},"条件が揃っている","◎ 条件が揃っている",[113,3859,3860,3863,3866],{},[65,3861,3862],{},"テレビをインターネット配信で見ていて、アンテナを設置していない",[65,3864,3865],{},"各部屋にテレビ端子がある",[65,3867,3868],{},"分配器が4K8K対応（3224MHz）",[810,3870,3872],{"id":3871},"使えるが準備が要る","○ 使えるが準備が要る",[113,3874,3875,3878],{},[65,3876,3877],{},"地デジのみ視聴している → PoEフィルタを検討",[65,3879,3880],{},"分配器の対応周波数が不明 → 型番を確認",[810,3882,3884],{"id":3883},"おすすめしない","△ おすすめしない",[113,3886,3887,3890],{},[65,3888,3889],{},"BS\u002FCSを視聴している → 周波数が重なる。メーカーも非対応と明記",[65,3891,3892],{},"集合住宅・共聴設備 → 他世帯への影響が確認できない限り避けたい",[810,3894,3896],{"id":3895},"そもそも不可","× そもそも不可",[113,3898,3899],{},[65,3900,3901],{},"部屋にテレビ端子がない",[3903,3904],"hr",{},[11,3906,3907],{},"「工事なしで2階に有線を引きたい」と思ってPLCで止まっている方は、けっこういるんじゃないかと思います。使っていないテレビのアンテナ線が家にあるなら、それは規格上2.5Gbpsまで対応する有線LANの経路になり得ます。",[11,3909,3910],{},"次はMacでPS5のリモートプレイを試してみる予定です。遅延にシビアな用途なので、有線化の効果が出るならここだろうと思っています。結果はまた書きます。",[810,3912,2230],{"id":2229},[11,3914,3915],{},"SCGF.NETはもともと自作ゲームを公開しているサイトですが、これからはこういう技術・機材まわりの記事も書いていきます。",[11,3917,3918,3919,2238],{},"オンラインで対戦できるゲームを作っていると、遅延や通信の安定性は避けて通れません。開発環境そのものの話も含めて、試して分かったことを記録に残していくつもりです。テック系の記事は ",[24,3920,2237],{"href":2236},[2240,3922,3923],{},[113,3924,3925,3931,3938,3944,3951,3958],{},[65,3926,3927],{},[24,3928,3930],{"href":3488,"rel":3929},[28],"MoCA Alliance：MoCA 2.5仕様",[65,3932,3933],{},[24,3934,3937],{"href":3935,"rel":3936},"https:\u002F\u002Fwww.gocoax.com\u002F",[28],"goCoax 公式サイト",[65,3939,3940],{},[24,3941,3943],{"href":3544,"rel":3942},[28],"PPC（Belden）MoCA PoEフィルタ 仕様書 PDF",[65,3945,3946],{},[24,3947,3950],{"href":3948,"rel":3949},"https:\u002F\u002Fwww.soumu.go.jp\u002Fmain_content\u002F000530382.pdf",[28],"総務省：放送用周波数の割当ての現状",[65,3952,3953],{},[24,3954,3957],{"href":3955,"rel":3956},"https:\u002F\u002Fwww.ite.or.jp\u002Fstudy\u002Fmusen\u002Ftips\u002Ftip08.html",[28],"映像情報メディア学会：テレビ放送用電波の周波数一覧",[65,3959,3960],{},[24,3961,3964],{"href":3962,"rel":3963},"https:\u002F\u002Fqiita.com\u002Fkerorinfather\u002Fitems\u002F069230f828ef253cf76f",[28],"MoCA 2.5 を使用しTVの同軸ケーブルを使ってLAN構築（Qiita）",{"title":290,"searchDepth":291,"depth":291,"links":3966},[3967,3971,3974,3978,3982,3987,3990,3996,3997],{"id":3330,"depth":291,"text":3331,"children":3968},[3969,3970],{"id":3340,"depth":936,"text":3341},{"id":3350,"depth":936,"text":3351},{"id":3369,"depth":291,"text":3370,"children":3972},[3973],{"id":3379,"depth":936,"text":3380},{"id":3395,"depth":291,"text":3396,"children":3975},[3976,3977],{"id":3405,"depth":936,"text":3406},{"id":3415,"depth":936,"text":3416},{"id":3441,"depth":291,"text":3442,"children":3979},[3980,3981],{"id":3448,"depth":936,"text":3449},{"id":3461,"depth":936,"text":3462},{"id":3474,"depth":291,"text":3475,"children":3983},[3984,3985,3986],{"id":3481,"depth":936,"text":3482},{"id":3503,"depth":936,"text":3504},{"id":3531,"depth":936,"text":3532},{"id":3641,"depth":291,"text":3641,"children":3988},[3989],{"id":3683,"depth":936,"text":3684},{"id":3693,"depth":291,"text":3693,"children":3991},[3992,3993,3994,3995],{"id":3696,"depth":936,"text":3697},{"id":3731,"depth":936,"text":3731},{"id":3796,"depth":936,"text":3797},{"id":3817,"depth":936,"text":3818},{"id":3827,"depth":291,"text":3828},{"id":3849,"depth":291,"text":3850,"children":3998},[3999,4000,4001,4002,4003],{"id":3856,"depth":936,"text":3857},{"id":3871,"depth":936,"text":3872},{"id":3883,"depth":936,"text":3884},{"id":3895,"depth":936,"text":3896},{"id":2229,"depth":936,"text":2230},"2026-07-29","2階のMac StudioがWi-Fiで不安定だったので、使っていないテレビのアンテナ線でMoCA 2.5の有線化をやってみました。工事なしで下りは実測267→最大483Mbps、レイテンシは15→8ミリ秒。AirPlayのカクつきとSSHの切断も消えました。goCoax MA2500Dの実機レポートと、日本の家で使える条件（アンテナの有無・分配器の対応周波数・BS\u002FCSとの干渉）を実測と公式仕様から整理します。","\u002Fimages\u002Fblog\u002Feyecatch-moca-coax-lan.jpg",{},"\u002Fblog\u002F2026-07-29-moca-coax-lan",{"title":3316,"description":4005},"blog\u002F2026-07-29-moca-coax-lan",[1927,4012],"ネットワーク","R4rDCRcTo8rlGkPQHIgiWCdvRPdTEIsB8OOqVZaXKk0",{"id":4015,"title":4016,"body":4017,"date":4111,"description":4112,"draft":299,"extension":300,"image":4113,"lang":777,"meta":4114,"navigation":304,"path":4115,"pr":299,"relatedGames":4116,"seo":4117,"stem":4118,"tags":4119,"translations":306,"updated":306,"__hash__":4120},"blog\u002Fblog\u002F2026-07-21-sarumono.md","新作「サルモノハオトス」公開！みんなで足場を崩し合うわちゃわちゃバトル(オープンテスト版)",{"type":8,"value":4018,"toc":4106},[4019,4025,4028,4034,4038,4041,4047,4058,4061,4064,4071,4077,4080,4083,4090,4093],[11,4020,4021,4022,4024],{},"新作ミニゲーム「",[14,4023,1896],{},"」を公開しました 🐒",[11,4026,4027],{},"足元のマスを崩し合って、最後まで残ったら勝ち。シンプルながらわちゃわちゃした対戦が楽しい、3Dの生き残りバトルです。",[11,4029,4030],{},[40,4031],{"alt":4032,"src":4033},"サルモノハオトスのタイトル画面","\u002Fimages\u002Fblog\u002Fsarumono-title.png",[57,4035,4037],{"id":4036},"どんなゲーム","どんなゲーム？",[11,4039,4040],{},"浮き島の上で、サルたちが「崩す」で相手の足元のマスを攻撃し合います。マスは予告(色が変化)→崩落→数秒後に復活、というルール。落とされてもしばらくすると別の場所に復活できるので、何度でも参戦できます。",[11,4042,4043],{},[40,4044],{"alt":4045,"src":4046},"NPCを増やして乱闘中の様子","\u002Fimages\u002Fblog\u002Fsarumono-battle.png",[113,4048,4049,4052,4055],{},[65,4050,4051],{},"相手の数は1〜3体、難易度も3段階から選べます",[65,4053,4054],{},"ダッシュ・3列崩し・シールドなどのアイテムも登場",[65,4056,4057],{},"落下5回で負け。最後の1匹になるまで生き残ろう",[11,4059,4060],{},"初めての人でも迷わないよう、簡単なあそびかたガイドも用意しています。",[57,4062,4063],{"id":4063},"オンライン対戦もできます",[11,4065,4066,4067,4070],{},"今回の目玉は",[14,4068,4069],{},"オンライン対戦","。合言葉ルームを作れば、友だちとその場で対戦できます。",[11,4072,4073],{},[40,4074],{"alt":4075,"src":4076},"合言葉ルームでの待機画面とチャット","\u002Fimages\u002Fblog\u002Fsarumono-online.png",[11,4078,4079],{},"対戦が終わった後もチャットができるので、「ナイスファイト！」「もう一回やろう！」と健闘を称え合えます。",[57,4081,4082],{"id":4082},"オープンテスト版として公開します",[11,4084,4085,4086,4089],{},"まだ調整中の部分もある",[14,4087,4088],{},"オープンテスト版","としての公開です。遊んでみて気になったこと・こうしてほしいということがあれば、ゲーム内の「感想を送る」からぜひ教えてください。いただいた声は今後の調整に活かしていきます。",[11,4091,4092],{},"ダウンロード・インストールは不要、ブラウザを開けばすぐに遊べます(スマホもOK)。",[113,4094,4095,4100],{},[65,4096,4097,4099],{},[24,4098,3270],{"href":1895}," — その場ですぐスタート",[65,4101,4102,4105],{},[24,4103,4104],{"href":3275},"紹介ページを見る"," — スクリーンショットなど",{"title":290,"searchDepth":291,"depth":291,"links":4107},[4108,4109,4110],{"id":4036,"depth":291,"text":4037},{"id":4063,"depth":291,"text":4063},{"id":4082,"depth":291,"text":4082},"2026-07-21","サルたちが足場を崩し合う新作3D対戦ミニゲーム「サルモノハオトス」を公開しました。オンライン対戦・チャットにも対応。ダウンロード不要、ブラウザですぐ遊べます(オープンテスト版)。","\u002Fimages\u002Fblog\u002Feyecatch-sarumono.jpg",{},"\u002Fblog\u002F2026-07-21-sarumono",[1923],{"title":4016,"description":4112},"blog\u002F2026-07-21-sarumono",[1249,783],"4RWsDjFjSmfM1-3ktfYmQiey0qkQCJlTCozPW_nkaf8",{"id":4122,"title":4123,"body":4124,"date":4255,"description":4256,"draft":299,"extension":300,"image":4257,"lang":777,"meta":4258,"navigation":304,"path":4259,"pr":299,"relatedGames":306,"seo":4260,"stem":4261,"tags":4262,"translations":306,"updated":306,"__hash__":4263},"blog\u002Fblog\u002F2026-07-16-controller-select.md","スマホでもっと遊びやすく！ブラウザ版に「操作方法の切り替え」を追加しました",{"type":8,"value":4125,"toc":4247},[4126,4133,4136,4142,4149,4153,4157,4163,4166,4170,4176,4183,4187,4194,4201,4204,4215,4244],[11,4127,4128,4129,4132],{},"ブラウザ版のゲームに、",[14,4130,4131],{},"タッチ操作の方式を選べる機能","を追加しました 🎮",[11,4134,4135],{},"スマホで遊んでいると「十字キーだと指がズレる…」「もっと直感的に動かしたい」——そんな声に応える、操作方法の切り替え機能です。",[11,4137,4138],{},[40,4139],{"alt":4140,"src":4141},"操作方法を選ぶ画面（十字キー／スティック）","\u002Fimages\u002Fblog\u002Fcontroller-select.png",[11,4143,4144,4145,4148],{},"ゲームを開くと、最初に",[14,4146,4147],{},"この選択画面","が出ます。好きな方を選んでスタート！",[57,4150,4152],{"id":4151},"_2つの操作方法","2つの操作方法",[810,4154,4156],{"id":4155},"十字キー従来どおり","十字キー（従来どおり）",[11,4158,4159],{},[40,4160],{"alt":4161,"src":4162},"十字キーでの操作","\u002Fimages\u002Fblog\u002Fcontroller-dpad.png",[11,4164,4165],{},"画面左下に固定された十字ボタン。押した方向にキャラが動く、おなじみのスタイルです。「ボタンの位置が変わらない方が安心」という人におすすめ。",[810,4167,4169],{"id":4168},"スティック新しい操作","スティック（新しい操作）",[11,4171,4172],{},[40,4173],{"alt":4174,"src":4175},"スティックでの操作","\u002Fimages\u002Fblog\u002Fcontroller-stick.png",[11,4177,4178,4179,4182],{},"画面の左下エリアを",[14,4180,4181],{},"どこでもいいので触ると","、そこを中心にスティックが浮かび、倒した方向へキャラが動きます。指の置き場所を気にしなくていいので、逃げ回るアクションもスムーズ。移動しながら親指を滑らせる感覚で操作できます。",[57,4184,4186],{"id":4185},"いつでも切り替えok","いつでも切り替えOK",[11,4188,4189,4190,4193],{},"一度選んだ操作方法は",[14,4191,4192],{},"記憶される","ので、次からはそのまますぐ遊べます。",[11,4195,4196,4197,4200],{},"「やっぱりもう片方を試したい」というときは、画面上部の ",[14,4198,4199],{},"⚙ 操作"," ボタンを押せば、いつでも選び直せます。自分の遊びやすい方を見つけてみてください。",[57,4202,4203],{"id":4203},"対象のゲーム",[11,4205,4206,4207,4210,4211,4214],{},"この機能は、ブラウザで遊べる",[24,4208,4209],{"href":2174},"食い逃げ野郎シリーズ","をはじめ、",[14,4212,4213],{},"ブラウザ版すべてのゲーム","で使えます。ダウンロードもインストールも不要、「遊ぶ」ボタンを押すだけでその場でスタートできます（もちろんスマホでもOK）。",[113,4216,4217,4223,4230,4237],{},[65,4218,4219,4222],{},[24,4220,4221],{"href":2043},"食い逃げ野郎"," — 記念すべきシリーズ1作目",[65,4224,4225,4229],{},[24,4226,4228],{"href":4227},"\u002Fgames\u002Fkuinige2\u002F","食い逃げ野郎2 ～王国の逆襲～"," — ステージ選択制",[65,4231,4232,4236],{},[24,4233,4235],{"href":4234},"\u002Fgames\u002Fkuinige3\u002F","食い逃げ野郎3 ～FINAL ESCAPE～"," — 弾幕系の高難度",[65,4238,4239,4243],{},[24,4240,4242],{"href":4241},"\u002Fgames\u002Fkuinige4\u002F","食い逃げ野郎4 ～The kuinige is not enough～"," — シリーズ最大ボリューム",[11,4245,4246],{},"自分にしっくりくる操作で、ぜひクリアを目指してみてください！",{"title":290,"searchDepth":291,"depth":291,"links":4248},[4249,4253,4254],{"id":4151,"depth":291,"text":4152,"children":4250},[4251,4252],{"id":4155,"depth":936,"text":4156},{"id":4168,"depth":936,"text":4169},{"id":4185,"depth":291,"text":4186},{"id":4203,"depth":291,"text":4203},"2026-07-16","食い逃げ野郎シリーズなどのブラウザ版に、タッチ操作の方式を選べる機能を追加。「十字キー」と「スティック」を起動前に選べて、いつでも切り替えOK。スマホで遊びやすくなりました。","\u002Fimages\u002Fblog\u002Feyecatch-controller-select.jpg",{},"\u002Fblog\u002F2026-07-16-controller-select",{"title":4123,"description":4256},"blog\u002F2026-07-16-controller-select",[1249,783],"sL0R_AgDWtTnvWm_IKzDzNYzFh9PBuJBOF6Q_aZ17qE",{"id":4265,"title":4266,"body":4267,"date":4364,"description":4365,"draft":299,"extension":300,"image":4366,"lang":777,"meta":4367,"navigation":304,"path":4368,"pr":299,"relatedGames":4369,"seo":4372,"stem":4373,"tags":4374,"translations":306,"updated":306,"__hash__":4375},"blog\u002Fblog\u002F2026-07-08-clear-rate.md","食い逃げ野郎、みんなどこまで行けてる？到達度が見られるようになりました",{"type":8,"value":4268,"toc":4360},[4269,4276,4279,4285,4290,4294,4301,4318,4321,4325,4332,4339,4357],[11,4270,4271,4272,4275],{},"食い逃げ野郎シリーズのゲームページに、ブラウザ版で遊んだ",[14,4273,4274],{},"みんなの到達度","が見られる機能を追加しました 🎮",[11,4277,4278],{},"「自分はここで詰まったけど、他の人はどこまで行けてるんだろう？」——そんな疑問に答える、ちょっとしたお楽しみ機能です。",[11,4280,4281],{},[40,4282],{"alt":4283,"src":4284},"ブラウザ版プレイヤーの到達度（表示イメージ）","\u002Fimages\u002Fblog\u002Fstage-funnel.png",[11,4286,4287],{},[48,4288,4289],{},"※ 画像は表示イメージです。実際の数字はこれからプレイしてくれた人の記録で埋まっていきます。",[57,4291,4293],{"id":4292},"どういう機能","どういう機能？",[11,4295,4296,4297,4300],{},"各ゲームのページを下にスクロールすると、「",[14,4298,4299],{},"ブラウザ版プレイヤーの到達度","」が表示されます。",[113,4302,4303,4306,4312],{},[65,4304,4305],{},"何人が挑戦したか",[65,4307,4308,4309],{},"ステージごとに、",[14,4310,4311],{},"何％の人がそこまで到達できたか",[65,4313,4314,4315],{},"そして…",[14,4316,4317],{},"何％の人がクリアできたか！",[11,4319,4320],{},"ステージが進むほどバーは短くなっていきます。つまり「みんながどこで脱落しているか」が一目で分かるわけです。ラスボスやクリアまでたどり着ける人は、はたして何％——？",[57,4322,4324],{"id":4323},"みんなでクリアを目指そう","みんなでクリアを目指そう！",[11,4326,4327,4328,4331],{},"このシリーズ、実はけっこう歯ごたえがあります。",[14,4329,4330],{},"クリア率が低いステージほど、突破したときの気持ちよさは格別","。",[11,4333,4334,4335,4338],{},"「あなたはどこまで行ける？」——ダウンロードもインストールも不要、ブラウザの「遊ぶ」ボタンを",[14,4336,4337],{},"押すだけ","でその場で挑戦できます(スマホでもOK)。みんなでクリア率を押し上げていきましょう！",[113,4340,4341,4345,4349,4353],{},[65,4342,4343,4222],{},[24,4344,4221],{"href":2043},[65,4346,4347,4229],{},[24,4348,4228],{"href":4227},[65,4350,4351,4236],{},[24,4352,4235],{"href":4234},[65,4354,4355,4243],{},[24,4356,4242],{"href":4241},[11,4358,4359],{},"クリアできたら、ぜひ到達度バーを一番下まで伸ばしてやってください。あなたの1プレイが、この数字に刻まれます。",{"title":290,"searchDepth":291,"depth":291,"links":4361},[4362,4363],{"id":4292,"depth":291,"text":4293},{"id":4323,"depth":291,"text":4324},"2026-07-08","食い逃げ野郎シリーズのブラウザ版に「みんなの到達度」を追加。何％の人がどのステージまで進めたか、クリア率が見られます。みんなでクリアを目指そう！","\u002Fimages\u002Fblog\u002Feyecatch-clear-rate.jpg",{},"\u002Fblog\u002F2026-07-08-clear-rate",[2065,4370,4371],"kuinige2","kuinige4",{"title":4266,"description":4365},"blog\u002F2026-07-08-clear-rate",[1249,783],"BP4w2__4sOkAEuWeZmIVWTChRiMvtiuxuWNy2jTrrqg",{"id":4377,"title":4378,"body":4379,"date":4364,"description":4551,"draft":299,"extension":300,"image":4552,"lang":777,"meta":4553,"navigation":304,"path":4554,"pr":299,"relatedGames":4555,"seo":4556,"stem":4557,"tags":4558,"translations":306,"updated":306,"__hash__":4559},"blog\u002Fblog\u002F2026-07-08-kuinige-history.md","幻の第5作を発掘。食い逃げ野郎シリーズの歴史をまとめました",{"type":8,"value":4380,"toc":4541},[4381,4392,4395,4402,4408,4411,4417,4421,4428,4461,4464,4468,4479,4483,4486,4500,4506,4512,4515,4518,4521,4527,4534],[11,4382,4383,4384,4387,4388,4391],{},"食い逃げ野郎シリーズをブラウザで遊べるようにしたのを機に、",[14,4385,4386],{},"このシリーズの歴史をちゃんと調べ直してみました","。Wayback Machine（昔のサイトの記録）やベクターの当時のレビューを掘り起こしていくと、自分たちでも忘れかけていた事実がいろいろ出てきて——最終的に、",[14,4389,4390],{},"シリーズ完全ガイド","としてまとめることにしました。",[57,4393,1998],{"id":4394},"食い逃げごときでそこまでするのか",[11,4396,4397,4398,4401],{},"食い逃げ野郎シリーズが生まれたのは",[14,4399,4400],{},"2002年","。作者フォウルが高校生の頃の作品です。",[11,4403,4404,4405,4407],{},"テーマはただひとつ、",[14,4406,1998],{},"。料理を食い逃げした男を、店員だけでなく兵士・戦車・ゾンビ・幽霊までが本気で殺しにくる——という理不尽なギャグ世界。それを、大真面目に・シビアな操作で作り込んだのがこのシリーズです。",[11,4409,4410],{},"当時のベクターのレビュー（2002年10月19日）では、作者本人がこう語っていました。「逃げるゲームを作りたかった。でも、ただ逃げるだけでは面白くない。だから『食い逃げ』という犯罪を題材にした」。友人が「面白い」と言ってくれて、続編を作り続けることになった——そんな原点も残っていました。",[11,4412,4413],{},[40,4414],{"alt":4415,"src":4416},"食い逃げ野郎（2002年）","\u002Fimages\u002Fgames\u002Fkuinige\u002Fss1.png",[57,4418,4420],{"id":4419},"ツクール製なのにアクションが進化し続けた","ツクール製なのに、アクションが進化し続けた",[11,4422,4423,4424,4427],{},"このシリーズの一番おもしろいところは、",[14,4425,4426],{},"RPGツクール2000で作られているのに、作を重ねるごとにアクションがどんどん進化していった","ことです。",[113,4429,4430,4435,4441,4455],{},[65,4431,4432,4434],{},[14,4433,4221],{},"（2002）— ただ逃げるだけの原点",[65,4436,4437,4440],{},[14,4438,4439],{},"食い逃げ野郎2","（2002）— 世界マップ、時間帯で難易度が変化。ベクター掲載作",[65,4442,4443,4446,4447,4450,4451,4454],{},[14,4444,4445],{},"食い逃げ野郎3 FINAL ESCAPE","（2002）— ",[14,4448,4449],{},"ジャンプ機能","と",[14,4452,4453],{},"リトライ機能","を搭載",[65,4456,4457,4460],{},[14,4458,4459],{},"食い逃げ野郎4","（2003）— 横スクロール対応、シリーズ最大ボリューム",[11,4462,4463],{},"新作ほど、作者の技術力とセンスの高まりが感じられます。",[57,4465,4467],{"id":4466},"体験版で意見を募る時代を先取りした作り方","体験版で意見を募る——時代を先取りした作り方",[11,4469,4470,4471,4474,4475,4478],{},"特に食い逃げ野郎4は、",[14,4472,4473],{},"体験版を先に公開 → 掲示板や専用メールで感想を募集 → 正式版を公開 → アップデートで改善","、という流れで作られていました。「ぜひプレーして感想をください」と当時のサイトに書かれていて、これは今でいう",[14,4476,4477],{},"Early Access","（早期アクセス）そのもの。2003年当時としては、なかなか先進的だったと思います。",[57,4480,4482],{"id":4481},"そして幻の第5作","そして、幻の第5作",[11,4484,4485],{},"そして今回いちばんの発見が、これ。",[11,4487,4488,4489,4492,4493,4496,4497,1999],{},"シリーズは4作目のあと、",[14,4490,4491],{},"第5作「食い逃げ野郎5」の制作にも着手していました","。でも完成には至らず、世に出たのは",[14,4494,4495],{},"体験版のみ","。タイトル画面もRPGツクールのデフォルトのまま——完成を待たずに時が止まった、いわば",[14,4498,4499],{},"“幻の続編”",[11,4501,4502],{},[40,4503],{"alt":4504,"src":4505},"幻の第5作・タイトル画面はデフォルトのまま","\u002Fimages\u002Fgames\u002Fkuinige5\u002Fss1.png",[11,4507,4508],{},[40,4509],{"alt":4510,"src":4511},"食い逃げ野郎5 体験版のオープニング","\u002Fimages\u002Fgames\u002Fkuinige5\u002Fss2.png",[11,4513,4514],{},"その体験版が、今もブラウザでそのまま遊べます。シリーズの、もうひとつの結末をのぞいてみてください。",[57,4516,4517],{"id":4517},"完全ガイドにまとめました",[11,4519,4520],{},"これらをぜんぶ一枚にまとめたのが、こちらのページです。",[810,4522,4524,4525],{"id":4523},"食い逃げ野郎シリーズ完全ガイド","👉 ",[24,4526,4523],{"href":2174},[11,4528,4529,4530,4533],{},"年表・スクリーンショット・当時のエピソード・幻の第5作まで、シリーズの歩みを一気に振り返れます。各作品は",[14,4531,4532],{},"ダウンロード不要でそのままブラウザで遊べる","ほか、「みんなの到達度（クリア率）」も見られます。",[11,4535,4536,4537,4540],{},"あなたはどこまで行ける？ ——まずは",[24,4538,4539],{"href":2043},"初代・食い逃げ野郎","から、どうぞ。",{"title":290,"searchDepth":291,"depth":291,"links":4542},[4543,4544,4545,4546,4547],{"id":4394,"depth":291,"text":1998},{"id":4419,"depth":291,"text":4420},{"id":4466,"depth":291,"text":4467},{"id":4481,"depth":291,"text":4482},{"id":4517,"depth":291,"text":4517,"children":4548},[4549],{"id":4523,"depth":936,"text":4550},"👉 食い逃げ野郎シリーズ完全ガイド","2002年に始まった食い逃げ野郎シリーズ。Wayback Machineやベクターのアーカイブを掘り起こし、シリーズの歴史と“幻の第5作（体験版）”までをまとめた「完全ガイド」ページを公開しました。","\u002Fimages\u002Fblog\u002Feyecatch-kuinige-history.jpg",{},"\u002Fblog\u002F2026-07-08-kuinige-history",[2065,4370,4371],{"title":4378,"description":4551},"blog\u002F2026-07-08-kuinige-history",[1249,783],"mkMk73oFKBkrnu6XAk3C6QpsufyS4arHpy7Z9WgHPOs",{"id":4561,"title":4562,"body":4563,"date":4687,"description":4688,"draft":299,"extension":300,"image":4689,"lang":777,"meta":4690,"navigation":304,"path":4691,"pr":299,"relatedGames":4692,"seo":4696,"stem":4697,"tags":4698,"translations":306,"updated":306,"__hash__":4699},"blog\u002Fblog\u002F2026-07-07-browser-games.md","全ゲームがブラウザでそのまま遊べるようになりました",{"type":8,"value":4564,"toc":4683},[4565,4568,4579,4586,4590,4646,4657,4660,4680],[11,4566,4567],{},"これまでSCGF.NETのゲームは、zipをダウンロードして解凍し、RPGツクールのランタイムを入れて…という手順が必要でした。",[11,4569,4570,4571,4574,4575,4578],{},"このたび、",[14,4572,4573],{},"すべてのタイトルをブラウザ上でそのまま遊べる","ようにしました 🎮\nダウンロードもインストールも不要。ゲームページの緑色の「",[14,4576,4577],{},"ブラウザで遊ぶ","」ボタンを押すだけで、その場でプレイできます(スマホでもOK)。",[11,4580,4581,4582,4585],{},"当初は一部の作品が対応できていませんでしたが、追加対応が完了し、",[14,4583,4584],{},"全11作品","が遊べるようになりました。",[57,4587,4589],{"id":4588},"ブラウザで遊べるタイトル全作品","ブラウザで遊べるタイトル(全作品)",[113,4591,4592,4608,4627,4634,4640],{},[65,4593,4594,4595,4598,4599,4598,4602,4598,4605],{},"食い逃げ野郎シリーズ: ",[24,4596,4597],{"href":2043},"1"," \u002F ",[24,4600,4601],{"href":4227},"2",[24,4603,4604],{"href":4234},"3",[24,4606,4607],{"href":4241},"4",[65,4609,4610,4611,4598,4615,4598,4619,4598,4623],{},"マイケルシリーズ: ",[24,4612,4614],{"href":4613},"\u002Fgames\u002Fomimai\u002F","お見舞い野郎",[24,4616,4618],{"href":4617},"\u002Fgames\u002Fotsukai\u002F","おつかい野郎",[24,4620,4622],{"href":4621},"\u002Fgames\u002Frusuban\u002F","留守番野郎",[24,4624,4626],{"href":4625},"\u002Fgames\u002Fotetsudai\u002F","お手伝い野郎",[65,4628,4629,4633],{},[24,4630,4632],{"href":4631},"\u002Fgames\u002Fdrift\u002F","ドリフト野郎","(峠を攻めるレースゲーム)",[65,4635,4636],{},[24,4637,4639],{"href":4638},"\u002Fgames\u002Fpinpon\u002F","ピンポンダッシュ野郎",[65,4641,4642],{},[24,4643,4645],{"href":4644},"\u002Fgames\u002Fjuken\u002F","受験戦争",[11,4647,4648,4652,4653,4656],{},[24,4649,4651],{"href":4650},"\u002Fgames\u002F","ゲーム一覧","では、ブラウザで遊べる作品に「",[14,4654,4655],{},"▶ ブラウザで遊べる","」マークが付いています。",[57,4658,4659],{"id":4659},"操作方法",[113,4661,4662,4668,4674],{},[65,4663,4664,4667],{},[14,4665,4666],{},"移動",": 矢印キー(スマホは画面のボタン)",[65,4669,4670,4673],{},[14,4671,4672],{},"決定",": Enter または Z",[65,4675,4676,4679],{},[14,4677,4678],{},"キャンセル \u002F メニュー",": Esc または X",[11,4681,4682],{},"昔の作品も今の環境でサクッと遊べるようになりました。ぜひ触ってみてください。",{"title":290,"searchDepth":291,"depth":291,"links":4684},[4685,4686],{"id":4588,"depth":291,"text":4589},{"id":4659,"depth":291,"text":4659},"2026-07-07","SCGF.NETの全作品を、ダウンロード不要・ブラウザ上でそのままプレイできるようにしました。","\u002Fimages\u002Fblog\u002Feyecatch-browser-games.jpg",{},"\u002Fblog\u002F2026-07-07-browser-games",[4693,4694,4695],"otsukai","keimusyo","juken",{"title":4562,"description":4688},"blog\u002F2026-07-07-browser-games",[1249,783],"gnCmFkELj52GGUjVHQkUKT-P4zKvm1lKtMpjp81unSg",{"id":4701,"title":4702,"body":4703,"date":4715,"description":4716,"draft":299,"extension":300,"image":4717,"lang":777,"meta":4718,"navigation":304,"path":4719,"pr":299,"relatedGames":306,"seo":4720,"stem":4721,"tags":4722,"translations":306,"updated":306,"__hash__":4723},"blog\u002Fblog\u002F2026-07-05-hello.md","サイトをリニューアルしました",{"type":8,"value":4704,"toc":4713},[4705],[11,4706,4707,4708,4712],{},"新生scgf.netへようこそ。旧サイトは ",[24,4709,2208],{"href":4710,"rel":4711},"https:\u002F\u002Fold.scgf.net",[28]," でそのまま見られます。",{"title":290,"searchDepth":291,"depth":291,"links":4714},[],"2026-07-05","scgf.netを全面リニューアル。旧サイトはold.scgf.netで公開継続中です。","\u002Fimages\u002Fblog\u002Feyecatch-hello.jpg",{},"\u002Fblog\u002F2026-07-05-hello",{"title":4702,"description":4716},"blog\u002F2026-07-05-hello",[1249],"S6NvqsH0YFHFVEFEZAIhbdC5wCGaaesgBJ1fiA1xLeE",1791950493293]