はてなキーワード: SDLとは
自分は不勉強なのでよく知らんのだけど、参考にしてるソースの中の1つの作者がWayland対応はやめてたなあ…
男は黙ってQtを使え、
なんだろうけど、なんかQtもなあ…、嫌なんだよなあ…、
と思いつつ、GLFWとかSDLで抽象化するのも困るみたいでX11書き始めたらハマった…
でも、GitHub漁ってると一人でX11だろうがGDI+だろうが、サクサク全対応書く人はいるんだなあ
もうWinMainだの忘れたよ…、はー
そういえば、ペゾルド本がWin32の鈍器みたいな本だった時代があったけど、
あれは良い本だけど、正直、第一章で疲れて読む気が失せたんだよなあ
ウィンドウ一枚表示するのにこんなに書くの?数行で出ないの?みたいに思いながら読むのが苦痛だった
でも、未だにQtとか使わないと、そのへんの基本設計も含めて世の中解決していないことは多いのだよなあと思ったり
OpenGL 1の時代は非力だったけど、ちょっとしたものを書くのは分かりやすかった
GLUTで対処できた時代だったからでもあるけど、やれることは今よりショボくても分かりやすかった
でも、今は乱立するバージョンとかシェーディング言語のバージョンとか、色々ハマることが多くなった気がする
Windowsだけ、Linuxだけだとしても、あらゆるグラフィクス環境に対応しなければならない
もしくはできるだけ低いバージョンに抑えるとかなんだろうけど
まず、コンピュータゲームがほとんど巷に存在しない時代にPongが登場すれば、そりゃみんなゲームにワクワクしたはず
アメリカにアーケードゲーム筐体だってそのものがない時代なんだから
だからスティーブ・ウォズニアックだってApple IだのIIだのでPongの実装はやっていたはず
それもスティーブ・ジョブズは売りにしてたはずだ
Pongが動作すると、次はブロック崩し(Breakout)が作れる
プログラミングのコツの一つは他人のプログラムを改変することだ
Pongが動くなら、そこからドットやドットの塊をVRAMに描画することは可能だと気付くだろう
でも、単なる壁打ちや対戦ゲームだったPongのゲーム性を大きく変えることになる
日本のゲーム企業タイトーは、このブロック崩しをインベーダーゲームに「再々」発明した
これも実現可能であることは誰でも分かるが、ゲーム性を大きく変えることはある種の発明だと思う
ちなみに、孫正義はタイムマシン商法が得意で、このインベーダーゲームをアメリカに輸出し大儲けした
相変わらず、左から右、右から左に他人のものを移動して儲けるのが上手い(いや、本心から褒めてるんですよ
インベーダーゲームでは、ブロックは上から段々と降りてくることになる
また、ブロックが左右に動く、UFOは高速に動く、手前のバリケードがありドット単位で破壊される
プログラミングのコツの一つである、他人のコードを改造する、は本当に素晴らしい再発明を起こしてくれる
Pong → ブロック崩し → インベーダーゲーム → ギャラクシアン → ゼビウス → グラディウス → 斑鳩だの東方だの弾幕避けだの何だの
に繋がっていくわけだが、
この矢印での「パラダイムシフト」の段差が高いほど、ゲームに対するワクワク感が増すと自分は考える
つまり、ギャラクシアンのようなグラフィックからゼビウスが登場したときは、
安っぽい言葉で形容するなら一大センセーションというかエポックメイキングという感じだったわけだ
しかし、今の時代、2Dシューターにそんなにワクワクはあるだろうか?
というか、マニアでない奴が口を挟むな、と言うぐらいタコツボ化しているように思うのだが、
寧ろ、様式美とかお約束が守られてることがプレイヤーの安堵感につながる
2Dシューターができれば3Dシューターが作れるのも自明である
ただ、マシンのグラフィクスの能力が低かった時代にはリアルタイムでの3次元CGの実現が難しく、
アメリカではベクタースキャン、つまりオシロスコープやブラウン管テレビの走査線方式が主流だった時期もあったが、
アメリカではワイヤーフレームの3Dゲームが実現していた時代、日本はファミコンに向かっていた
自分にはハードウェアによるスプライトに固執し、束縛され過ぎているかのように今からすると思える
一方、ファミコンのスプライトの数はMSXと比べると段違いであったが、
ファミコンは2Dスプライトベースのゲームだけを前提としていた
つまり、ファミコンでブレゼンハムのアルゴリズムによる直線を引くとか困難だったのではないだろうか
自分はファミコンの開発はよく知らないのだが、ファミコン版のテグザーは酷すぎると思った
MSXの方がファミコンよりもトータルのグラフィック性能が劣るにも関わらず、
こうやってだらだら書き連ねてみると、
つくづくワクワクするのは何だってアーリーアダプターの段階であって、
そのあと結婚だって何だって倦怠期?ワクワクが減少する時期がやってくるのである
何もない状況にパラダイムシフトを起こす何かがやってくるとワクワクするのであるならば、
乳児はこの世界の何もかもにものすごくワクワクしていると思われる
乳児でなくなると、この世界の変化しないものは常識として脳に定着して、つまらないものにさえなる
でも、若ければまだまだ体験していないことはあるわけだ
若ければギャラクシアン → ゼビウスがどれだけスゴかったかなんて知らんし、俺も知らんw
でも、ギャラクシアンより先にゼビウス見た世代だけど、凄いなあとは思ったんだよな
だって、自分の場合はギャラクシアンを飛び越えてゼビウスだったんだから
逆にギャラクシアンの方を後から知って、古臭いゲームだなー、レトロだなーと思ったんだから
(ただ、ギャラクシアンの曲線的な軌道はゼビウスなんかより凄い発明に思うんだが。整数演算なんだよね?
ただ、レトロレトロとバカにする人はプログラマーでないとかなんだろうけど、
ゼロからコード書くって、何もないところから作ることを考えさせられるわけで、
それはゲームのプログラムを書くならば、ゲームの基本のPongから考えさせられることになる
例えば、ゲームプログラムを書くときSDLとかSFMLみたいなライブラリは使うかもしれないけど、
自分も何か新しいゲーム開発のライブラリとかフレームワークとか検証するときは、
から始めて、次に倉庫番、簡単なブロック崩し、テトリスを実装するとかやることにしている
そこで開発の大まかな進行とかフレームレートとか、色々分かってくるわけだ
ジョン・カーマックがどこで語ってたのか忘れたけど、最近のFPSは完全にMOD開発になっていて、
そのMOD開発の費用はどんどん膨らんでいっていると言ってた気がする
つまり、レベルエディットとかキャラクターだアイテムだとか、そういうコンテンツの緻密な開発だけが進んでいる気がする
GTAみたいなゲームもFPSとかで培った技術の集大成にすぎない
可視領域をどう区切るか?遠くの建物にLODを使うか?インポスターを使うか?とかそういったゲームエンジンの話は、
マシンパワーの向上やUnityなどのゲームエンジンの登場であまり議論する意味がなくなってきている感がある
もっとも、Unityなり導入すれば簡単に作れるという話ではないと思う
思うが、もうゼロからチマチマCのベクトル計算のコードを書く時代ではなくなっているのは確かだろう
カーマックはその高騰するMOD開発をマインクラフトは意図的に安価にしたと言ってた気がする
つまり、マインクラフトであれば子供でもゲームを改造する体験ができるようになる
それはマインクラフトの開発者であるnotchがそういうゲーム開発に対する思想を持っていたからだ
私はnotchはシンプルなものを積み上げるのが好きなように思っている
ただ、jsdo.itだかに投稿していたソフトウェアレンダリングのコードは北欧のメガデモっぽさがあって、
読もう読もうと思って未だに読んでいないことを今思い出した
文章書き直す気がないまま、だらだら書いてみたが、読み返して自己分析するに、
まず、ゲーム開発でなくてもそうだが、
まず何かがあって、それをコピー改造した何かが生まれる、この連続で物事は進化していく
手塚治虫があって、それを高橋留美子がコピー改造して新しい漫画が生まれ、
次に若い漫画は高橋留美子の漫画をコピー改造して、また新しいものが生まれていく
開発する側も消費者もワクワクするのは、この改造して新しい何かが生まれる、守破離の離のインパクトであろう
黎明期はその離のインパクトが大きいが、どんどんそのインパクトは小さくなっていく
そして、ありふれたものが溢れるようになっていく
これが成熟期と言える
しかし、その成熟期に溢れるものは様式美であり、お約束であり、マンネリズムである
あの時代は3DOが先行したがコケたり、ドリキャスも登場してコケたり、面白い時代だったのである
ただ、今の時代にああいう群雄割拠というか、戦国時代というか、そういう活気がゲーム業界にあるようには思えない
VR元年って毎年言ってない?というツッコミは分からんでもないが、まだまだVRは伸びると思う
物体を触れないなんてのはまだまだVR市場が伸びる余地があるということだと思っている
あと、FPSみたいに走るゲームだと自分も走るのか?ということになるけど、うーん、ルームランナー方式はなあ…
あと、これも自分は専門でも何でもないので、
というか、この文章自体がダニング=クルーガーなのは認めざるを得ないわけだけど、
敵というかNPCというか、今の時代だったら高度な汎用性のある人工知能をゲームでも実現するべきだと思うわけで、
そうすれば当然、同じセリフを延々と喋るドラクエの村人みたいなのは笑い話にしかならなくなる
ゲーム内に高度な人工知能が実現すれば、それらと会話したり、それらとマルチプレイと同様の感覚の連携プレイが可能になる
今までと同じことを繰り返しててもワクワクしないし、
※この記事はウィスキーストレートの影響により読みづらい部分があります。
クラスやインスタンスすら知らない人達がJavaエンジニアを名乗ったり、Hueのデモをしただけで IoT 特区に派遣されたり
色々不安はあったので、いつか転職しようとは思っていたが、これがまた微妙にぬるま湯な環境なので特に行動しなかった。
インフラ系なんで経営的には過去最高だったり(でも給料はかわらない)会社の存続を心配することは皆無だけども
特定派遣法も厳しくなったこともあり、エンジニアリングより営業や、データーセンターのベンダーコントロールを任されることが増えてきた。
中学の頃からVBをやっているくらいプログラミングが好きなので、
来年の30前に転職を経験しておこうと思って活動してみた・・・わけだが。
書 類 す ら と お ら ね え ^_^
とりあえず、”業務経歴として”開発できることを求められることがわかった。
ちなみに、自分のコーディングスキルは、学生の頃にSDL、末期にはXNAやcocos2dxでスマホゲーくらいなら作ったことがある。
Unityはまったくしらん。
Web系では vue.js+rails で社内(2000人程)向けの okweb的なものはつくったりもした。これは割と好評だった。
しかし、振り返れば、確かに「一般サービスの開発経験」は皆無だし、自分が業務でやってきたのは公共系の改修作業がメインで、
新卒であれば、業務経験は問われないので、そういう意味では新卒で入る会社を誤ってしまったようだ。
SDL叩くだけなのに何を言っとるんじゃ
ちょっと酔いぎみですが勘弁。
Windowsでしか動作しないのはあれだよね、DirectXだよね。元をただせばWindowsにOpenGLを実装してたWindowsNTチームの陰謀が原因か。そのせいでDirectX作る羽目になったんだし。遠まわしに陰謀が成功しているわけで、Linuxとかの人には悪いけど、DirectX互換APIみたいなのも実装しないと移植できないんだろうなあ。
MESAってOpenGLだっけ? よくわかんないけど、SDL移植とかのQuake4はLinuxで動いてる。えーっと、つまりつまり市販品ではあまり見ないけれど、「技術的な壁はない」が、移植が困難あるいは採算が取れないってことかー。
freeciv? こっちのほうで論破されてませんでしたっけ>http://www.yamdas.org/column/technique/gamej_ind.html。クローンゲームだとWindowsに対抗すらできてない気が。なんでオープンソースゲームの品質が悪いのかについてのなぞも関係してくるのでしょうか。オープンソースで進捗が悪いところのほうが品質が驚くほどいい気がします。
ぷらぐいんとかよくわかんないです。じゃばもわかんないです。
MacにAdobe製品があって、Windowsにも一応移植されているのに、Linux/Unixの人はほしがらないのでしょうか? それとも、そんな作業をする人がいない? そんなばかな。
xenの設定ファイルを/etc/xen/autoにシンボリックリンクする。
例
#ln -s /etc/xen/winxp /etc/xen/auto
ただし、設定が
vnc=0
sdl=1
だと起動しませんでした。
vnc=1
sdl=0
だときちんと起動しました。
実際に何をやっているのかは、
/etc/init.d/xendomains
/etc/sysconfig/xendomains
の中をを見てください。
今使っている設定です。参考までにどうぞ。
builder = "hvm"
memory = "1000"
disk = [ 'file:/images/winxp0.img,ioemu:hda,w','phy:/dev/sdb,hdc,w']
vif = [ 'type=ioemu, mac=00:16:3e:32:23:85, bridge=xenbr1', ]
uuid = "4e845bfa-ab42-9cbe-ff02-ff877a83ef25"
device_model = "/usr/lib/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1
apic=1
acpi=1
pae=0
sdl=0
vcpus=1
serial = "pty" # enable serial console
on_reboot = 'restart'
on_crash = 'restart'
boot='c'