<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>技術系のあれこれ | ゲームに囲まれたい生活</title>
	<atom:link href="https://gamekineki.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>https://gamekineki.com</link>
	<description>ゲームを含めた自分の趣味を語ってゆくブログ</description>
	<lastBuildDate>Mon, 07 Sep 2026 23:33:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://gamekineki.com/wp-content/uploads/2024/02/cropped-58c0d6b17f7ea6322ea76689afd67af0-32x32.jpg</url>
	<title>技術系のあれこれ | ゲームに囲まれたい生活</title>
	<link>https://gamekineki.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>aviutl2でボイロ系の動画を作ってみてはいかがかな？という話</title>
		<link>https://gamekineki.com/post-927/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Sat, 06 Jun 2026 03:45:24 +0000</pubDate>
				<category><![CDATA[技術雑記]]></category>
		<category><![CDATA[動画編集]]></category>
		<category><![CDATA[aviutl2]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=927</guid>

					<description><![CDATA[　aviutl2beta版が公開されまして、早一年近くとなりました。当初話題になったので、「使いたいな（もしくは使ってみて）・・・でも安定するまでまだいっか・・・」となった人も多いことと思います。かくいう私もその一人です [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　aviutl2beta版が公開されまして、早一年近くとなりました。<br>当初話題になったので、「使いたいな（もしくは使ってみて）・・・でも安定するまでまだいっか・・・」となった人も多いことと思います。かくいう私もその一人です。</p>



<p class="wp-block-paragraph">　私はaviutlユーザーでニコニコでみゃーまいちゃんのゲーム動画を投稿しているのですが、動画編集する上でいくつか悩んでいる点がありました。</p>



<ul class="wp-block-list">
<li>編集画面で確認のために動画を流していると、度々エラー表示が起こる。<br>→念のために直前のバックアップからプロジェクト保存しなおす手間がかかる。</li>



<li>出力中にそこそこの確率で途中で止まってしまう＝出力時の安定感がない。<br>→20～30分ほどの動画で出力に一時間前後かかるので終盤のハラハラ感がすごい！（嫌な意味で）</li>



<li>RAMやCPUなどに余裕はあるのに上記のことが起こったり、全体的にもっさりする感じがするなど安定感が微妙にない。</li>
</ul>



<p class="wp-block-paragraph">などのことを感じていました。<br>　そこで「もし一年近く経った現在のaviutl2周りが安定していたら、ちょっとばかし環境を構築してみるか！」ということを思い立ち、やってみました！<br>その結果、aviutl時に作っていた動画と同じ基準のモノをほぼ同じやり方で作れるようになりました！<br>なおかつ、編集時や出力時の安定も◎！（以下の動画はその実験作）</p>


<a rel="noopener" target="_blank" href="https://www.nicovideo.jp/watch/sm46391802" title="【MTGA】異邦の詩人でトークンをたくさん出して遊ぶ：8【宮舞モカ実況プレイ】" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img fetchpriority="high" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.nicovideo.jp%2Fwatch%2Fsm46391802?w=320&#038;h=180" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【MTGA】異邦の詩人でトークンをたくさん出して遊ぶ：8【宮舞モカ実況プレイ】</div><div class="blogcard-snippet external-blogcard-snippet">【MTGA】異邦の詩人でトークンをたくさん出して遊ぶ：8【宮舞モカ実況プレイ】 aviutl2での初動画作成＆投稿です！出力が恐ろしく速い・・・気がする！（確実に安定はしているの巻&#8230;</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.nicovideo.jp/watch/sm46391802" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.nicovideo.jp</div></div></div></div></a>


<p class="wp-block-paragraph">　というわけで、この記事は自分レベルの編集</p>



<ul class="wp-block-list">
<li><strong>最低限のPSD立ち絵編集</strong></li>



<li><strong>素材投げ込み</strong>（動画・音声・画像など）</li>



<li><strong>x264出力</strong></li>



<li><strong>標準的なaviutlの機能</strong></li>
</ul>



<p class="wp-block-paragraph">であれば、現状（beta47、2026/6/1時点）でできるよー、ということを伝える記事なのです。<br>　実際のaviutl2導入に関しての手順は既にネットの海に存在（自分もそれらを参考に）しているので、ここでは自分の所感を伝えていきたいと思います。</p>



<h3 class="wp-block-heading"><span id="toc1">現状、導入しているものは？</span></h3>



<p class="wp-block-paragraph">　ひとまず自分が導入しているものから話していきますね。</p>



<ul class="wp-block-list">
<li><strong>AviUtl ExEdit2 beta47</strong>(<a rel="noopener" target="_blank" href="https://spring-fragrance.mints.ne.jp/aviutl/">https://spring-fragrance.mints.ne.jp/aviutl/</a>・・・5/30時点でbeta48が公開済み)</li>



<li><strong>L-SMASH-Works</strong>(<a rel="noopener" target="_blank" href="https://github.com/Mr-Ojii/L-SMASH-Works-Auto-Builds/releases">https://github.com/Mr-Ojii/L-SMASH-Works-Auto-Builds/releases</a>)</li>



<li><strong>x264guiEx</strong>(<a rel="noopener" target="_blank" href="https://github.com/rigaya/x264guiEx/releases">https://github.com/rigaya/x264guiEx/releases</a>)</li>



<li><strong>psdtoolkit2</strong>(<a rel="noopener" target="_blank" href="https://github.com/oov/aviutl2_psdtoolkit2">https://github.com/oov/aviutl2_psdtoolkit2</a>)</li>



<li><strong>GCMZDrops2_ごちゃまぜドロップス2</strong>（<a rel="noopener" target="_blank" href="https://github.com/oov/aviutl2_gcmzdrops2">https://github.com/oov/aviutl2_gcmzdrops2</a>）</li>



<li><strong>かんしくん</strong>（<a rel="noopener" target="_blank" href="https://github.com/oov/forcepser">https://github.com/oov/forcepser</a>）※プラグインではありませんが、ボイロ系動画には欲しいところということで</li>
</ul>



<p class="wp-block-paragraph">といったところがほぼ必須なところ。<br>あとはネットの海を彷徨ったときに見つけたスクリプトを少々。</p>



<p class="wp-block-paragraph">　aviutl時には音声ソフトからの投げ込み自動化を<a rel="noopener" target="_blank" href="https://aoi-chan.moe/aoisupport/#voicepeak">Aoisupport</a>で行っていたので、かんしくんは初導入でした。違いに関してはGUIがあるかないかぐらいで、特に違和感なく使えています。強いて言えばかんしくん内のvoicepeakのfairycall設定で、voicevoxとの出力ショートカットキーの共通化が出来ないことぐらい？あとはvoicepeakでカーソルをしっかり対象のブロックにおいておかないと”1ブロック”の音声に対して、”全文”の字幕がついてしまうこと・・・ですかね。</p>



<p class="wp-block-paragraph">　発表された当初では本体以外のこれらのプラグインが動作するか、仮に無印版のモノを無理やり使って、いつ不具合が出るかわからなかったので、導入を見送ったという方も多かったと思います。<br>　少し前から公開されて、更新もされ続けているので、プラグイン全体でそこそこの安定はしているはずです。（本体自体がbetaではあるので、そこはもちろん考慮する必要はありますが）</p>



<p class="wp-block-paragraph">　あと一応ですが、</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<figure class="wp-block-table"><div class="scrollable-table"><table class="has-fixed-layout"><tbody><tr><th colspan="3"><strong>AviUtl ExEdit2 テスト版</strong></th></tr><tr><td colspan="3">AviUtlと拡張編集を纏めて新しくゼロから作り直したツールのテスト版です。<br>Win10以降、DirectX11.3、AVX2が利用出来る環境が必要です。GPUによっては動作しないかもです。<br>DLLを利用しないスクリプト、入出力プラグインについてはある程度動作するように互換対応しています。</td></tr></tbody></table></div></figure>



<p class="wp-block-paragraph"> ー <strong>AviUtlのお部屋より</strong></p>
</blockquote>



<p class="wp-block-paragraph">テキスト等の各素材に適用していたスクリプト関係であれば、ある程度の使用は可能みたいです。<br>自分はお試しで入れておくか、というスタンスだったので、大半のスクリプトのお引越しはしていません。</p>



<h3 class="wp-block-heading"><span id="toc2">テンプレートは作り直しました！</span></h3>



<p class="wp-block-paragraph">　無印から一新して作られている（旧aviutlの新バージョンではない）ので、各種設定やレイアウト、動画のテンプレートなどは作り直しました。基本と言えば基本ですし、大体の人はどんな機能があるか見るために一通り触ると思いますが、ものぐさな方は「最初から設定しなおしかぁ」という気持ちになるかもしれないので一応、書いておきますね。</p>



<p class="wp-block-paragraph">　旧版から一通りの設定を持ってこれたとしても、ズレなどを直すのが面倒と思うので、結局は一から設定をしていたでしょうが・・・。</p>



<p class="wp-block-paragraph">　設定しているときに眺めていてシンプルにまとまっているGUIだなと思ったので、どれをどこに配置しようか、少しワクワクしていたのは秘密です。</p>



<h3 class="wp-block-heading"><span id="toc3">全体的な所感について</span></h3>



<p class="wp-block-paragraph">　正直、現時点でも大満足！</p>



<ul class="wp-block-list">
<li><strong>無印よりもレスポンスがいい</strong>（編集中に確認のために動画を再生して、度々起きていたエラー表示をしない、全体的なもっさり感がなくなった？）</li>



<li><strong>出力が安定＋速い</strong>（そこそこの確率で出力中に落ちていた無印版と比べて、圧倒的な安定感と速度を感じています。）</li>



<li><strong>ボイロ系動画を作るのに最低限のプラグインの2版が公開されている</strong>（PSDtoolkit、ごちゃまぜドロップス、入出力プラグインなど）</li>
</ul>



<p class="wp-block-paragraph">旧版で自分がやっていたことは基本的にできますし、それにプラスして編集中、出力時の安定性が格段に増したので、旧aviutlを魔改造していて離れたくない・必要がないという人以外は乗り換えていいのかなと思います！（新しく始める人も情報量の違いはありますが、基本的に2の方がいいのかなと）</p>



<p class="wp-block-paragraph">　懸念というか、少しめんどくさいかもしれないこととしては、本体のaviutl2および、周辺プラグインは絶賛更新中なのでそれに合わせてこちらも更新していかなければならないということぐらいですかね。（正直、めんどくさいの内にも入らないと思いますが・・・）<br>まぁ、継続的に情報を追っていく必要性があるということですね。</p>



<p class="wp-block-paragraph">　ということで、参考になるような、ならないような情報かとは思いますが、現時点で乗り換えてもよさそうだということを遅まきながらお伝えする内容でした。</p>



<p class="wp-block-paragraph">　ここまで見ていただきありがとうございました。<br>・・・肝心のゲームの話題に触れない当ブログではありますが、多くの人の参考になればなと思います。<br>それでは、良き動画編集を・・・(/・ω・)/</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>「文字コード・文字型・プレフィックス」個人的な活用法の覚書</title>
		<link>https://gamekineki.com/post-749/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Thu, 12 Mar 2026 01:37:18 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[文字コード]]></category>
		<category><![CDATA[文字型]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=749</guid>

					<description><![CDATA[　前記事では生成AIにまとめてもらった文字コードに関わるあれこれなのですが、本記事では個人的に思った（思いついた）ことについて書いていきたいなと思います。ある種のメモ書きのようなものなので”おち”やあとがきはありません。 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　前記事では生成AIにまとめてもらった文字コードに関わるあれこれなのですが、<br>本記事では個人的に思った（思いついた）ことについて書いていきたいなと思います。<br>ある種のメモ書きのようなものなので”おち”やあとがきはありません。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">個人的な活用法の覚書</a><ol><li><a href="#toc2" tabindex="0">UTF-○○の部分は○○ビット区切りの扱いであることを覚えておくべし</a></li><li><a href="#toc3" tabindex="0">Unicodeのそれぞれの使い分けについて</a></li><li><a href="#toc4" tabindex="0">Shift_JIS(SJIS)の利点について</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">個人的な活用法の覚書</span></h2>



<h3 class="wp-block-heading"><span id="toc2">UTF-○○の部分は○○ビット区切りの扱いであることを覚えておくべし</span></h3>



<p class="wp-block-paragraph">　Unicode関連のUTF-8,UTF-16,UTF-32についてなのですが、</p>



<ul class="wp-block-list">
<li>UTF-8が１バイト(8ビット)区切りの可変長最大4バイト <br>-> つまり文字によって1バイト、2バイトだったり、3バイト、４バイトだったりする。（通常の半角英数などが１バイト、ひらがな・漢字などで3バイトのものがある）</li>



<li>UTF-16が2バイト(16ビット)区切りの可変長最大4バイト<br>-&gt; つまり2バイトか4バイトかのどちらかになるということ。UTF-8との違いとしては英数字なども2バイトとなる。多くの日本語文字も2バイト内に収まるが一部漢字は4バイトになる？</li>



<li>UTF-32が4バイトの固定長<br>-&gt; つまりどんな文字であろうとも基本的に4文字に統一される。<br>例外としては複合絵文字（複数の絵文字で一つの絵文字が作られるものなど）などは文字を作るために必要な文字数に応じたバイト数になる？</li>
</ul>



<p class="wp-block-paragraph">なので使いたい場所によって使い分けが必要です。</p>



<h3 class="wp-block-heading"><span id="toc3">Unicodeのそれぞれの使い分けについて</span></h3>



<p class="wp-block-paragraph">　Unicodeのサイズについて前述したのですが、正直どう使いこなせばいいかわかんないですよね・・・。そんなわけで簡易的に使いどころをまとめておきます。</p>



<ul class="wp-block-list">
<li>UTF-8<br>保存した際のサイズが一番小さくなるはずなので、特に理由が無ければ使うスタンダード。</li>



<li>UTF-16<br>基本的な文字がほぼ2バイト固定なため、文字列全体の大きさが把握しやすいのか、WindowsなどのOSの内部処理で使われることが多い。（widestring的なところ）</li>



<li>UTF-32<br>絵文字は微妙なところだが、基本的な文字は全て4バイトに固定されるため、局所的な例にはなるがゲームなどで文字をウィンドウに表記する際に、<br>&#8211; 元の文章情報はUTF-8で保存<br>&#8211; 表示する前段階でUTF-8-&gt;UTF-32に変換<br>&#8211; 4バイト固定なのでstd::u32stringなどの配列に入れて一文字づつ回すことが可能になる<br>といったところの使用方法が考えられる。<br>この方式の利点としては比較的リソースファイルのサイズを抑えることが出来るという点です。小規模な開発ではあまり効果はないかもしれませんが、大規模なゲームやノベルゲーム系は恩恵を受けやすいかなと思います。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc4">Shift_JIS(SJIS)の利点について</span></h3>



<p class="wp-block-paragraph">　前記事や前述したUnicodeの内容を見て、「ならばShift_JIS（Unicode外）の存在意義・活用場所はどこにあるんだろう」と考えると思うのですが、Unicodeとの比較でShift_JISを使う意義を見ていきたいと思います。</p>



<h4 class="wp-block-heading">日本語中心のテキストではUTF-8よりもファイルサイズが小さくなる。</h4>



<p class="wp-block-paragraph">　Shift_JISは英数・記号・半角カタカナなどの半角文字が1バイト、通常の日本語表記のひらがな・カタカナ・漢字などが2バイトの表記であらわされる可変長文字コード 。<br>-&gt; つまり最大で一文字あたり2バイト。例として全角&#8221;Ａ&#8221;は2バイト、半角&#8221;A&#8221;は1バイト<br>そのため漢字などが一文字あたり3バイト（文字によっては4バイト）ほどになってしまうUnicodeよりもファイルサイズが小さくなる傾向にあります。</p>



<h4 class="wp-block-heading">日本語環境のレガシーシステムやプログラム資産を使うときに必要になるかも？</h4>



<p class="wp-block-paragraph">　会社所属などで古くに書かれたコードなどを参照しようとしたときに文字列入力や使用する文字列引数の値として想定されていることが多いかも？<br>いずれにせよ、現代の新規プロジェクトで全体をShift_JISエンコードする必要はなく、一部でUnicode文字列などを変換して使用する仕様でいい気がしますね・・・。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Visual Studio / C++ における「文字コード・文字型・プレフィックス」の関係まとめ</title>
		<link>https://gamekineki.com/post-737/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 13:55:19 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[文字コード]]></category>
		<category><![CDATA[文字型]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=737</guid>

					<description><![CDATA[　今回の記事は自分が右往左往したVisualStudio/C++環境下においての文字コード・文字型・プレフィックスの関係性について、ChatGPTにまとめてもらったものです。 文字関係の問題に悩む人の一助になればと思いま [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　今回の記事は自分が右往左往したVisualStudio/C++環境下においての文字コード・文字型・プレフィックスの関係性について、ChatGPTにまとめてもらったものです。</p>



<p class="wp-block-paragraph">文字関係の問題に悩む人の一助になればと思います。どうぞ。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="wp-block-paragraph">少しお願いしたいのですが、VisualStudioおよびC++における文字コード・型の関係をブログで公開できるような形式でまとめてもらえませんか。 <br>具体的には <br>１．Unicode文字・マルチバイト文字の説明（それぞれ簡潔に1~3行程度？） <br>２. C++における文字型の解説（型ごとにそれぞれ1~5行程度？） <br>３. 文字プレフィックスの説明 <br>４. 相互にどのような関係があるのか <br>５. どういったプロジェクト・条件で使い分ければいいのか</p>
</div>



<p class="wp-block-paragraph">この記事では、Visual Studio の「Unicode / マルチバイト文字セット」と、C++ の文字型・文字列リテラル（プレフィックス）・エンコーディングが、どう噛み合っているのかを整理します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1. 「Unicode文字」と「マルチバイト文字」の説明（Visual Studio の設定）</a><ol><li><a href="#toc2" tabindex="0">Unicode文字セット</a></li><li><a href="#toc3" tabindex="0">マルチバイト文字セット</a></li></ol></li><li><a href="#toc4" tabindex="0">2. C++ における文字型の解説（型ごと）</a><ol><li><a href="#toc5" tabindex="0">char</a></li><li><a href="#toc6" tabindex="0">signed char / unsigned char</a></li><li><a href="#toc7" tabindex="0">wchar_t</a></li><li><a href="#toc8" tabindex="0">char16_t</a></li><li><a href="#toc9" tabindex="0">char32_t</a></li><li><a href="#toc10" tabindex="0">char8_t（C++20）</a></li></ol></li><li><a href="#toc11" tabindex="0">3. 文字列リテラルのプレフィックス（例つき）</a></li><li><a href="#toc12" tabindex="0">4. それぞれがどう関係しているか（混乱ポイントの整理）</a><ol><li><a href="#toc13" tabindex="0">4-1. 「Visual Studioの文字セット」は何を変える？</a></li><li><a href="#toc14" tabindex="0">4-2. 「ソースコードの保存形式（UTF-8など）」は別レイヤ</a></li><li><a href="#toc15" tabindex="0">4-3. Shift-JIS はプレフィックスでは作れない</a></li></ol></li><li><a href="#toc16" tabindex="0">5. どういう条件で使い分けるべきか（おすすめ運用）</a><ol><li><a href="#toc17" tabindex="0">5-1. Windows中心・今後も育てるプロジェクト（おすすめ）</a></li><li><a href="#toc18" tabindex="0">5-2. レガシー資産が Shift-JIS 前提で、短期で動かしたい</a></li><li><a href="#toc19" tabindex="0">5-3. ゲームで「1文字ずつ表示」などをしたい場合</a></li></ol></li><li><a href="#toc20" tabindex="0">最短まとめ（迷ったらこれ）</a></li><li><a href="#toc21" tabindex="0">付録：Visual Studioで「新規/保存ファイルの既定エンコーディング」をUTF-8（BOMなし）にする方法</a><ol><li><a href="#toc22" tabindex="0">方法A：Visual Studioのオプションで既定エンコーディングを指定（VS 2022 v17.13以降）</a></li><li><a href="#toc23" tabindex="0">方法B：プロジェクト単位で強制する（.editorconfig を使う）</a></li><li><a href="#toc24" tabindex="0">うまく設定できたか確認する方法</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">1. 「Unicode文字」と「マルチバイト文字」の説明（Visual Studio の設定）</span></h2>



<h3 class="wp-block-heading"><span id="toc2">Unicode文字セット</span></h3>



<p class="wp-block-paragraph">Windows API を含む多くの現代的な Windows 開発で標準的な設定です。内部的には「ワイド文字（<code>wchar_t</code>）」を使う流儀になり、Win32 API も基本的に <code>...W</code>（Wide）側を使うことになります。</p>



<h3 class="wp-block-heading"><span id="toc3">マルチバイト文字セット</span></h3>



<p class="wp-block-paragraph">いわゆる「ANSI（A）」系APIや、Shift-JIS/CP932 前提の資産に寄せた設定です。<code>TCHAR</code> が <code>char</code> 側に寄り、文字列が OS のコードページ（日本語Windowsなら CP932）依存になりやすくなります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc4">2. C++ における文字型の解説（型ごと）</span></h2>



<h3 class="wp-block-heading"><span id="toc5">char</span></h3>



<p class="wp-block-paragraph">1バイトの文字型です。<code>std::string</code> の要素型でもあり、実務では「文字」よりも「バイト列の器」として使われることが多いです。中身が UTF-8 なのか Shift-JIS なのかは運用ルール次第です。</p>



<h3 class="wp-block-heading"><span id="toc6">signed char / unsigned char</span></h3>



<p class="wp-block-paragraph">同じく1バイトですが、符号付き/符号なしが明確です。バイナリ処理やバイト配列として扱いたいときに便利で、文字コード用途というより「生のデータ」用途で登場します。</p>



<h3 class="wp-block-heading"><span id="toc7">wchar_t</span></h3>



<p class="wp-block-paragraph">ワイド文字型です。Windows では多くの場合 16bit（UTF-16 のコードユニットとして運用されがち）で、Win32 API（W系）との相性が良いです。ただし規格上「必ずUTF-16」という保証ではありません。</p>



<h3 class="wp-block-heading"><span id="toc8">char16_t</span></h3>



<p class="wp-block-paragraph">16bit固定の文字型で、UTF-16 のコードユニット列を表現するための型です。プラットフォーム差が少なく、UTF-16 を明示したいときに使います。</p>



<h3 class="wp-block-heading"><span id="toc9">char32_t</span></h3>



<p class="wp-block-paragraph">32bit固定の文字型で、UTF-32 を表現するための型です。コードポイント単位の処理がしやすい反面、サイズは大きめです。</p>



<h3 class="wp-block-heading"><span id="toc10">char8_t（C++20）</span></h3>



<p class="wp-block-paragraph">UTF-8 用の文字型です。<code>u8"..."</code> リテラルの型が <code>char8_t[]</code> になり、<code>std::u8string</code> との親和性が高いです。一方で <code>std::string</code>（<code>char</code>）と混ぜると型変換が必要になることがあります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc11">3. 文字列リテラルのプレフィックス（例つき）</span></h2>



<p class="wp-block-paragraph">C++ の「プレフィックス」は、主に“リテラルの型”を変えます（Shift-JISなど特定コードページを直接指定する機能ではありません）。</p>



<ul class="wp-block-list">
<li><code>"text"</code>：<code>const char[]</code></li>



<li><code>L"text"</code>：<code>const wchar_t[]</code></li>



<li><code>u8"text"</code>：<code>const char8_t[]</code>（C++20以降）</li>



<li><code>u"text"</code>：<code>const char16_t[]</code></li>



<li><code>U"text"</code>：<code>const char32_t[]</code></li>
</ul>



<p class="wp-block-paragraph">また、Raw文字列（エスケープを気にしない）も組み合わせ可能です：</p>



<ul class="wp-block-list">
<li><code>R"(C:\path\file.txt)"</code></li>



<li><code>u8R"(改行\nもそのまま)"</code></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc12">4. それぞれがどう関係しているか（混乱ポイントの整理）</span></h2>



<p class="wp-block-paragraph">ここが一番大事です。</p>



<h3 class="wp-block-heading"><span id="toc13">4-1. 「Visual Studioの文字セット」は何を変える？</span></h3>



<p class="wp-block-paragraph">Visual Studio の「Unicode / マルチバイト文字セット」は、主に <strong>Windows API 呼び出しや <code>TCHAR</code> 系</strong>の挙動に影響します。</p>



<ul class="wp-block-list">
<li>Unicode文字セット：<code>TCHAR</code> → <code>wchar_t</code>、<code>MessageBox</code> → <code>MessageBoxW</code> のように Wide 側へ寄る</li>



<li>マルチバイト文字セット：<code>TCHAR</code> → <code>char</code>、<code>MessageBox</code> → <code>MessageBoxA</code> のように ANSI 側へ寄る</li>
</ul>



<h3 class="wp-block-heading"><span id="toc14">4-2. 「ソースコードの保存形式（UTF-8など）」は別レイヤ</span></h3>



<p class="wp-block-paragraph"><code>.cpp/.h</code> を UTF-8（BOMなし）で保存し、<code>/utf-8</code> を付けるのは、<strong>コンパイラがソースや文字リテラルをどう解釈するか</strong>に影響します。</p>



<p class="wp-block-paragraph">つまり、</p>



<ul class="wp-block-list">
<li>文字セット（Unicode/マルチバイト）＝ “実行時の文字列型やAPI側の方針”</li>



<li>ソースの文字コード（UTF-8など）＝ “ソースをどう読むか”</li>
</ul>



<p class="wp-block-paragraph">この2つは別物なので、混ぜると「どっちの話だっけ？」となりやすいです。</p>



<h3 class="wp-block-heading"><span id="toc15">4-3. Shift-JIS はプレフィックスでは作れない</span></h3>



<p class="wp-block-paragraph"><code>L""</code> や <code>u8""</code> は Unicode系のリテラルを作る仕組みです。Shift-JIS（CP932）は型ではなくコードページ変換の結果なので、必要な場合は <strong>変換関数で <code>std::string</code>（バイト列）として生成</strong>するのが一般的です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc16">5. どういう条件で使い分けるべきか（おすすめ運用）</span></h2>



<h3 class="wp-block-heading"><span id="toc17">5-1. Windows中心・今後も育てるプロジェクト（おすすめ）</span></h3>



<ul class="wp-block-list">
<li>Visual Studio：<strong>Unicode文字セット</strong></li>



<li>ソース：<strong>UTF-8（BOMなし）</strong> + <strong><code>/utf-8</code></strong></li>



<li>方針：普段は <strong><code>std::string</code> を UTF-8 として運用</strong>し、Windows API境界だけ <code>std::wstring</code>（UTF-16相当）へ変換</li>
</ul>



<p class="wp-block-paragraph">この運用は、教材的な <code>std::string</code> の感覚を残しつつ、Unicodeにも強くできます。</p>



<h3 class="wp-block-heading"><span id="toc18">5-2. レガシー資産が Shift-JIS 前提で、短期で動かしたい</span></h3>



<ul class="wp-block-list">
<li>既存のSJISテキスト（CSV/辞書/台詞）が大量にある</li>



<li>古いツールや資産がSJIS前提</li>
</ul>



<p class="wp-block-paragraph">この場合でも「全体SJIS化」より、</p>



<ul class="wp-block-list">
<li>I/O（読み込み/書き出し）だけSJIS</li>



<li>内部はUTF-8/UTF-16へ寄せる<br>の方が事故が少ないことが多いです。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc19">5-3. ゲームで「1文字ずつ表示」などをしたい場合</span></h3>



<p class="wp-block-paragraph">UTF-8の <code>std::string</code> を使う場合、<code>1バイト=1文字</code> ではないため、</p>



<ul class="wp-block-list">
<li>UTF-8をデコードして「コードポイント」単位で進める（軽量）</li>



<li>さらに厳密にやるなら「グラフェム境界」（ICUなど）で進める<br>といった方針が必要です。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc20">最短まとめ（迷ったらこれ）</span></h2>



<ul class="wp-block-list">
<li><strong>Unicode文字セット</strong>を選ぶ（Windows開発の基本）</li>



<li>ソースは **UTF-8（BOMなし）**で統一し、必要なら <strong><code>/utf-8</code></strong></li>



<li><code>std::string</code> は “UTF-8の器” と割り切って使う</li>



<li>Windows APIやファイルパスなど OS 境界だけ <code>std::wstring</code> に変換する</li>



<li>Shift-JIS は「プレフィックス」ではなく「変換で必要なときだけ作る」</li>
</ul>



<h2 class="wp-block-heading"><span id="toc21">付録：Visual Studioで「新規/保存ファイルの既定エンコーディング」をUTF-8（BOMなし）にする方法</span></h2>



<p class="wp-block-paragraph">Visual Studioでは、ファイルの既定保存エンコーディングを指定できます。<strong>Visual Studio 2022 v17.13以降</strong>では、IDEの設定として「既定の保存エンコーディング」を明示的に選べます。</p>



<h3 class="wp-block-heading"><span id="toc22">方法A：Visual Studioのオプションで既定エンコーディングを指定（VS 2022 v17.13以降）</span></h3>



<ol class="wp-block-list">
<li><strong>Tools（ツール）> Options（オプション）</strong> を開く</li>



<li><strong>Environment（環境）> Documents（ドキュメント）</strong> を開く</li>



<li><strong>Save files with a specific encoding</strong>（特定のエンコーディングで保存）をオン</li>



<li><strong>Save encoding</strong>（保存エンコーディング）で <strong>UTF-8 without signature</strong>（UTF-8 BOMなし）を選ぶ</li>



<li>OKで確定</li>
</ol>



<p class="wp-block-paragraph">この設定を入れると、以後の保存で指定したエンコーディングに揃いやすくなります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">補足：Microsoft Learn側でも同じ項目（Environment &gt; Documents で “Save files with a specific encoding” を有効化して “Save encoding” を選ぶ）として案内されています。</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">方法B：プロジェクト単位で強制する（.editorconfig を使う）</span></h3>



<p class="wp-block-paragraph">IDEの個人設定ではなく、<strong>リポジトリ/プロジェクトのルールとして固定</strong>したい場合は <code>.editorconfig</code> が便利です。Visual StudioはEditorConfigをサポートしており、<code>charset = utf-8</code> を指定できます。</p>



<p class="wp-block-paragraph">例：プロジェクト直下に <code>.editorconfig</code> を作成</p>



<pre class="wp-block-code"><code>root = true

&#91;*.{h,hpp,cpp,cxx,cc,inl,ipp}]
charset = utf-8
</code></pre>



<ul class="wp-block-list">
<li><code>charset = utf-8</code> は通常 <strong>UTF-8（BOMなし）</strong> の意図になります。</li>



<li>BOMありにしたい場合は <code>utf-8-bom</code> を使う、という指定も可能です。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc24">うまく設定できたか確認する方法</span></h3>



<p class="wp-block-paragraph">既存/新規ファイルを開いた状態で、Visual Studioの「エンコーディング指定で保存（Save with Encoding）」から、意図したエンコーディングになっているか確認できます（UTF-8 without signature など）。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【備忘録】VisualStudioで新規プロジェクトを始めるときの自分用設定手順【C++】</title>
		<link>https://gamekineki.com/post-727/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Thu, 22 Jan 2026 23:16:43 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[備忘録]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=727</guid>

					<description><![CDATA[　皆さんは新規プロジェクトを始めるときに、前回どんな設定をして始めたか忘れることはありませんか？特にVisualStudioだと設定項目が多く、どこにどの設定項目があるかわからなくなることがよくありますよね。 　今回は「 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　皆さんは新規プロジェクトを始めるときに、前回どんな設定をして始めたか忘れることはありませんか？特にVisualStudioだと設定項目が多く、どこにどの設定項目があるかわからなくなることがよくありますよね。</p>



<p class="wp-block-paragraph">　今回は「最初の設定に時間がとられることを無くして実際の作業に集中できる」ように、また「新しいプロジェクトを作ることを設定のめんどくささで忌避しないようにする」ことを目的として、自分がよく使うゲームプロジェクト＆C++向けの設定を備忘録として残しておきたいと思います。それではどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ゲームプロジェクト向けVS設定手順</a><ol><li><a href="#toc2" tabindex="0">VisualStudioにて新規にプロジェクトを始める手順</a></li><li><a href="#toc3" tabindex="0">プロジェクトを作った後のVisualStudioの設定</a></li><li><a href="#toc4" tabindex="0">最後に</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ゲームプロジェクト向けVS設定手順</span></h2>



<h3 class="wp-block-heading"><span id="toc2">VisualStudioにて新規にプロジェクトを始める手順</span></h3>



<p class="wp-block-paragraph"><strong>１．VisualStudioのスタートウィンドウにて”新しいプロジェクトの作成”を選択</strong></p>



<p class="wp-block-paragraph"><strong>２．”デスクトップウィザード”のテンプレートを選択・・・フィルターでC++を選んでいるとわかりやすい（※フレームワークの作成であれば”スタティックライブラリを選択）</strong></p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="668" height="437" src="https://gamekineki.com/wp-content/uploads/2026/01/vs_setup1.png" alt="" class="wp-image-728" srcset="https://gamekineki.com/wp-content/uploads/2026/01/vs_setup1.png 668w, https://gamekineki.com/wp-content/uploads/2026/01/vs_setup1-500x327.png 500w, https://gamekineki.com/wp-content/uploads/2026/01/vs_setup1-300x196.png 300w" sizes="(max-width: 668px) 100vw, 668px" /></figure>



<p class="wp-block-paragraph"><strong>３．任意のディレクトリを指定（項目の一番下にあるソリューションとプロジェクトのディレクトリ配置については小規模・実験的であれば同じでもいいが、規模がそれなりになる予定または未定であればチェックは外しておいた方が無難・・・ほぼ好み）</strong></p>



<p class="wp-block-paragraph"><strong>４．その後、新しいウィンドウで”デスクトップアプリケーション”＆下の”空のプロジェクト”のチェックボックスをチェック</strong></p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="499" height="405" src="https://gamekineki.com/wp-content/uploads/2026/01/vs_setup2.png" alt="" class="wp-image-729" srcset="https://gamekineki.com/wp-content/uploads/2026/01/vs_setup2.png 499w, https://gamekineki.com/wp-content/uploads/2026/01/vs_setup2-300x243.png 300w" sizes="(max-width: 499px) 100vw, 499px" /></figure>



<p class="wp-block-paragraph">ここまででプロジェクトの作成は完了なので、ここからはプロジェクト内の設定をしていきます。</p>



<h3 class="wp-block-heading"><span id="toc3">プロジェクトを作った後のVisualStudioの設定</span></h3>



<p class="wp-block-paragraph"><strong>※1/31手順を修正・追記</strong></p>



<p class="wp-block-paragraph"><strong>※４番までプロジェクトのプロパティ設定内で作業します。</strong></p>



<p class="wp-block-paragraph"><strong>１．プロジェクトのプロパティ設定→全般：C++言語標準を自分の使いたいバージョンに設定（C++14とかC++20とか）</strong><br>-&gt;コンパイラがどのバージョンでコードを読むかを決めるとこ？</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="553" src="https://gamekineki.com/wp-content/uploads/2026/01/config1-800x553.png" alt="" class="wp-image-730" srcset="https://gamekineki.com/wp-content/uploads/2026/01/config1-800x553.png 800w, https://gamekineki.com/wp-content/uploads/2026/01/config1-500x346.png 500w, https://gamekineki.com/wp-content/uploads/2026/01/config1-300x207.png 300w, https://gamekineki.com/wp-content/uploads/2026/01/config1-768x531.png 768w, https://gamekineki.com/wp-content/uploads/2026/01/config1.png 914w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph"><strong>２．詳細：文字セットの変更（特に指定が無ければUnicode文字のままでよい？）</strong><br><strong>ここに関しては後日、文字コードに関しての記事を投稿予定です。</strong></p>



<p class="wp-block-paragraph"><strong>３．<strong>C/C++→全般＆リンカー→全般：それぞれ追加のインクルードディレクトリ・追加のライブラリディレクトリに</strong>使用する外部ライブラリ＆自作フレームワークのパス（こちらはインクルードディレクトリのみでOK）を追加(もしvcpkgをユーザーにintegrateしていなかった場合はこちらにパスをいれるか、マニフェストファイル的なものを作る方法にした方が良いかも)</strong></p>



<p class="wp-block-paragraph"><strong>４．C/C++→コード生成：ランタイムライブラリを構成（プロパティウィンドウ左上のDebug/Release）に対して、それぞれ（マルチスレッド　デバッグ（/MTd）/マルチスレッド（MT））を設定する。</strong></p>



<p class="wp-block-paragraph"><strong>５．プロパティを閉じて左上の”ファイル”から”追加”→”既存のプロジェクト”で</strong><br><strong>随時更新予定の自作のライブラリのプロジェクトを選択</strong></p>



<p class="wp-block-paragraph"><strong>6.<strong>メイン側のプロジェクトを右クリックしたあと</strong></strong><br><strong>・<strong>追加→参照のところで自作ライブラリの参照にチェック</strong></strong><br><strong>・ビルドの依存関係→プロジェクトの依存関係から自作ライブラリをチェック</strong><br><strong>の二つをこなして設定完了</strong></p>



<p class="wp-block-paragraph">ここまでで設定は完了！コーディングを始めましょう！</p>



<h3 class="wp-block-heading has-text-align-left"><span id="toc4">最後に</span></h3>



<p class="has-text-align-left wp-block-paragraph">　以上が大体の設定です。<br>あとは保存ファイルの文字エンコードをどれにするかとかgit関連の設定などは残ってはいますけど、個人的にはこれら＋既存ライブラリの導入を行っていれば、小規模・個人レベルでのゲーム開発環境としては十分かと思います。<br>これを基にして、各々が快適な設定を見つけてもらえればと思います。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【初心者向け】CLI（コマンド操作）を敬遠してしまう人へ</title>
		<link>https://gamekineki.com/post-709/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Mon, 12 Jan 2026 23:33:11 +0000</pubDate>
				<category><![CDATA[技術雑記]]></category>
		<category><![CDATA[初心者]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[CLI]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=709</guid>

					<description><![CDATA[　ということでCLI（コマンドラインインターフェイス）に最近まで馴染みが無かったわたしなのですが、先日のUbuntuMATEが契機となってコマンド操作を積極的に使うようになったので、今、”GUI操作に慣れていた時の気持ち [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　ということでCLI（コマンドラインインターフェイス）に最近まで馴染みが無かったわたしなのですが、先日のUbuntuMATEが契機となってコマンド操作を積極的に使うようになったので、<br>今、”<strong>GUI操作に慣れていた時の気持ち</strong>”と”<strong>CLIを便利に感じたとき・なにを敬遠していたのか</strong>”を言語化しやすい狭間の時期だと思ったので、本記事を書きました。</p>



<p class="wp-block-paragraph">　普段、WindowsなどのアイコンなどでのGUI操作に慣れていて、<br><strong>「CLI、コマンド操作ってなんだよ・・・。なんでわかりにくいものを使うの？」</strong><br>といった人にCLIを使う理由が少しでも伝わればいいなと思います。<br>（CLIを使いたいと考えている人に対しては全部をCLIで操作せよ！ではなく、<strong>適材適所、使いやすい場面があることを知ってもらいたいな・・・</strong>という感じです。）</p>



<p class="wp-block-paragraph">　それではどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">CLIってなんか頭に入ってこないんだよね・・・という人へ</a><ol><li><a href="#toc2" tabindex="0">そもそもGUI・CUIって何？（一応ね・・・）</a></li><li><a href="#toc3" tabindex="0">GUIに染まっている人がなぜCLIを敬遠するのか？</a></li><li><a href="#toc4" tabindex="0">それならばGUIに慣れた人にとって、CLIを使う必然性は？</a></li><li><a href="#toc5" tabindex="0">じゃあ、これを入口にしてみたらどうかな？という提案</a></li><li><a href="#toc6" tabindex="0">最後に</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">CLIってなんか頭に入ってこないんだよね・・・という人へ</span></h2>



<h3 class="wp-block-heading"><span id="toc2">そもそもGUI・CUIって何？（一応ね・・・）</span></h3>



<p class="wp-block-paragraph">　この記事を読んでいただいている時点で、この辺の区別はわかるとは思いますが、一応の概要をば。</p>



<ul class="wp-block-list">
<li>GUI（グラフィカルユーザーインターフェースの略称）<br>‐普段使っているWindowsやMacにおける、アイコンや特定領域をポインティングデバイス（マウスやタッチパッドなど）で”クリックやドラッグ操作”することによってレスポンス（操作の結果）を得るUIのこと。</li>



<li>CLI（コマンドラインインターフェースの略称）<br>‐コマンドプロンプトやWindowsPowerShell、ターミナル（Linux、Mac）のように特定のコマンドによってディレクトリやファイルなどの操作を行うインターフェースのこと。<br>似たような言葉にCUI（キャラクターユーザーインターフェース）があるが、そちらは英語圏的にはTUI（テキストベースドユーザーインターフェース）の方が近いみたいですね。<br>（つまりCLI≠CUI、CUI≒TUIみたいです。）</li>
</ul>



<h3 class="wp-block-heading"><span id="toc3">GUIに染まっている人がなぜCLIを敬遠するのか？</span></h3>



<p class="wp-block-paragraph">　私も長年、GUI（Windows）に浸かっていたのですが、プログラミングを勉強するとなると否が応にもCLIに触れなければならない場面が出てくると思うんですよね・・・。正直、そんな場面でコピペしたコマンドを使っててもピンと来てなかったのですが、ピンとこない理由って大体この辺だと思うんですよね。</p>



<ul class="wp-block-list">
<li>CLIという概念が分からない<br>↳子供のころからGUI環境に慣れ親しみ過ぎた</li>



<li>CLIの種類がよくわからない</li>



<li>コマンドの種類が分からない・アイコンを右クリックしたときのような選択肢の可視化がない</li>



<li>ディレクトリの位置が把握しきれない・ディレクトリの構造なんて覚えてらんない</li>
</ul>



<p class="wp-block-paragraph">　順に追っていきますと、最初はシンプルにCLIってなんやねんが来ると思うんですよ。<br>アイコンをクリックしてを繰り返していると、「えっ、コマンドで操作って、文字で操作ってどうやるの・・・？」って感じでそもそも想像できないんですよね。もうパソコンといえば子供のころから学校の授業含めWindowsのGUI環境だったので、キーボードが文章入力程度の役割にしかなってなかったんですよね。（Windows以前のMS-DOSとかが全盛期だったころは違うんでしょうが・・・）</p>



<p class="wp-block-paragraph">　次にCLIの種類が意味わかんないっていうところっすかね。同じWindowsでもコマンドプロンプト、PowerShellがあって「どっち使えばいいの・・・？」って初心者はなると思うんですよね。（実際にはコマンドプロンプトでできることはPowerShellでできるはず・・・だよね？）<br>さらには各ソフトウェア内にもコマンドがあって特有のCLI、コマンド操作が必要になったらさらに頭が混乱するわけですよ。</p>



<p class="wp-block-paragraph">　そしてなにより、コマンドが分からない！<br>これに関しては検索して調べればいいんですけど・・・でもCLIを使わない人がいちいちコマンドを検索してまでCLIを使うかな？となっちゃうのでそれなりに目的意識、CLIを使う必然性が求められるようになっちゃうんですよね・・・。そしてそれが初心者にはハードルになると。<br>そしてそれに通じて、GUIにてアイコンを右クリックしたときのような操作の選択肢の可視化がないのも違う点ですよね。GUIが可能な操作を表示するのに対して、CLIは自分でしたい操作を明示しなければならないという点ですね・・・。</p>



<p class="wp-block-paragraph">　最後のディレクトリ構造の把握については、慣れている人は全部を把握している（頭の中にある）人もいるのかもしれないですけど、GUIで操作していたら同階層のディレクトリは覚えていなくても表示されるので、あまり覚えきっている人は少ないのではないかなと・・・。（ある程度、どのあたりにあるか分かればいい。）<br>ゆえにいざコマンドで操作するとなった時に、半角英数でスペル間違ってないかなと思いながら（あるいは実際のディレクトリを確認しながら）、ディレクトリ名を入力しないといけないわけで、そこも少し馴染みにくいところなのかなと。</p>



<h3 class="wp-block-heading"><span id="toc4">それならばGUIに慣れた人にとって、CLIを使う必然性は？</span></h3>



<p class="wp-block-paragraph">　先の話題を受けて、「こんだけめんどくさいんだったら使わなくてよくない？」と思うことでしょう。実際、必要に迫られなければ使わなくていいと思います。通常の資料づくり（ExcelやWordなど）、アプリケーション（ゲームや既成のソフトウェア）、ブラウザ（YouTube、ウェブサイト閲覧など）などの使用であれば基本的に使用する必要はないと思います。</p>



<p class="wp-block-paragraph">　ではどこで必要になるかと言えば、”スクリプトによる特定操作手順のマクロ化”や”プログラミング周りの環境整備”、”サーバー関係”、”特定のOS環境”によるというところがパッと思いつくところですかね。<br>自分も最初に述べたようにそこまでコマンド操作に対する解像度が高いわけではないのですが、特定の操作を必要とする業務であればバッチファイルで特定の操作を行うスクリプトを作成して日々の操作を自動化できますし、プログラミングの環境（コンパイラやパッケージマネージャ等）の導入手順としてコマンド操作で行う方が便利だったりします。<br>特定のOS環境については特にLinuxになるのですが、LinuxはデスクトップOSとしてWindowsやMacと並ぶこともありますが、サーバー用途としてのシェア率が高いのは周知のことですよね？<br>サーバー用のGUIなどもあるのかもしれませんが、サーバー管理をする人って大体PCの扱いに熟達していますよね。であればコマンド操作で事足りるのにわざわざGUIを開発するコストをかける必要性はなかったということですね。（コマンド操作全盛期からそれだけでやってこれた＆受け継いできた、セキュリティの問題から汎用的なGUIが入りえなかった？のかもしれませんね）</p>



<p class="wp-block-paragraph">　というわけで比較的フレッシュな人がコマンド操作を使うことになる必然性としては</p>



<ul class="wp-block-list">
<li>Linux系デスクトップOSもしくはサーバーでやりたいことがある</li>



<li>新しいプログラミング言語を学びたい（環境が欲しい）</li>



<li>特定作業の効率化・自動化</li>
</ul>



<p class="wp-block-paragraph">なのかな・・・？<br>自分がこういうところに魅力を感じたなと思っただけなので、人によって入口にしたいところは全然違うとは思いますが・・・。（なにはともあれ、興味が湧いたら飛び込んでみよう！！！）</p>



<h3 class="wp-block-heading"><span id="toc5">じゃあ、これを入口にしてみたらどうかな？という提案</span></h3>



<p class="wp-block-paragraph">　それでは上記の必然性を考えて、コマンド操作を取り入れる実際の行動、”入口”的なものを考えてみましょうか。<br>なぜかというと「世の中、堅苦しくて理解が苦しくなる記事があふれてますけど、気楽に入れてみればいいんです・・・」というと「何かでつまって使わなくなってストレージの片隅に放置」という流れになるのであまり気楽にいえないんですよね・・・。（私も数多くの経験あり・・・）<br>なので一応の入り口は提示しておこうかな・・・ということです。</p>



<p class="wp-block-paragraph">　まず一つ目の提案が<br>CLIを使うのはディレクトリの構造を把握できる小規模なフォルダから始めてみては？<br>ということ。<br>↳苦手意識を持つ人（筆者の体験）は初めからルートディレクトリ含めて全体の管理をしようとして、ディレクトリ構造が把握できず”どこに何をおいてあるのか”が分からなくなってしまうというのがあると思うんですよね。<br>広すぎて把握しきれてないディレクトリを頑張って操作しようとするので<br>&#8220;cdコマンドなどのディレクトリ移動・操作系のコマンドで操作するよりGUIでディレクトリの中身を確認しながら操作したほうが早いんじゃね”<br>という思考になるんじゃないかなと。</p>



<p class="wp-block-paragraph">　そして二つ目が<br>ディレクトリの数が少ないであろう新規に使い始めるPC（OS）<br>または新規のプログラミングプロジェクトのディレクトリ管理で心機一転使い始める<br>ってところですかね。<br>↳上記と言っていることはほぼ同じですけど、こちらは”新しく始める”といったタイミングの問題ですかね。個人的な体験ですが、Linux（Ubuntu）の使い始めから積極的にCLIを使い始めたのですが、余分なファイルがない（デフォルトのファイルしかない）分、ディレクトリ配置が複雑化していないのでコマンド操作が使いやすかった感覚はたしかにあったのでそういった環境の変更時に触り始めるのも一手な気がする。</p>



<p class="wp-block-paragraph">　最後にこれは心得的な話なのですが、<br>コマンドのチートシートを見ながらで全然いいのよ・・・！<br>というところですね。<br>↳人間は習慣化していないことは覚えてられないに決まっていますから、最初・・・というかずっとでもいいからコマンドのチートシートを見ながら操作でいいのよ・・・！という心構えで行きましょう。日々の積み重ねが大事なのです。</p>



<p class="wp-block-paragraph">個人的に思う入口として入りやすいところはこんなところですかね・・・。</p>



<h3 class="wp-block-heading"><span id="toc6">最後に</span></h3>



<p class="wp-block-paragraph">　うーーーん、あまり初心者を後押し・参考にできるような記事になったかは微妙なところかもと思っちゃいますね・・・。あくまで私の体験を書いて同じような気持ちを抱いている人の一助・一歩踏み出す気になれればなという気持ちで書いた記事なので、内容薄いかもしれないです、ごめんなさい。</p>



<p class="wp-block-paragraph">　それでもコマンドを使い始めて、なんか作業が楽しく進められるようになったんですよね。というよりもある日を境に寝て起きたら、なんかコマンド操作の概念がスッと頭に入ってきたんですよ・・・。<br>なのでなにかに詰まって、「うおぉぉ、何もわかんねぇ」ってなった時は</p>



<p class="has-text-align-center wp-block-paragraph"><span class="fz-22px"><strong><span class="fz-28px">寝るのが一番</span></strong></span></p>



<p class="wp-block-paragraph">です。<br>そんな時間は無ぇという方が多くいらっしゃると思いますが、個人的な体感としては一番解決率が高い気がします。（寝ずに頭をひねるよりは）<br>というわけでここまでのご精読ありがとうございました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>古いノートPC活用のすゝめ（ついでのLinux（Ubuntu MATE）デビュー！）</title>
		<link>https://gamekineki.com/post-679/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 17:06:35 +0000</pubDate>
				<category><![CDATA[技術雑記]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu MATE]]></category>
		<category><![CDATA[初心者]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=679</guid>

					<description><![CDATA[　最近のWindowsアップデートについていけないスペックのノートPCはどうしたらいいんだ・・・！！！ 　そんなことを思ったことはありませんでしょうか・・・？私めは長年Windowsユーザーなのですが、昨今、Window [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center wp-block-paragraph">当記事の内容は<br><strong><span class="fz-24px">分解を推奨するものではなく</span></strong>、<br>（公式ではもちろん非推奨かつ”分解による故障”は基本的にサポート対象外、<br>というか今回のは公式でのサポートは終了してしまっているのですが・・・。）<br><strong><span class="fz-24px">どこまでいっても自己責任</span></strong><br>（他の内容についても同様ですが、<br>当ブログで行ったことを真似して何らかの被害を負った場合でも当ブログは責任を負えません。）<br>であることを理解したうえでご覧ください。</p>



<p class="has-text-align-center wp-block-paragraph"><span class="fz-28px">　<strong>最近のWindowsアップデートについていけないスペックの</strong><br><strong>ノートPCはどうしたらいいんだ・・・</strong>！！！</span></p>



<p class="wp-block-paragraph">　そんなことを思ったことはありませんでしょうか・・・？<br>私めは長年Windowsユーザーなのですが、昨今、Windows11やらAI搭載やらPCがどんどん重く（<strong>ストレージ的にもメモリ的にも</strong>）なってきましたよね。そういうわけでスペックの高いノートPCを買おうとするも価格の高騰に2026年初頭（どころかこれからも上がるみたいっすね・・・）巻き込まれているわけですが・・・。<br>それならばと古いノートPCを再利用するのはどうかということで、データを抜いてしばらく起動していなかったNECのLAVIEを引っ張り出しました。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="800" height="450" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-800x450.jpg" alt="" class="wp-image-681" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-1536x864.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-2048x1152.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0468-320x180.jpg 320w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">画質が悪いのは許してヒヤシンス（ペろっ）</figcaption></figure>



<p class="wp-block-paragraph">学生時代からかれこれ10年近く使っていたノートPCなのですが、Windows10で動作が爆重になり、Windows11へのアップデートではついにスペックの時点ではじかれるようになってしまいました・・・。<br>そういったことで使わなくなって眠ることとなっていたのですが、なんとかこの遺物を活かしたいなと思いたったのです。</p>



<p class="wp-block-paragraph">　そんなわけで最近気になっていたLinuxディストリビューションであるUbuntuの派生、Ubuntu MATEを入れるついでに分解・清掃、メモリの増設までやっちゃいました。<br>その過程をお届けしたいと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">古いPC活用のすゝめ</a><ol><li><a href="#toc2" tabindex="0">準備するもの</a></li><li><a href="#toc3" tabindex="0">UbuntuMATEをインストール（元のWindowsとおさらば！）</a></li><li><a href="#toc4" tabindex="0">PCの分解・キーボードの清掃</a></li><li><a href="#toc5" tabindex="0">RAMの増設：8GB→16GBへ</a></li><li><a href="#toc6" tabindex="0">最後に</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">古いPC活用のすゝめ</span></h2>



<h3 class="wp-block-heading"><span id="toc2">準備するもの</span></h3>



<p class="wp-block-paragraph">　それでは今回使ったものの紹介から始めましょう。</p>



<ul class="wp-block-list">
<li>古いノートパソコン（私のはNEC・LAVIE-pc-gn234hsa7）<br>↳スペックとしてはcore-i5-6200U + RAM8GB + HDD1TB</li>



<li>追加用の中古RAM（8GB・PC3L‐12800S）</li>



<li>USBメモリ（今回は32GBを使用したが、8GBあれば足りる？と思います。）</li>



<li>ピンセット</li>



<li>ドライバーセット</li>



<li>綿棒</li>
</ul>



<p class="wp-block-paragraph">ぐらいですかね。<br>注意点としてはUSBメモリはフォーマットして書き込むので中身のデータを他の安全なストレージに移してから作業しましょう。ということと、後に説明しますが、RAMの規格や相性問題もあるので次善策や諦めることも視野に入れて気を落とさずにいきましょう！</p>



<h3 class="wp-block-heading"><span id="toc3">UbuntuMATEをインストール（元のWindowsとおさらば！）</span></h3>



<p class="wp-block-paragraph">　当初、Linux系OSを入れて動かそうぐらいしか考えていなかったので、内部のクリーニングまで考えていませんでした。なので先にUbuntuMATEのインストールとなっております。<br>クリーニングを元から考えているなら、そちらを先にした方が絶対いいです。なぜなら分解した後の組み立て不備なのか、OSのインストールミスやハードウェアとの相性なのか問題の切り分けが難しくなるからです。少なくとも組み立て後に以前の環境（OS）で起動まで出来るのであれば、分解による不良は考えにくくなるからですね（それでも安心できませんが・・・）。</p>



<p class="wp-block-paragraph">ちなみに数あるLinuxディストリビューション<sup data-fn="04a169a1-2962-41d2-8910-8f2087bcdc30" class="fn"><a href="#04a169a1-2962-41d2-8910-8f2087bcdc30" id="04a169a1-2962-41d2-8910-8f2087bcdc30-link">1</a></sup>の中でUbuntuMATEを選択した理由を簡潔に書くと以下のようになります。</p>



<ul class="wp-block-list">
<li>Linux系初心者なのでGUIは流石に欲しい</li>



<li>そのうえでトラブルシューティングができるように比較的情報が出そろっているディストリがいいなぁ→Ubuntu系かなと思い始める</li>



<li>その中でも8GBメモリでも快適に動く軽量なものが良いな・・・</li>



<li>使用用途としてはLinuxの実験機的なものを期待して、サーバー実験やLinux環境でのSteamはどれぐらいできるかなどのお試しをしたいっすね。</li>
</ul>



<p class="wp-block-paragraph">この条件でChatGPTに投げた結果、UbuntuMATEに決定したわけです。<br>しかしながらメモリ増設を考えたのが、後のクリーニングを思い立ってからなので、それを加味したら通常のUbuntuでも良かったなと思いました。</p>



<p class="wp-block-paragraph">というわけで手順に関してはまるっきり他のサイトを参考にしたので貼っておきますね。（お世話になりました&lt;m(__)m>）<br>後に個人的な注意点だけ。</p>





<a rel="noopener" target="_blank" href="https://note.com/itsuki_495/n/n4f90ad438d3b" title="【備忘録】古いWindowsノートPCにUbuntuをインストールして快適に動作させようの回｜イツキ" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://gamekineki.com/wp-content/uploads/cocoon-resources/blog-card-cache/f27f206d1a5390f77aeb37d5b8ddf663.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【備忘録】古いWindowsノートPCにUbuntuをインストールして快適に動作させようの回｜イツキ</div><div class="blogcard-snippet external-blogcard-snippet">◆はじめに 　大学入学の時に買わされたノートPCが、もう流石に動かない。いや、動きはするけど、基本的に動作が重いし、もっさりする。加えてトラックパッドが死んでいる。 　買い替えようかなぁと思ったけど、Switch2が欲しくてお金を避けている...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://note.com/itsuki_495/n/n4f90ad438d3b" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">note.com</div></div></div></div></a>




<p class="wp-block-paragraph">あと肝心のUbuntuMATEのダウンロードサイトについては</p>





<a rel="noopener" target="_blank" href="https://ubuntu-mate.org/download" title="
        
            Download | Ubuntu MATE
        
    " class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fubuntu-mate.org%2Fdownload?w=320&#038;h=180" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">
        
            Download | Ubuntu MATE
        
    </div><div class="blogcard-snippet external-blogcard-snippet">A community developed, Ubuntu based operating system that beautifully integrates the MATE desktop. Ubuntu MATE is a stab...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ubuntu-mate.org/download" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ubuntu-mate.org</div></div></div></div></a>




<p class="wp-block-paragraph">ある意味、追実験的な感じになりましたね。<br>ほぼ書かれてる通り、まんまで実行できたので非常にありがたかったです。<br>注意点としては</p>



<ul class="wp-block-list">
<li>UbuntuMATEは複数同じサイトに公開されてますが、最新の安定版と比較的長期の安定版があるので、特に最新版にこだわらない限りは”supported until ~(期限)”が長いものを選んだ方がいいと思います。</li>



<li>steamに関しては自分は公式サイトのdevパッケージをダウンロードしてきました。</li>



<li>その他の導入後のアップデート、日本語設定、セキュリティ設定はお好みに。<br>（よくわからなかったら検索する他、ChatGPTとかに投げてもいいかも）<br>特に導入直後の言語設定が反映されていなかった場合は左上のメニュー内の検索窓に「language support」を入力して、日本語に設定して再起動すれば日本語になるはずです。</li>
</ul>



<p class="wp-block-paragraph">そして諸々設定を終えた結果・・・</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="450" src="https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-800x450.jpg" alt="" class="wp-image-693" srcset="https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1-320x180.jpg 320w, https://gamekineki.com/wp-content/uploads/2026/01/c533738ce08affe1fc0438e1151f2cc1.jpg 1366w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="has-text-align-center wp-block-paragraph"><strong><span class="fz-28px">無事、起動！！！</span></strong></p>



<p class="wp-block-paragraph">動作も、もはやPCの体をなしていなかった以前と違い、サクサクで感激っす！<br>（この後、VisualStudioCode<sup data-fn="4577eac0-3af6-43a1-b973-6c6f218655db" class="fn"><a href="#4577eac0-3af6-43a1-b973-6c6f218655db" id="4577eac0-3af6-43a1-b973-6c6f218655db-link">2</a></sup>やGIMP<sup data-fn="bbb15ef5-1cc4-4f1c-8372-cff1813cf643" class="fn"><a href="#bbb15ef5-1cc4-4f1c-8372-cff1813cf643" id="bbb15ef5-1cc4-4f1c-8372-cff1813cf643-link">3</a></sup>もインストールしました）</p>



<h3 class="wp-block-heading"><span id="toc4">PCの分解・キーボードの清掃</span></h3>



<p class="wp-block-paragraph">　正直、ここまででお腹いっぱいという方が大半だと思いますが、ソフトウェアの次はハードウェアの問題があるんですね・・・。<br>元からなんですけど、このPC・・・キーボードの効きが悪い問題も抱えてるんですよ・・・。</p>



<p class="wp-block-paragraph">となれば、分解・清掃のお時間だということで以下のサイトを参考に頑張って分解しました。</p>





<a rel="noopener" target="_blank" href="https://pc-jiten.com/post32629" title="NEC LAVIE GN234F/S8 キーボード 交換ガイド（動画） ｜GN234F/S8・PC-GN234FSA8" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://gamekineki.com/wp-content/uploads/cocoon-resources/blog-card-cache/09f9dac4156e27306b4c4b229ea03eb4.jpg" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">NEC LAVIE GN234F/S8 キーボード 交換ガイド（動画） ｜GN234F/S8・PC-GN234FSA8</div><div class="blogcard-snippet external-blogcard-snippet">今回は、NEC LAVIE GN234F/S8のキーボード交換手順を動画で解説致します。 ※症状を悪化させたり、破損のリスクがございます。NEC LAVIE</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://pc-jiten.com/post32629" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">pc-jiten.com</div></div></div></div></a>






<a rel="noopener" target="_blank" href="https://qiita.com/shinozaki_yuma/items/52877170b013ffc35e5c" title="ノートPCの薄いキーキャップの外し方【お手入れレポート】 - Qiita" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fqiita.com%2Fshinozaki_yuma%2Fitems%2F52877170b013ffc35e5c?w=320&#038;h=180" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">ノートPCの薄いキーキャップの外し方【お手入れレポート】 - Qiita</div><div class="blogcard-snippet external-blogcard-snippet">はじめに 私はこれまで、マイPC（MSI Prestige-15）にコーヒーを2回溢しており（ごめんね）、そのせいで、Enterキーあたりのキーの押し心地がヌッタリしてしまっています。 気になるので、掃除したかったのですが、ドンピシャサイト...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://qiita.com/shinozaki_yuma/items/52877170b013ffc35e5c" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">qiita.com</div></div></div></div></a>




<p class="wp-block-paragraph">個人的にはピンセットの方を回すと、キーキャップは外しやすかったですね。</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="1428" data-id="696" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-800x1428.jpg" alt="" class="wp-image-696" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-800x1428.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-500x893.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-300x536.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-768x1371.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-860x1536.jpg 860w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446-1147x2048.jpg 1147w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0446.jpg 1434w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">一番開けやすいところを開けばメモリもストレージも<br>交換・増設できるのはいいですね</figcaption></figure>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="800" height="1428" data-id="697" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-800x1428.jpg" alt="" class="wp-image-697" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-800x1428.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-500x893.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-300x536.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-768x1371.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-860x1536.jpg 860w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447-1147x2048.jpg 1147w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0447.jpg 1434w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">キーボード部分を外した後（銀板の裏がキーキャップ）</figcaption></figure>
</figure>



<p class="wp-block-paragraph">　内部は思っていたよりも埃が積もっておらず、ササっと拭きとるぐらいで済みました。</p>



<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="450" data-id="698" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-800x450.jpg" alt="" class="wp-image-698" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-1536x864.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-2048x1152.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0451-320x180.jpg 320w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="450" data-id="699" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-800x450.jpg" alt="" class="wp-image-699" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-1536x864.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-2048x1152.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0453-320x180.jpg 320w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</figure>



<p class="wp-block-paragraph"><br>ところが流石にキーボードは細かいチリや毛が詰まっていましたね・・・。<br>キーキャップもコツコツ外した甲斐がありましたよ。ついでに言うならラバードームも外して接点復活なりなんなり、吹いた方がよかったと思うのですが流石にやる気が起きなかったですね・・・（わざわざ瞬接使って、付け直さなきゃいけないのが・・・ね）。</p>



<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="450" data-id="700" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-800x450.jpg" alt="" class="wp-image-700" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-1536x864.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-2048x1152.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0461-320x180.jpg 320w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="450" data-id="701" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-800x450.jpg" alt="" class="wp-image-701" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-1536x864.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-2048x1152.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0462-320x180.jpg 320w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</figure>



<p class="wp-block-paragraph">結果としてここまでやれればいいかなというラインまでやったので、少なくとも見た目は綺麗になりました。（キーボードの効きは変わらなかったです・・・。）</p>



<h3 class="wp-block-heading"><span id="toc5">RAMの増設：8GB→16GBへ</span></h3>



<p class="wp-block-paragraph">　その後ある程度まで組みなおしまして、メモリの増設へ。<br>ストレージもSSD換装したかったんですけど、流石にお金がかかりすぎるので保留です。</p>



<p class="wp-block-paragraph">そして肝心のメモリですが、型番としては”PC3L‐12800S”<sup data-fn="816245fe-d91e-4436-b34d-b05f35876db6" class="fn"><a href="#816245fe-d91e-4436-b34d-b05f35876db6" id="816245fe-d91e-4436-b34d-b05f35876db6-link">4</a></sup>というものだったのですが、基本的に同じ型番が安定なので中古ショップで探してきました。メーカーまでは同じものをそろえられなかったので相性問題を考慮して、予備含め2枚買いました。（1100円×2＝2200円）</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="2560" height="1434" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited.jpg" alt="" class="wp-image-703" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited.jpg 2560w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-500x280.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-800x448.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-300x168.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-768x430.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-1536x860.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-2048x1147.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0465-edited-320x180.jpg 320w" sizes="(max-width: 2560px) 100vw, 2560px" /><figcaption class="wp-element-caption">向かい合わせにマウントするのです！</figcaption></figure>



<p class="wp-block-paragraph">マウントが出来たらあとは実際に認識されているか確認しましょう！</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="800" height="450" src="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-800x450.jpg" alt="" class="wp-image-704" srcset="https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-1536x864.jpg 1536w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-2048x1152.jpg 2048w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/DSC_0464-320x180.jpg 320w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">ちゃんと認識されてますね。</figcaption></figure>



<h3 class="wp-block-heading"><span id="toc6">最後に</span></h3>



<p class="wp-block-paragraph">　Linux系OSはサーバー用途として、比較的なじみ深いOSでコマンド操作が非常に楽しいです。初めてデスクトップ（Windows）からssh接続して、コマンド操作したんですけど、未体験の領域でした・・・！（下記の画像は別の作業中ですが・・・。）</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="800" height="450" src="https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-800x450.jpg" alt="" class="wp-image-694" srcset="https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-800x450.jpg 800w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-500x281.jpg 500w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-300x169.jpg 300w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-768x432.jpg 768w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e-320x180.jpg 320w, https://gamekineki.com/wp-content/uploads/2026/01/3028807130913c76e29c135d2d712b5e.jpg 1366w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">PC使ってる感がある・・・かも・・・</figcaption></figure>



<p class="wp-block-paragraph">　なので、既存の古いパソコンをスペックアップして活用するのもそうですが、これを機にコマンド操作という新たな領域に踏み込むのもまた”すゝめ”たいです！<br>昨今の価格高騰で悩んでいる皆様の一つの選択肢となり得るかもしれませんぞ！ということを期待して、今回は終わりたいと思います。(&#8216;ω&#8217;)ノ</p>


<ol class="wp-block-footnotes"><li id="04a169a1-2962-41d2-8910-8f2087bcdc30">Linuxカーネルを基に、各種ツールや環境を組み合わせて作られたOS（ディストリビューション）の総称。UbuntuやDebianなどがあり、今回のUbuntu MATEはUbuntuの派生ディストリビューションにあたる。簡単なLinuxについての解説→<a rel="noopener" target="_blank" href="https://qiita.com/uguis410/items/17ec1e447e9716bfdca7">https://qiita.com/uguis410/items/17ec1e447e9716bfdca7</a> <a href="#04a169a1-2962-41d2-8910-8f2087bcdc30-link" aria-label="脚注参照1にジャンプ">↩︎</a></li><li id="4577eac0-3af6-43a1-b973-6c6f218655db">Microsoft製のプログラムエディタ。軽量なのでプログラムを始める最初の環境としてもおススメ。 <a href="#4577eac0-3af6-43a1-b973-6c6f218655db-link" aria-label="脚注参照2にジャンプ">↩︎</a></li><li id="bbb15ef5-1cc4-4f1c-8372-cff1813cf643">画像編集ソフト。結構な多機能を無料で使えるすごいソフト（小並感の筆者視点）。 <a href="#bbb15ef5-1cc4-4f1c-8372-cff1813cf643-link" aria-label="脚注参照3にジャンプ">↩︎</a></li><li id="816245fe-d91e-4436-b34d-b05f35876db6">私も今回調べたのですが、型番の意味としてはPC3L（DDR3のLaw：通常1.5V・Law版1.35V）‐12800S（最後のsはS.O.DIMM、ノートパソコン用の短いメモリ）ということらしいっすね。型番丸々同じに書かれていないものもありました。（PC3-12800　S.O.DIMM　1.35Vのように分割して記載してあるみたいな） <a href="#816245fe-d91e-4436-b34d-b05f35876db6-link" aria-label="脚注参照4にジャンプ">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【備忘録】OBSでゲームキャプチャに何か問題があった時に見る部分【外部据え置き・キャプボ使用】</title>
		<link>https://gamekineki.com/post-672/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Fri, 02 Jan 2026 15:22:36 +0000</pubDate>
				<category><![CDATA[技術雑記]]></category>
		<category><![CDATA[備忘録]]></category>
		<category><![CDATA[OBS]]></category>
		<category><![CDATA[キャプチャーボード]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=672</guid>

					<description><![CDATA[　あけましておめでとうございます。本年もよろしくお願いします。 ということで少し前に動画投稿を始めたので、その時に自分が少し詰まったところについてのトラブルシューティングです。OBSの録画環境編です。据え置き機のゲーム系 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　あけましておめでとうございます。本年もよろしくお願いします。</p>



<p class="wp-block-paragraph">ということで少し前に動画投稿を始めたので、その時に自分が少し詰まったところについてのトラブルシューティングです。OBSの録画環境編です。<br>据え置き機のゲーム系の録画+プレイ画面としてキャプチャしているのですが、時々OBSに画面が映らなかったり、音が出なかったり・・・。（PCでプレイしているものは問題ないのですが・・・。）</p>



<p class="wp-block-paragraph">　他のサイトでもそういったQAは多くみるのですが、一覧的に当てはまらないものも載っているので、問題が起こるたびに該当箇所を参照するのがめんどくさいんですよね・・。<br>なので自分がよくあてはまる解決方法について絞って残しておこうかなと。<br>そういったわけで、そんなときに確認したいところについて書いていこうと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">OBSで画面が映らない、音が出ない時は？</a><ol><li><a href="#toc2" tabindex="0">現在の環境</a></li><li><a href="#toc3" tabindex="0">OBSのシーンを削除して、再起動→再度、キャプチャ用のシーン作成</a></li><li><a href="#toc4" tabindex="0">映像キャプチャデバイスのプロパティを確認する</a></li><li><a href="#toc5" tabindex="0">マイクへのアクセスを確認する（Windowsの設定）</a></li><li><a href="#toc6" tabindex="0">これらで解決しなかったら、一覧から原因を探り当てましょう・・・。</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">OBSで画面が映らない、音が出ない時は？</span></h2>



<h3 class="wp-block-heading"><span id="toc2">現在の環境</span></h3>



<p class="wp-block-paragraph">　自分の録画環境兼据え置きゲーム機のプレイ環境についてさらっと。</p>



<ul class="wp-block-list">
<li>HDMIキャプチャーボード（USB接続）</li>



<li>コンポーネント→HDMI変換（PS2やWii用、上記キャプチャボードに接続）</li>



<li>OBS Studio(キャプチャー・録画ソフト)</li>
</ul>



<p class="wp-block-paragraph">見てわかる通りコンポーネント端子のゲーム機は間に2つデバイスをかますので遅延がキツイかと思いきや、割とプレイできなくはないぐらいの遅延で済んでるのでギリギリ何とかなってます。<br>PCに内蔵できるタイプのキャプチャーボードを買いたいんですけど、結構高いんですよね・・・。</p>



<h3 class="wp-block-heading"><span id="toc3">OBSのシーンを削除して、再起動→再度、キャプチャ用のシーン作成</span></h3>



<p class="wp-block-paragraph">　それでは本題。<br>まずは画面自体が映らないことに関してですが、これは大体、シンプルな解決策で終わります。</p>



<ol class="wp-block-list">
<li>キャプチャーボードの画面を出力しているシーンを削除</li>



<li>OBSを落とす</li>



<li>キャプチャーボードを接続しなおす</li>



<li>OBSを開く</li>



<li>シーンを作成しなおす</li>
</ol>



<p class="wp-block-paragraph">画面が映らない系の問題はこの手順で大体解決した気がします。</p>



<h3 class="wp-block-heading"><span id="toc4">映像キャプチャデバイスのプロパティを確認する</span></h3>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="800" height="419" src="https://gamekineki.com/wp-content/uploads/2026/01/4726154bdecd276413a8b01c65964c12-800x419.png" alt="" class="wp-image-675" srcset="https://gamekineki.com/wp-content/uploads/2026/01/4726154bdecd276413a8b01c65964c12-800x419.png 800w, https://gamekineki.com/wp-content/uploads/2026/01/4726154bdecd276413a8b01c65964c12-500x262.png 500w, https://gamekineki.com/wp-content/uploads/2026/01/4726154bdecd276413a8b01c65964c12-300x157.png 300w, https://gamekineki.com/wp-content/uploads/2026/01/4726154bdecd276413a8b01c65964c12-768x402.png 768w, https://gamekineki.com/wp-content/uploads/2026/01/4726154bdecd276413a8b01c65964c12.png 1088w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph">　ここからは音声が出ない問題に関してになります。<br>まずはキャプチャしているシーン内の映像キャプチャデバイスのプロパティの確認ですね。<br>ほいで、ここのカラーバーが出てない場合はそもそも映像が出てないので、上の画面修正に戻ります。<br>そしてスクロールが途中で詰まるので、しっかり横のスクロールバーの位置を確認しましょう。<br>下までいって音声に関する設定をいじいじしてみましょう。（個人的には現状、これで安定中）</p>



<p class="wp-block-paragraph">あとは音声ミキサー左下（上記画像中央下）の歯車マークから見れる詳細プロパティの音声モニタリングをモニターと出力に変えてみたりして確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">マイクへのアクセスを確認する（Windowsの設定）</span></h3>



<p class="wp-block-paragraph">　そしてこの前ひっかかった要因がこれ。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="574" height="364" src="https://gamekineki.com/wp-content/uploads/2026/01/a6f87c166607c45d41c9f18e587c1203.png" alt="" class="wp-image-676" srcset="https://gamekineki.com/wp-content/uploads/2026/01/a6f87c166607c45d41c9f18e587c1203.png 574w, https://gamekineki.com/wp-content/uploads/2026/01/a6f87c166607c45d41c9f18e587c1203-500x317.png 500w, https://gamekineki.com/wp-content/uploads/2026/01/a6f87c166607c45d41c9f18e587c1203-300x190.png 300w" sizes="(max-width: 574px) 100vw, 574px" /></figure>



<p class="wp-block-paragraph">Windowsの設定から「プライバシーとセキュリティ」→「マイク」の中のこれらの設定をONにしないと音声が入らなかったんですよね。<br>一律で何かあった時のためにと切っておいたのですが、まさかキャプチャの音声入力までできなくなるとは思ってもみませんでした・・・。</p>



<h3 class="wp-block-heading"><span id="toc6">これらで解決しなかったら、一覧から原因を探り当てましょう・・・。</span></h3>



<p class="wp-block-paragraph">　大体、個人的にはこれらで何とかなっているので、直らなかった場合は原因がつらつらと並んでいるサイトから探すしかないでしょうね・・・。<br>なるべく早く解決できるように日ごろからトラブルシューティング能力を鍛えていかねば・・・！<br>ということで備忘録なので自分の困ったことに対処するためのメモ書きでした。<br>これをみているだれかの助けにならんことを・・・。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>なぜプログラミング言語はこれほど種類が分かれたのか？</title>
		<link>https://gamekineki.com/post-482/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Wed, 21 May 2025 09:59:22 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=482</guid>

					<description><![CDATA[　毎度、ありがとうございます。皆さん、プログラミングに関心を持ったことはあるでしょうか？この記事を開いていただいた時点で少なからず、興味はあるとお見受けします。業務効率化やゲームを作りたいなど様々な理由で関心を持つ方が多 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　毎度、ありがとうございます。<br>皆さん、プログラミングに関心を持ったことはあるでしょうか？<br>この記事を開いていただいた時点で少なからず、興味はあるとお見受けします。<br>業務効率化やゲームを作りたいなど様々な理由で関心を持つ方が多くいるでしょう。<br>そんな中でこんな疑問を持ったことはありませんか？<br>「プログラミング言語の種類多すぎない（どれを使えばいいんだ）？」と。<br>今回はなぜこんなにも多くの種類のプログラミング言語が存在するかの要因について、大まかに書いていきたいと思います。どれを使ったらいいか（便利、効率的か）に密接に関わってくるので、自分の目的にはどの言語がいいのか悩んでいるプログラミング初心者の方の一助となればと思います。<br>それではどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc1">私自身の挫折（読み飛ばして構いません）</span></h3>



<p class="wp-block-paragraph">※この項はこの記事を書くに至った筆者の体験です。個人ブログなので多少はね・・・。</p>



<p class="wp-block-paragraph">　私は過去に一度プログラミングを学ぼうとして挫折したんですよね。<br>というのを思い出したのがこの記事の発端です。ゲームが好きでゲームを作りたかったんですよね。<br>その時に様々な言語の選択肢を見て、「どれを学べばいいんだ・・・？」となってしまいました。<br>それでもひとまずどれでもいいからかじってみようと思い立ち、初心者向けの参考書を複数言語買って挑戦し始めました。（C++、C#、Pythonあたりだったんですかね・・・。）<br>初学者には環境構築も一苦労。やっとこさコードを書き始めたのですが、そこで気づきました。<br><strong><span class="fz-16px"><span class="fz-24px">なんかやってること同じじゃない・・・？</span></span></strong><br>多少の記法の違いはあれど書いてあることが、変数、関数の説明に始まり、for文や配列の解説など共通の基礎の基礎部分だったんですよね（当たり前なのですが・・・）。<br>結局、言語でなにが違うんだっていうことに気づけず、しばらく離れてしまったんですよね。<br>コラムなりなんなりでどういった用途に多く使われているとか触れていてほしかったなぁ・・・と。<br><br>　そういったことで、学び始めるにあたって、なぜこの言語が使われているのか、要因に触れられている解説が薄い気がするんですよね・・・。<br>検索すればもちろん出てきますが、普段多少なりともプログラミング関連の記事や動画を見たりしますが、この内容について深く掘り下げているものがあまり浮上してこない気がするんですよね（個人的な体感に基づく）。<br>そのためなるたけそういった用途、使われている理由に重点を置いて今回書かせていただきます。<br>（歴史的な部分はあまり書かないと思います・・・。）<br>また全ての言語は網羅できないので、書いていない言語に関しては、この記事を見て、どの要素に当てはまるのかご自身で調べて確認していただければと思います。</p>



<h3 class="wp-block-heading"><span id="toc2">大まかな要素について</span></h3>



<p class="wp-block-paragraph">　それでは本題に入りましょう！<br>最初にプログラミング言語を工具などと変わらない<strong>道具</strong>として見てみてください。<br>道具というのは使いたい場面によって最適化されています。例えば、同じハンマー・トンカチの形をした工具でも用途によって槌の部分の材質が違います（金属製はもちろん、傷つけない為にゴム製のものも存在しますよね）。つまりやりたいことに対する”必要性”があって道具は作られているわけですよね。プログラミング言語も同じです。<br>　特定の共通の決まり事の上で動作するものを作りたかったから、簡単にして効率よくしたかったからなど、そんな理由です。であるからこそ変数などの共通事項以外で得意なこと（目指していたこと）が出来てきます。なので言語の成り立ち・過程を知るということは、言語の得意なことを知るということにもつながってくると言えるんじゃないでしょうか？個別の事例を見てちょっとこの考えについて深めていきましょう。<br>最初はカジュアルでわかりやすいものから。</p>



<h4 class="wp-block-heading">より便利な機能を増やしたい（今の言語にない機能を増やしたい）</h4>



<p class="wp-block-paragraph">　言語を始めてみて最初に皆さん、C言語,C++,C#って何が違うの？って一度は思ったと思うんですよね。実際、ほぼ縦のつながりどころか、C++に至ってはC言語を包括<sup data-fn="76dffedc-89da-4f80-8064-a8e433220a45" class="fn"><a href="#76dffedc-89da-4f80-8064-a8e433220a45" id="76dffedc-89da-4f80-8064-a8e433220a45-link">1</a></sup>（C++の中にC言語の書き方で書いてもなんの問題もない）しています。C言語に付け足したかったものをC++（テンプレート、クラス、オブジェクト指向等）で、C++に付け足したかったものをC#<sup data-fn="277d6016-7d73-45b8-87ab-18135d41bf49" class="fn"><a href="#277d6016-7d73-45b8-87ab-18135d41bf49" id="277d6016-7d73-45b8-87ab-18135d41bf49-link">2</a></sup>（OSが違う環境でも差異を吸収して動作するように＝.netフレームワーク、GUI開発環境等）で必要になったものを追加していったわけですね。<br>　そこで一つ疑問が湧くと思います。必要になったものを追加した後発の言語を使えばいいじゃん、古いC言語とかは使わなくていいじゃん、と。残念ながらそうはいかないのです。</p>



<h5 class="wp-block-heading">ではなぜC言語は未だに使われるのか？（残っているのか？）</h5>



<p class="wp-block-paragraph">　便利な機能を追加した裏には切り捨てられた要素があるからです。C/C++とC#で言えばメモリ安全性<sup data-fn="b9940397-0f9e-41c7-adea-ece512dbd002" class="fn"><a href="#b9940397-0f9e-41c7-adea-ece512dbd002" id="b9940397-0f9e-41c7-adea-ece512dbd002-link">3</a></sup>の代わりにメモリ操作の自由を無くしました。これがどういったことかというとC/C++では自身でメモリを操作して効率的な（実行速度の速い）プログラムが書けるがメモリに関する問題（メモリリーク等）が起こりえます。≒「<strong>危険なこともできるようにする</strong>ことで表現力を得る」<br>それに対してC＃ではそういった問題が起こりにくい代わりに、実行時に無駄のある（不要な処理を挟む）プログラムになってしまうといった形ですね。≒「<strong>危険なことをできなくする</strong>ことで安全を得る」<br>これ以外にも差異はありますが、そういった差異によるメリット・デメリットが存在するがゆえに古い言語でも生き残っているんですね。<br>　それらに加えてC言語は近年まで生き残っている言語の中ではアセンブリに次ぐぐらい低レベルな言語<sup data-fn="eaeca882-ce5f-4566-99f3-1f35cbda187f" class="fn"><a href="#eaeca882-ce5f-4566-99f3-1f35cbda187f" id="eaeca882-ce5f-4566-99f3-1f35cbda187f-link">4</a></sup>なのであえて機能を追加せず最低限の機能を保つことで、できないことを増やさない≒時間や労力はかかるが大抵のことは実装できる環境を維持しています。<br>　機能を増やすことで便利になったと思えば、他の部分で融通が利かなくなってしまうんですね・・・。</p>



<h4 class="wp-block-heading">特定の分野で定められている規定のもとに作られた、<br>もしくはこの言語が主流でその言語に合わせて規定が作られたから</h4>



<p class="wp-block-paragraph">　これについては今皆さんが目にしているものですね。<br>ネットワーク関連の言語です。基準が違う言語が各所で生まれてしまえば、その言語に対応していないブラウザはサイトを表示することが出来ません。その状態は非常に不便ですよね。<br>サーバーとなるとそれなりに選択肢がありますがWebページに焦点を当てると、HTML（文体、改行等の文章情報）、CSS（文字の太さやレイアウトなどの装飾）、JavaScript（フロントエンドでHTML、CSSを操作するための言語・ECMAScriptを基準・Transpile系も含む）など、ほぼほぼ統一されているといっていいと思います。<br>こうしましょうという取り決めのもとに使われている言語ということですね。</p>



<h4 class="wp-block-heading">今まで使われてきたから（ライブラリが充実しているから）</h4>



<p class="wp-block-paragraph">　金融・大規模業務系はJava、C＃等の言語が流行して、そのシステムを保守しなければならないからその言語が主流になりました。さらにそれによってその業界でのノウハウやライブラリも充実することになったので現在もその言語での開発でいいよねという形で使われています。<br>このようにある種の時の運っていうのも流行り廃りには影響するんです。<br>新しくとってかわるのは、こういった積み重ねが必要な業界は厳しいかもしれませんね・・・。</p>



<h3 class="wp-block-heading"><span id="toc3">基礎の構文が似通っている言語はどのような差が出るのか？</span></h3>



<p class="wp-block-paragraph">　おおよそ上に述べた理由が大半かと思います。Pythonなんかもカジュアルに簡易に書きたい（人の言語に近い、読みやすい形）という設計思想のもと≒今までよりも便利にということから生まれていますから。<br>さて最後に基礎的な文法が似通っている言語の特色をChatGPTにまとめてもらったので紹介したいと思います。どういった差異があるのか確認していきましょう。</p>



<h5 class="wp-block-heading">◆ C言語：<strong>究極の低レベル汎用言語</strong></h5>



<ul class="wp-block-list">
<li><strong>設計思想</strong>：ハードウェアに近い操作を可能にしつつ、最低限の抽象化を提供する。</li>



<li><strong>強み</strong>：
<ul class="wp-block-list">
<li>メモリ操作、アドレス操作が自由（ポインタ）</li>



<li>コンパイル結果がシンプルで高速</li>



<li>OSやドライバ、組み込み機器で標準的に使用</li>
</ul>
</li>



<li><strong>苦手なこと</strong>：
<ul class="wp-block-list">
<li>型安全性がない（バグが起きやすい）</li>



<li>クラスも例外も標準では存在しない</li>



<li>巨大なプロジェクトには手間がかかる</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h5 class="wp-block-heading">◆ C++：<strong>高性能と抽象化の両立</strong></h5>



<ul class="wp-block-list">
<li><strong>設計思想</strong>：Cの性能と自由度を保ちながら、安全性と表現力を拡張する。</li>



<li><strong>強み</strong>：
<ul class="wp-block-list">
<li>オブジェクト指向（クラス・継承など）</li>



<li>テンプレートによる汎用性</li>



<li>STL（標準テンプレートライブラリ）による抽象化されたアルゴリズムとデータ構造</li>



<li>最新のC++20以降でマルチスレッド・コンセプトなど大幅進化</li>
</ul>
</li>



<li><strong>苦手なこと</strong>：
<ul class="wp-block-list">
<li>学習コストが高い</li>



<li>複雑性が管理しづらくなる</li>



<li>コンパイル時間が長くなることも</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h5 class="wp-block-heading">◆ Java：<strong>安全性と実行環境の自由さ</strong></h5>



<ul class="wp-block-list">
<li><strong>設計思想</strong>：安全で移植性が高い言語（WORA: Write Once, Run Anywhere）</li>



<li><strong>強み</strong>：
<ul class="wp-block-list">
<li>ガーベジコレクションによる自動メモリ管理</li>



<li>仮想マシン（JVM）によるクロスプラットフォーム性</li>



<li>強い型チェックと例外処理</li>



<li>大規模業務アプリケーションに適する</li>
</ul>
</li>



<li><strong>苦手なこと</strong>：
<ul class="wp-block-list">
<li>実行速度はネイティブ言語より遅め</li>



<li>ネイティブ操作やゲーム開発には不向きなことが多い</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h5 class="wp-block-heading">◆ C#：<strong>WindowsとGUI、業務アプリの親和性</strong></h5>



<ul class="wp-block-list">
<li><strong>設計思想</strong>：.NET環境との統合で、GUIや業務アプリの迅速開発</li>



<li><strong>強み</strong>：
<ul class="wp-block-list">
<li>Visual Studioによる強力なIDE支援</li>



<li>GUI、Webアプリ、ゲーム開発（Unity）に対応</li>



<li>イベント駆動設計と非同期処理が得意</li>
</ul>
</li>



<li><strong>苦手なこと</strong>：
<ul class="wp-block-list">
<li>実行環境（.NET）に依存</li>



<li>Linuxや組み込みでは使いにくい</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h5 class="wp-block-heading">◆ Python：<strong>圧倒的な表現力と手軽さ</strong></h5>



<ul class="wp-block-list">
<li><strong>設計思想</strong>：コードを“人間が読む”ことを最優先</li>



<li><strong>強み</strong>：
<ul class="wp-block-list">
<li>自然な文法（英語的）</li>



<li>豊富なライブラリ：AI、データ処理、Webなど幅広い</li>



<li>インタプリタで即実行、試行錯誤しやすい</li>
</ul>
</li>



<li><strong>苦手なこと</strong>：
<ul class="wp-block-list">
<li>実行速度が遅い（特にループ処理）</li>



<li>GIL（Global Interpreter Lock）の制約でマルチスレッドに難あり</li>



<li>型安全性が弱い（最近は型ヒントで改善中）</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h5 class="wp-block-heading">◆ 比較チャート：何に向いている？</h5>



<figure class="wp-block-table"><div class="scrollable-table"><table class="has-fixed-layout"><thead><tr><th>言語</th><th>ハード制御</th><th>ゲーム/高性能</th><th>Webアプリ</th><th>AI/データ分析</th><th>組み込み</th><th>学習難易度</th></tr></thead><tbody><tr><td>C</td><td>◎</td><td>△</td><td>×</td><td>×</td><td>◎</td><td>★★★★☆</td></tr><tr><td>C++</td><td>◎</td><td>◎</td><td>△</td><td>○</td><td>○</td><td>★★★★★</td></tr><tr><td>Java</td><td>△</td><td>○</td><td>◎</td><td>△</td><td>×</td><td>★★★☆☆</td></tr><tr><td>C#</td><td>△</td><td>◎ (Unity)</td><td>◎ (ASP.NET)</td><td>△</td><td>×</td><td>★★★☆☆</td></tr><tr><td>Python</td><td>×</td><td>△</td><td>◎ (Django)</td><td>◎</td><td>×</td><td>★★☆☆☆</td></tr></tbody></table></div></figure>



<p class="wp-block-paragraph">　荒っぽい比較かもしれませんが、こういった長所・短所が出てくるわけですよね。<br>構文を学んでいる時点では見えなかった違いも見えてくると思います。もし今後新しい言語を学ぶことがあればこういった比較をしてみると自分の目的に合った言語を選定できると思います。</p>



<h3 class="wp-block-heading"><span id="toc4">あとがき</span></h3>



<p class="wp-block-paragraph">　さてここまで読んでいただいたと思いますが、ぶっちゃけ見づらい構成でしたよね・・・？<br>書いている途中でどうにもならないなぁと自分の文章構成力の無さに嘆いてました・・・（少し前の記事も見直してると悶々とすることが・・・）。本当にすみません。伝えたいことはあるけど、伝える能力は発展途上なのです。<br>　それはさておき個人的に最強の構成だと思っているのが「C++」+「Python」の組み合わせです。<br>C++の自由度と速度、自身で組めないプログラムをPythonのライブラリで補って実行する。これを使いこなせれば私のやりたいことは大体完結するんじゃないかなと思っています。<br>これを極められるように今後も精進していきたいと思います。<br>それではまた次回お会いできる時まで。ありがとうございました。</p>


<ol class="wp-block-footnotes"><li id="76dffedc-89da-4f80-8064-a8e433220a45">C/C++という表記があるぐらいには密接な関係 <a href="#76dffedc-89da-4f80-8064-a8e433220a45-link" aria-label="脚注参照1にジャンプ">↩︎</a></li><li id="277d6016-7d73-45b8-87ab-18135d41bf49">C#はＣ＋＋の発展形としてＣ++++となり、プラス記号4つを一つにまとめて＃になったわけですね。 <a href="#277d6016-7d73-45b8-87ab-18135d41bf49-link" aria-label="脚注参照2にジャンプ">↩︎</a></li><li id="b9940397-0f9e-41c7-adea-ece512dbd002">ここで言う安全性はメモリリークやバッファオーバーフローなどプログラムの実行に支障をきたす動作を引き起こす可能性のこと <a href="#b9940397-0f9e-41c7-adea-ece512dbd002-link" aria-label="脚注参照3にジャンプ">↩︎</a></li><li id="eaeca882-ce5f-4566-99f3-1f35cbda187f">プログラミング言語において低レベルとはより機械の言語（マシン語）に近いかどうかといったことです。人であれば文字によって理解しますが、機械が理解するのは0・1の羅列です。<br>この0・1へのアクセス可否や書いたプログラムをどれほどの処理を挟んで機械語に変換するかによって高レベル・低レベルを判断しています。（ごめんなさい、明確な基準ってあるんですかね・・・おおよそこうじゃない？といった感覚で私も見ています。） <a href="#eaeca882-ce5f-4566-99f3-1f35cbda187f-link" aria-label="脚注参照4にジャンプ">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【備忘録】ブログの年齢確認表示のコードをGPTで出力</title>
		<link>https://gamekineki.com/post-468/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Mon, 28 Apr 2025 04:35:56 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[問題解決]]></category>
		<category><![CDATA[ChatGPT+]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[備忘録]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=468</guid>

					<description><![CDATA[　皆様、ご機嫌いかがでしょうか。お久しぶりです。現在ちょっぴり人生の先行きが見えなくて気力を失っているキネキです。今回はブログのR18記事（私のエロゲ記事）の年齢確認の導入について。当ブログでは時たまR18ゲーの記事が上 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　皆様、ご機嫌いかがでしょうか。<br>お久しぶりです。現在ちょっぴり人生の先行きが見えなくて気力を失っているキネキです。<br>今回はブログのR18記事（私のエロゲ記事）の年齢確認の導入について。<br>当ブログでは時たまR18ゲーの記事が上げられているのを、ご覧になっている方もいらっしゃると思うのですが、恥ずかしながら今まで年齢確認がありませんでした。<br>それによって積極的にR18記事を作成して上げることに心理的な抵抗があったわけですが、今回いろいろ試行錯誤してついに導入したので、その経緯を後の自分のためにも記したいと思います。<br>（願わくば誰かのやくにたてばいいなとおもいつつ・・・。）</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">年齢確認導入の経緯</a><ol><li><a href="#toc2" tabindex="0">なぜ今まで導入していなかったのか？</a></li><li><a href="#toc3" tabindex="0">じゃあ自分で作るしかないのでは？</a></li><li><a href="#toc4" tabindex="0">あとがき</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">年齢確認導入の経緯</span></h2>



<h3 class="wp-block-heading"><span id="toc2">なぜ今まで導入していなかったのか？</span></h3>



<p class="wp-block-paragraph">　まずは”今までなぜ導入をしていなかったのか？”から始めていきますね。<br>R18記事を書き始めた当初からプラグインでの解決を模索していました。<br>しかしながら、この手のプラグインのほとんどが</p>



<ul class="wp-block-list">
<li>海外製</li>



<li>その上設定できる（する）項目が多かった</li>



<li>自分の英語力がない</li>
</ul>



<p class="wp-block-paragraph">であり、それらの理由で少し壁が高かったのです。</p>



<p class="wp-block-paragraph">　そこで一度サブドメイン、もしくはサブディレクトリ化による別サイト化という解決策も出ました。しかしながらこちらは</p>



<ul class="wp-block-list">
<li>再度ワードプレスのインストールが必要＝再度初期設定が必要</li>



<li>一つのワードプレスでの記事管理が初心者には難しい</li>



<li>サブドメイン使用の際には、二つ目のドメイン取得が必要</li>
</ul>



<p class="wp-block-paragraph">などの理由でこちらも没に・・・。</p>



<h3 class="wp-block-heading"><span id="toc3">じゃあ自分で作るしかないのでは？</span></h3>



<p class="wp-block-paragraph">　というわけで解決策は自分でスクリプトを書くという選択肢しかないわけで、ChatGPTに頼んでPHP,JavaScript,CSSのファイルを書いてもらいました。（この時点で自分で書いてないじゃないかーいというツッコミは置いておいてください・・・ｍ（＿　＿）ｍ。）<br>まあちょこちょこその辺りのプログラミング言語についてはかじっていたので、フィックスできると踏んだうえでの判断でした。（JavaScriptとかは特に基礎文法はC++と似たり寄ったりですからね。）</p>



<p class="wp-block-paragraph">　詳しい実装要件としては</p>



<ul class="wp-block-list">
<li>投稿記事のタグに”R18”（スラッグとしては”r18”）が存在していたら年齢確認画面を表示させる</li>



<li>”はい”を選択した場合は、キャッシュに認証情報を記録してしばらくの間、認証画面を表示しないようにする処理</li>



<li>”いいえ”を選択した場合はサイトのトップページに戻る処理</li>



<li>描画部分に関しては全体をフラットに、背景にブラー（ぼかし）をかけるように。</li>
</ul>



<p class="wp-block-paragraph">といった感じですね。<br>それでは実装手順を見ていきましょう。</p>



<p class="wp-block-paragraph">　まず、自身のサーバーのファイルマネージャにて自身が使っているテーマ（子テーマの場合はそちら）のフォルダ内に以下のフォルダ・ファイルを作ります。</p>



<ul class="wp-block-list">
<li>functions.php(既存の場合は作らなくてOK！)</li>



<li>js(フォルダ)<br>->age-verification.js(”->”は先のフォルダの中にという意味)</li>



<li>css(フォルダ)<br>->age-verification.css</li>
</ul>



<p class="wp-block-paragraph">そして各ファイルの実装の中身です。（既存のコードはそのままで）</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP" data-show-lang="1"><code>// フロントエンドに年齢確認用のスクリプトを追加（タグにR18が含まれていたら年齢確認のダイアログを表示）
function add_age_verification_script() {
    if (is_single()) { // 投稿ページだけ
        $post_tags = get_the_tags();
        if ($post_tags) {
            foreach ($post_tags as $tag) {
                if ($tag-&gt;slug === &#39;r18&#39;) { // タグのスラッグが &#39;r18&#39; なら
                    wp_enqueue_script(&#39;age-verification-script&#39;, get_stylesheet_directory_uri() . &#39;/js/age-verification.js&#39;, array(&#39;jquery&#39;), &#39;1.0&#39;, true);
                    wp_enqueue_style(&#39;age-verification-style&#39;, get_stylesheet_directory_uri() . &#39;/css/age-verification.css&#39;);
                    break; // 見つかったらループ終了
                }
            }
        }
    }
}
add_action(&#39;wp_enqueue_scripts&#39;, &#39;add_age_verification_script&#39;);</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-file="age-verification.js" data-lang="JavaScript" data-show-lang="1"><code>// 年齢確認用JavaScript
jQuery(document).ready(function($) {
    // Cookieを読む関数
    function getCookie(name) {
        const value = &quot;; &quot; + document.cookie;
        const parts = value.split(&quot;; &quot; + name + &quot;=&quot;);
        if (parts.length === 2) return parts.pop().split(&quot;;&quot;).shift();
    }

    // Cookieに書く関数
    function setCookie(name, value, days) {
        const expires = new Date();
        expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
        document.cookie = name + &quot;=&quot; + value + &quot;;expires=&quot; + expires.toUTCString() + &quot;;path=/&quot;;
    }

    // すでに認証済みならスキップ
    if (getCookie(&#39;age_verified&#39;) === &#39;yes&#39;) {
        console.log(&#39;すでに年齢認証済みなのでモーダル表示スキップ&#39;);
        return;
    }

    // モーダル作成
    var modalHtml = `
        &lt;div id=&quot;age-verification-overlay&quot;&gt;
            &lt;div id=&quot;age-verification-modal&quot;&gt;
                &lt;h2&gt;18歳以上ですか？&lt;/h2&gt;
                &lt;div class=&quot;age-verification-buttons&quot;&gt;
                    &lt;button id=&quot;age-yes&quot;&gt;はい&lt;/button&gt;
                    &lt;button id=&quot;age-no&quot;&gt;いいえ&lt;/button&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    `;
    $(&#39;body&#39;).append(modalHtml);
    console.log(&#39;年齢確認モーダルを追加しました&#39;);

    // ボタン動作
    $(&#39;#age-yes&#39;).on(&#39;click&#39;, function() {
        setCookie(&#39;age_verified&#39;, &#39;yes&#39;, 7); // 7日間有効なCookieを保存
        $(&#39;#age-verification-overlay&#39;).fadeOut();
        console.log(&#39;「はい」を選択＆Cookie保存&#39;);
    });

    $(&#39;#age-no&#39;).on(&#39;click&#39;, function() {
        console.log(&#39;「いいえ」を選択、ホームへリダイレクト&#39;);
        window.location.href = &#39;/&#39;; // サイトのホームに飛ばす
    });
});</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-file="age-verification.css" data-lang="CSS" data-show-lang="1"><code>#age-verification-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(5px); /* ←ココで背景をぼかす！ */
    background: rgba(0, 0, 0, 0.5); /* 背景は薄めの暗さ */
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: &#39;Helvetica Neue&#39;, &#39;Arial&#39;, sans-serif;
}

#age-verification-modal {
    background: #ffffff; /* 真っ白ベース */
    padding: 40px 30px;
    border-radius: 10px;
    text-align: center;
    color: #333; /* 文字はダークグレーで上品に */
    box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.2); /* ふわっとした影 */
    max-width: 400px;
    width: 90%;
    transition: all 0.3s ease;
}

#age-verification-modal h2 {
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: 600;
}

.age-verification-buttons {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.age-verification-buttons button {
    padding: 12px 24px;
    font-size: 16px;
    border: 2px solid #333;
    border-radius: 6px;
    background: transparent;
    color: #333;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#age-yes:hover {
    background-color: #4CAF50; /* 緑色でGO感 */
    border-color: #4CAF50;
    color: #fff;
}

#age-no:hover {
    background-color: #f44336; /* 赤色でSTOP感 */
    border-color: #f44336;
    color: #fff;
}</code></pre></div>



<p class="wp-block-paragraph">といった感じですね。<br>コピペして使ってもらっても構いませんし用途によって細かく変えてもらっても大丈夫です。（免責事項に同意したうえでご使用ください&lt;m(__)m>。）</p>



<p class="wp-block-paragraph">　それらによってできた画面がこちらになります。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="800" height="421" src="https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73-800x421.jpg" alt="" class="wp-image-473" srcset="https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73-800x421.jpg 800w, https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73-500x263.jpg 500w, https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73-300x158.jpg 300w, https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73-768x404.jpg 768w, https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73-1536x808.jpg 1536w, https://gamekineki.com/wp-content/uploads/2025/04/7b1c14ea7710191221ba353f13d88a73.jpg 1693w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph">今後サイトに装飾が増えてきて雰囲気に合わなくなったら再度デザインは変更すると思いますが、<br>シンプルなデザインで個人的には満足です！</p>



<h3 class="wp-block-heading"><span id="toc4">あとがき</span></h3>



<p class="wp-block-paragraph">　ここまで見ていただいてありがとうございます！<br>やりたいことが最近ありすぎるのですが、お金がないのがネック・・・。<br>ゲームに関する記事でエンタメ精神にあふれた記事をお届けしたいところですが、次回も備忘録的なものになると思います。（おそらくaviutlを使用したボイロ実況動画作成環境についてです。）<br>つまりは・・・？</p>



<p class="wp-block-paragraph">とはいえ腰（どころかなにもかも）が重いので実際にそこまで行くのに半年以上かかると思います・・・。ブログでしか表せないこともありますが、やっぱり動画の方が直感的ですからね！</p>



<p class="wp-block-paragraph">最後に実際のページを紹介して終わりにしたいと思います。<br>記事の内容自体はグロめなので見なくても大丈夫です！（見てほしいけどね・・・。）<br>それでは次回もお待ちしております（　・∀・）ﾉｼ。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-reference">

<a target="_blank" href="https://gamekineki.com/post-332/" title="【R18G】本当のバケモノは誰？「駄作～ヌイアワセ～」" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://gamekineki.com/wp-content/uploads/2024/09/ggs_1026pl-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://gamekineki.com/wp-content/uploads/2024/09/ggs_1026pl-160x90.jpg 160w, https://gamekineki.com/wp-content/uploads/2024/09/ggs_1026pl-120x68.jpg 120w, https://gamekineki.com/wp-content/uploads/2024/09/ggs_1026pl-320x180.jpg 320w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【R18G】本当のバケモノは誰？「駄作～ヌイアワセ～」</div><div class="blogcard-snippet internal-blogcard-snippet">暑い日も終わりに近づいていますが、秋が感じられそうにない感じで過ぎ去っていきそうですね・・・。そんなわけで今回は「駄作～ヌイアワセ～」について。自分が始めてプレイしたグロゲーです。（自分の趣味的に）紹介したいけど、（いろいろな意味で）普通は...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://gamekineki.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">gamekineki.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2024.11.02</div></div></div></div></a>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【C++】ゲームをコードで書くフレームワーク・ライブラリ三選</title>
		<link>https://gamekineki.com/post-424/</link>
		
		<dc:creator><![CDATA[キネキ]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 03:56:06 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[初心者向け]]></category>
		<category><![CDATA[DXライブラリ]]></category>
		<category><![CDATA[Siv3D]]></category>
		<category><![CDATA[SDL]]></category>
		<guid isPermaLink="false">https://gamekineki.com/?p=424</guid>

					<description><![CDATA[　皆様、お疲れ様です。今回はゲームプログラミング初心者向けの記事になります。題してゲームを（ほぼ）コードだけで成立させられるフレームワーク・ライブラリについてです。基本的にはゲーム開発初心者がコードで作る最初のゲームの範 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　皆様、お疲れ様です。<br>今回はゲームプログラミング初心者向けの記事になります。<br>題してゲームを（ほぼ）コードだけで成立させられるフレームワーク・ライブラリについてです。<br>基本的にはゲーム開発初心者がコードで作る最初のゲームの範囲として2Ｄまでがひとまずの目安であることを想定しています。そのため、2Ｄゲームをつくるのに十分であり日本語の解説が比較的充実していて、かつ後に3Ｄまで踏み込んだ時にそれを使い続けることもできるということを条件にして今回選ばせていただきました。<br><br>また前提としてVisualStudioで使うことを前提に書いていることをご了承ください。</p>



<p class="wp-block-paragraph">　昨今はUnrealEngineやUnityなどのゲームエンジンで比較的学習コストを低くして、ゲーム制作に取り組むことが出来て個人開発者にとっても非常にいい環境が整いつつあります。しかしながら各エンジン備え付けのコンポーネントなどの処理だけでは自分のやりたいことを実現できない・・・、なんてことも起こりえます。ゲーム開発の基礎（どのようなことが書かれているのか・どのような順序で処理されているのか等）を学ぶためにも一度コードに触れることは絶対損にはなりません！！<br>なのでよりフレキシブルに開発できるように、コードを書くことに馴染みを覚えてほしいなあと思い今回の記事を書きました。<sup data-fn="67cf400a-be0d-462b-83da-09256e73d90f" class="fn"><a href="#67cf400a-be0d-462b-83da-09256e73d90f" id="67cf400a-be0d-462b-83da-09256e73d90f-link">1</a></sup></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">各フレームワーク・ライブラリの紹介</a><ol><li><a href="#toc2" tabindex="0">そもそもフレームワーク・ライブラリって何ぞ？違いって？</a></li><li><a href="#toc3" tabindex="0">DXライブラリ</a></li><li><a href="#toc4" tabindex="0">Siv3D</a></li><li><a href="#toc5" tabindex="0">SDL</a></li><li><a href="#toc6" tabindex="0">最後に</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">各フレームワーク・ライブラリの紹介</span></h2>



<h3 class="wp-block-heading"><span id="toc2">そもそもフレームワーク・ライブラリって何ぞ？違いって？</span></h3>



<p class="wp-block-paragraph">　とまあ送り出したのですが、恐らくですが早速引っかかると思います。聞いたことはあるけど詳しい違いや内容が分からないですよね。本題とずれてしまうのでネットの海を調べていただくか下記の記事を参照して下さい。</p>


<a rel="noopener" target="_blank" href="https://zenn.dev/nameless_sn/articles/framework_and_library" title="【解説】フレームワークとライブラリの違い" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://gamekineki.com/wp-content/uploads/cocoon-resources/blog-card-cache/fcb377fe4ba8d0213053e7f083f5568c.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【解説】フレームワークとライブラリの違い</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://zenn.dev/nameless_sn/articles/framework_and_library" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">zenn.dev</div></div></div></div></a>


<p class="wp-block-paragraph">　簡単に言いますと<br>・フレームワーク：プログラムの基礎の構成が既にあり、それ単体でも実行できる。この上に自身の書いたプログラムを載せて拡張するといったイメージ。<br>・ライブラリ：便利な関数（プログラム）の集まり。上記と比べて自身の書いたプログラムに必要に応じて取り入れるといった感覚をイメージしてもらえるといいと思います。<br>と頭の片隅においてもらえたらと思います。</p>



<h3 class="wp-block-heading"><span id="toc3">DXライブラリ</span></h3>



<p class="wp-block-paragraph">ホームページ<br><a rel="noopener" target="_blank" href="https://dxlib.xsrv.jp/">https://dxlib.xsrv.jp/</a>（”ダウンロードはこちら”のところから自分の環境に合わせてダウンロード）<br>リファレンス<br><a rel="noopener" target="_blank" href="https://dxlib.xsrv.jp/dxfunc.html#R1N1">https://dxlib.xsrv.jp/dxfunc.html#R1N1</a></p>



<p class="is-style-bottom-margin-0em has-bottom-margin wp-block-paragraph"><strong>・特徴</strong><br>導入の方法が今回紹介する中で最も容易。<br>ー方法に関しては今回は説明しないので、他のサイトを参照してもらえればと。<br>関数ごとに用例やどういった処理をしているかの解説がリファレンスに乗っているので、初心者でも扱いやすいと思われる。<br>基本的には現在掲載しているリファレンスのページの関数のみでゲームの制作を行うことが出来る。<br>ー3D関係やLive2Dにも対応しており別ページに存在するが、それらは無理に使わずともよい（使ってもよい）。<br>・<strong>留意点</strong><br>初期化と終了処理が必須となる。<br>ーゲーム系のライブラリにはつきものだが、それぞれ一行で終わる為、容易。<br>リファレンスには掲載されていない隠し関数が存在する。<br>ー参照する際は実際のソースコードで。<br><br>以下に基本となるゲームループのコード</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-file="WinMain.cpp" data-lang="C++"><code>#include &quot;DXLib.h&quot;

//
// WinMain(). プログラム起動関数
//
int WINAPI WinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	LPSTR lpCmdLine,
	int nCmdShow
) {

    // ＤＸライブラリ初期化処理:DXライブラリの関数
    if( DxLib_Init() == -1 )
    {
         return -1;        // エラーが起きたら直ちに終了
    }

    Initialize(); // ゲーム全体の初期化処理

	// 1フレームループを組む ----------------------------------------------------------
	while (ProcessMessage() == 0)		// プログラムが終了するまでループ:DXライブラリの関数
	{
		Input(); // キーボードやパッドの入力処理
		Process(); // ゲームの計算処理（キャラがどれぐらい動いたなど）

		ClearDrawScreen();		// 画面を初期化する:DXライブラリの関数
		Render(); // 画面にキャラクターを描画
		ScreenFlip();			// 裏画面の内容を表画面に反映させる:DXライブラリの関数
	}

    // ＤＸライブラリ使用の終了処理:DXライブラリの関数
    DxLib_End() ;

	return 0;
}</code></pre></div>



<h3 class="wp-block-heading"><span id="toc4">Siv3D</span></h3>



<p class="wp-block-paragraph">ホームページ兼リファレンス<br><a rel="noopener" target="_blank" href="https://siv3d.github.io/ja-jp/">https://siv3d.github.io/ja-jp/</a></p>



<p class="is-style-bottom-margin-0em has-bottom-margin wp-block-paragraph">・<strong>特徴</strong><br>よく使われる図形構造体（Rectなど）や標準ライブラリ（STL）のラッパークラスが存在し、それらを活用しやすいように整えられているフレームワーク。<br>導入した時点で初期化や終了処理を必要とせず、ファイルがインクルードされていれば各種クラス・関数を利用することが出来る。<br>現在でも開発者がSiv3Dに関する講演等を行っており、体験会なども開催されているので最寄りで開催されていた場合、参加するという手段もとれる。<br>・<strong>留意点</strong><br>既に自身で作ったプロジェクトが存在している場合、新たにSiv3Dテンプレートのプロジェクトを作り直して移植する必要がある？（自分は中途で導入するのを断念して作り直しました・・・。）<br>汎用的な命名が多いため、自身で作った関数等と命名がかぶることが往々にして発生する。<br>ーその場合はSiv3D側のネームスペース（s3d::○○）を明確に記述することで解決できる。<br>ラッパークラスも多いので本来の標準ライブラリに触れるところまでコードの内容を確かめて理解してみてほしい。<br>ー他のライブラリでは基本的にここまでラッパークラスが整備・活用されていることは多くないので、標準ライブラリを扱えるようにした方がいい気がする・・・。<br>リファレンスもまだ記述されていない項目が存在するので内部のコードをみて開発することも必要。<br><br>以下に基本となるゲームループのコード（公式サイトの例）</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-file="main.cpp" data-lang="C++" data-show-lang="1"><code># include &lt;Siv3D.hpp&gt;

void Main()
{
	// 背景色を水色に設定する
	Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });

	// 絵文字からテクスチャを作成する
	const Texture texture{ U&quot;&#x1f425;&quot;_emoji };

	// テクスチャを描く位置
	Vec2 pos{ 400, 300 };

	// メインループ
	while (System::Update())
	{
		// もし左クリックされたら
		if (MouseL.down())
		{
			// 描く位置を現時点でのマウスカーソルの位置に変更する
			pos = Cursor::Pos();
		}

		// テクスチャを描く
		texture.drawAt(pos);
　　　　
	}
}</code></pre></div>



<h3 class="wp-block-heading"><span id="toc5">SDL</span></h3>



<p class="wp-block-paragraph">ダウンロードページ（GitHub）<br><a rel="noopener" target="_blank" href="https://github.com/libsdl-org/SDL">https://github.com/libsdl-org/SDL</a><br>日本語リファレンス<br><a rel="noopener" target="_blank" href="https://maruhiro-ver0.github.io/sdl2manual-ja/">https://maruhiro-ver0.github.io/sdl2manual-ja/</a></p>



<p class="is-style-bottom-margin-0em has-bottom-margin wp-block-paragraph">・<strong>特徴</strong><br>クロスプラットフォームライブラリ<br>ー違うプラットフォーム（OS）でも動作する<br>海外で作成されたライブラリのため、ゲームの開発実績も相応に多い<br>ーそのため英語版のリファレンスが日本語より充実していると思われる<br>参考書籍も存在するのでその本に沿って学習すると吸収しやすいかも？<br>ー本項目の最後にAmazonのリンクを掲載<br>・<strong>留意点</strong><br>DXライブラリと同様に初期化と終了処理が必要となる<br>リファレンスの項目分けは初心者にとっては少し見づらいかもしれないです。<br>ー必要としている関数がどこにあるかわかりにくい<br><br>以下に基本となるゲームループのコード</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-file="main.cpp" data-lang="C++" data-show-lang="1"><code>void main()
{
 SDL_Window* gWindow; // ゲームのウィンドウ 
 bool gIsRunning = true; // ゲームを起動し続けてよいか

/////必須の初期化作業（初期化内容は必要に応じて）//
 if(SDL_Init(SDL_INIT_VIDEO) != 0){
   gIsRunning = false;
 }

 gWindow = SDL_CreateWindow(
  &quot;Game_test&quot;,　// ウィンドウのタイトル
  0,            // ウィンドウ左上隅のx座標
  0,            // ウィンドウ左上隅のy座標
  1920,         // ウィンドウの幅（Width）
  1080,         // ウィンドウの高さ（height）
  0             // フラグ（設定しない時は0） 
 );

 if(!gWindow){// もしウィンドウが作成されなかったら
   gIsRunning = false; 
 }
//////////////////////////////////////////////

 while(gIsRunning){
 // これまでと同様の入力、処理、描画のゲームループ 
   Input();
   Process();
   Render();
 }

/////必須の終了処理/////////////////////////////
 SDL_DestroyWindow(gWindow);
 SDL_Quit();
//////////////////////////////////////////////
}</code></pre></div>



<p class="is-style-bottom-margin-0em has-bottom-margin wp-block-paragraph">参考書籍</p>



<figure class="wp-block-embed is-type-rich is-provider-amazon wp-block-embed-amazon"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="ゲームプログラミングC++" type="text/html" width="1256" height="550" frameborder="0" allowfullscreen style="max-width:100%" src="https://read.amazon.com.au/kp/card?preview=inline&#038;linkCode=kpd&#038;ref_=k4w_oembed_keQcJIcYE1j1mM&#038;asin=4798157619&#038;tag=kpembed-20"></iframe>
</div></figure>



<h3 class="wp-block-heading"><span id="toc6">最後に</span></h3>



<p class="wp-block-paragraph">　ここまで紹介してきましたが、上記のいずれかを”<strong>絶対にマスターしろというわけではない</strong>”ということは言っておきますね。最初にも言いましたが、昨今は便利なゲームエンジンの台頭もあり、そちらの方が慣れれば開発効率は上だと思います。ただ内側を知っているか、自分で書けるか、で作れるものの幅は大きく変わると思います。上記を使ってゲームをつくる中で色々調べることが多くあると思います。それらを調べて自分の内に貯めていくことで、つくるゲームの世界がより広がるんじゃないかなと思います。<br>これを使った方がいいというゲームの作り方の定石はあるかもしれませんが、どの道具・方法を使えというのは決まっていません。上記でも十分、ゲームの発想とコードを書く力次第で面白いゲームは作れますので、めげずに頑張りましょう！（僕も頑張ります・・・。面白いゲームつくったら共有してね・・・。）</p>



<p class="wp-block-paragraph">最後に今回の話題とは無関係ですが、推しの作家さんの本を載せておきますね。（キャラの造形とか作者さんが書くキャラが好き・・・。）</p>



<p class="has-text-align-center wp-block-paragraph"><a rel="sponsored noopener" target="_blank" href="https://dlaf.jp/comic/dlaf/=/t/i/link/work/aid/kineki01/id/BJ183060.html"><img decoding="async" itemprop="image" src="//img.dlsite.jp/modpub/images2/work/books/BJ184000/BJ183060_img_main.jpg" alt="" border="0" class="target_type" /></a></p>


<ol class="wp-block-footnotes"><li id="67cf400a-be0d-462b-83da-09256e73d90f">初心者向けだったら、導入方法とかもっと懇切丁寧に解説したほうが良いよなぁと思いつつ・・・わからないところがあったらSNSなどでここ分からなかったを言ってください。頑張れれば答えたり記事にします・・・ごめんなさい <a href="#67cf400a-be0d-462b-83da-09256e73d90f-link" aria-label="脚注参照1にジャンプ">↩︎</a></li></ol>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
