fc2ブログ

■2023年7月30日

今週は、5日在宅勤務だった。

仕事は、先週やった緊急のお手伝いが今週もということで1日その作業をした以外は、通常の作業も多少は発生したけどまったり時間をそこそことれた。

まぁ、夏季休暇直前ということで、そんなにやる気が出なかったのでちょうど良かったかなw


フリートークは、「プログラミング」について。

このブログを読んでくださっている方は、ここ最近Unityでシューティングゲームを作ろうとしているのは知っていると思うけど、「Unity」以外で有名なゲームエンジンに「Unreal Engine」というのがある。

Unity」はモバイル系に採用されているのが多く、「Unreal Engine」は3D表現がリアルなため大作ゲームに採用されることが多い。

ちょっと調べてみたんだけど、「Unreal Engine」も「Unity」同様に無料で使用することが可能だったりする。

自分の場合は、「Unreal Engine」はリアルな3Dのゲームを製作する物というイメージが強く(実際そうなんだけどw)、作りたいのは2DのゲームだったのとC#でスクリプトを書けるということで「Unity」を触ってみようとなった。

Unity」は何だかんだで、C#のスクリプトを書くことを要求されるのだけど、最新の「Unreal Engine5」だと、コードを書かずにできる「ブループリント」という機能がある(この記事を書くために調べてたら「Unity」でも「Visual Scripting」(旧「Bolt」という名称で有償の外部企業製だったのを買収して無償化したらしい)というコード記述が不要で開発できる機能があるみたい)。

どちらも、ちょっと見ただけなのでどこまで使えるかはわからないけど、どちらもSwitchで発売された「ナビつき! つくってわかる はじめてゲームプログラミング」みたいな感じ(Switchのソフトが真似ているのだと思うけど)。

何かプログラミング方法も進化してるな~と思う。

プログラミング言語の歴史を誕生した順に徹底解説(DMM WEBCAMP)」によると、最初は、機械語(命令などすべてを2進数で記述)で直接命令して、その後はアセンブリ言語(レジスタ操作を言語で書けるようになった)になって、その後命令などがわかりやすくなった手続き型言語(FORTRAN)が開発され、C言語が出てきて、更にオブジェクト指向(クラス等)になって、C++、JAVA等現在主流になっている言語が続々出てきた。

で、最近はノーコード(スクリプトを書かない)で多様なプログラミングができる様になってきた(ノーコードっぽいのであれば「RPGツクール」とかがかなり前からあるけど、作れるものがかなり限定されていると思う)。

プログラミング言語自体も、OSを壊さないようにメモリ管理をしっかりしたものや、OSの機能を直接さわれないようになってきているので、アプリケーションを開発する方面では、ノーコードでのアプリケーション作成は主流になっていくのかもしれない(ビジネスアプリも「yappli」とかでてるし)。

ただ、ある程度制作できるジャンルを絞らないと完全ノーコードで作成するのは難しそうなので、スクリプト言語と併用するスタイルがしばらくは続くと思う。

自分の友人にはすごいプラグラミングができる人がいて、自分にそんなに才能がないのは自覚しているんだけど、一時期仕事でプログラム開発したり、現在もネットで検索しながら作りたいものを作れているというのは、インターネットの進歩のおかげだな~


ということで、週末の記録。

土曜日は、10時過ぎに起きた。

来週の夏季休暇で旅行に行って、基本食事は外食になるのと、外は暑いので昼食は家にあるもので済まして出かけずに過ごした。

午後から夜はダラダラゲームをしたりして過ごし、深夜はUnityでシューティングゲーム作成のプログラミング作業をしていた。

先週やりたかったマップデータを読み込んで表示させる機能や、自機がやられた後の復活処理などの機能を追加していた。

マップデータの読み込みは、「Tiled Map Editor」というフリーのツールで生成したデータを読み込めるようにした。

Unityでは外部で開発されたフリーの「SuperTiled2Unity」という物を使えば簡単にタイルマップに変換できるのだけど、スクロールするシューティングゲームなので、順次描画して画面外に出た部分は順次削除するようにしたいと思ったので、読み込んで表示する部分を自分で作ることにした。

ツールで出力されるファイルはXML形式なので、C#標準のXMLのライブラリを使用してデータを取得して、描画する部分を作った。

マップを順次削除する部分はうまくいったけど、順次描画は直前に1マス分スクロールしたらその場所に描画という処理にしたら、処理のタイミングの関係でたまに隙間ができてしまってうまくいかなかった。

最終的にマップ自体がそんなに大きくならないだろうから問題ないだろうとなって諦めて、最初にマップ全体を描いて、画面外に出た部分は順次削除していくようにした。

自機の復活処理は、ゲームが中断すること無く画面外から復帰してくるようにしたので、画面外から移動してくる際に操作不能にしたり、無敵状態を作ったりする処理を追加した。

その時に問題になったのが、スターフォース(スターソルジャーも)みたいに横移動すると、画面が少しスクロールする仕様にしたせいで、復活する際のX軸(横の位置)を固定にすると、横スクロールのリセットをしなくてはいけなく(そのままにすると描画範囲内に移動できてしまう)て、リセットの処理を追加したけど、スムーズじゃないので、とりあえず横位置はやられた場所から復活するようにした。

こんな感じで、着々と進行している。

DTM作業する時間をUnityの作業の時間にしているからDTMの時間が取れないけど、今はUnityが楽しいからいいかな。

本当にDTMをしたくなったら、金曜日の深夜はDTM、土曜日の深夜はUnityとかになるかも。


今日も、10時すぎに起きた。

やはり、来週旅行に行って外食三昧になるので、昼食は家にあるもので済ませたけど、旅行で必要なものを買うためにマツキヨには行ってきた。

その後は、ドラクエXの日曜日にやることをやったりしたいた。


来週は、夏季休暇で仕事はお休み。

旅行に行くのだけど、この暑さの中、日中外を歩き回るのは大丈夫かな~と思っているので、そんなに予定は詰めてないけど大丈夫かな。

なんとかやり過ごしたい。
スポンサーサイト



タグ : 日記

■コメント

■コメントの投稿

管理者にだけ表示を許可する

 

カレンダー

03 ≪│2024/04│≫ 05
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -

プロフィール

ひ~た

Author:ひ~た
しがないサラリーマン
趣味でDTMとかやっています
詳しいことはwww.hi-ta.com
Twitterのつぶやきはこちらhttps://twitter.com/Hi_Ta

カウンター

検索フォーム

Twitter

RSSリンクの表示

最新記事のRSS