`(kakko ,man)

Find a guide into tomorrow by taking lessons from the past

Lisp Game Programming 再履修 <その13> game map

正月のイベントもほぼ終わったので再開!前回はアニメーションテストを行ったけど、アニメーションを表示するためのマップが必要なので、一度マップ表示に戻ろう。 今回から、共通に利用するファイルも用意する。 (ほぼ原作のままだけど、いらないもの?があ…

Lisp Game Programming 再履修 <その12> animation test

前回 multithreading③ のプログラムコードの動きもメモっておこう。 次は、何にも表示していないウィンドウ内にマップを表示すること。 そして、マップ上で player を動かしてみることが次のテーマとなる。ちょっと味付けを変えて、player を動かすアニメー…

Lisp Game Programming 再履修 <その11> multithreading ③

ウィンドウを出すのは、このブログの一番最初にやったプログラムコードをそのまま(Play-game) に付け加えるだけ。 http://tomekame0126.hatenablog.com/entry/2014/06/26/222706すなわち、これを (defun Play-game () ; game main routine (Close-socket)) …

Lisp Game Programming 再履修 <その10> multithreading ②

Web サーバなら分かるけど、ゲームでは usocket や bordeaux-threads を使うシチュエーションはそうそうないのだろう。 なので、自分自身が後からこのプログラムコードを見たときに参考になるメモの意味合いで、理解を助けるためのイメージ図を残しておこう…

Lisp Game Programming 再履修 <その9> multithreading ①

Lisp の再履修のために勉強材料としたサイトにあった別のプログラムコードを見たら、マルチスレッド化されたゲームのようだったのでちょっとつまみ食い。 でも、忘年会で食べすぎたのか、sbcl がエラーを吐きまくりで、結局つまみ食いどころか、Lisp のプロ…

Lisp Game Programming 再履修 <その8> アクセスログ プチ整形

ささくれだった気持ちで書いていたせいか、ちょっと見逃していた。 クライアントサーバ型ゲームの実験をしていたら気がついたんだけど、前回のプログラムコードではアクセスが連続するとこんな感じになる。 醜い(見にくい)じゃん! なので、Windows 用にプ…

Lisp Game Programming 再履修 <その7> アクセスログでララバイ

会社にある様々なシステムにアクセスすると、もれなくアクセス監査ログが数か月後についてくる。 それを確認するのがマネージャの仕事とは言え、年末でチョー忙しい(加えて町内会の役員業務もね)のにちょっとひどくね? 注)電○事件を受け、労務管理には皆…

Lisp Game Programming 再履修 <その6> usocket 小話

その筋では有名な usocket も使う機会がなかったため、どんなものか試したときのお話。 以下にある、cl-tcpip.lisp をサーバとクライアントに分け、チョットだけ手を入れて実行してみた。https://gist.github.com/shortsightedsid/71cf34282dfae0dd2528サー…

Lisp Game Programming 再履修 <その5> Bordeaux-threads トライアル

Bordeaux-threads を sbclrc に書き加え、ライブラリとして使える状況になっているものの、未だ使ったことがない。 ならばと無理矢理使ってみたものの、微妙な結果に終わった。defpackage の部分に、 ;; --------------------------------------------------…

Lisp Game Programming 再履修 <その4>

player が動きまわったときに、rock や diamond が落ちてくるロジックは以下 ;; step3 <Handle-falling-objects> ;; ----------------------------------------------------------------------------------------------- (defun handle-falling-objects (level falling-objects playe</handle-falling-objects>…

Lisp Game Programming 再履修 <その3>

師走に入って何かと慌ただしくなる前にドンドン行ってみよう。 前回の続きから。Draw-game 関数の特徴は、player を画面の中心に表示し、player が移動するのと連動して、周りの表示を変化させていくというもの。では、具体的に見てみよう。まず、y には pla…

Lisp Game Programming 再履修 <その2>

いつも行くガソリンスタンドのバイトの兄ちゃん(工学部3年)と話しをしたら、「今、Pythonの勉強してるんすよ!」って。 「ふーん。俺、Lisp・・・・」と言いかけてやめた。 ライブラリが充実していて、一押しだそうな。随分遠くに来ちゃった感があるな。(遠…

Lisp Game Programming 再履修 <その1>

今年は町内会の役員業務に忙殺され、しばらくLispでのプログラム作成から離れていたら、「Lispってなんですか?」みたいな状態になってしまった。年齢相応のボケも進み、気力も続かないため、過去に作成されたLispのゲームプログラムをリメイクして、老いた…

Lisp Game Programming 1 and 2 <information>

先に作成した、Common-shooterやCommon-abogadroのソースコードは全てブログに掲載している。でも、各々のSTEP毎にプログラムを試しながら動作を確認するためには、使用するファイルをまとめて置いておいたほうがいいだろうと考えた。このため、GitHubにファ…

Lisp Game Programming 2 <Bug>

0での除算でエラーが出ていることから、0の場合は除算しなければいいとの安易な対応を実施。 エラー箇所を以下のように変更 ;; Step13 <Set Enemy Shot angle> ;; --------------------------------------------------------------------------------------------- (defvar *rang</set>…

Lisp Game Programming 2 <supplement>

Clozure clがエラーで起動できないのはウィルス対策ソフトだと判明したのもつかの間、今度は、SBCL 1.1.12が起動できなくなったので、最新バージョンのSBCL 1.3.1を入れて、先に作った common-abogadro を起動してみるとこんなことが分かった。さすが、最新…

cl-glut pre-study <page 11>

なんやかんやと試してみた結果、課題のレポートとして、以下のプログラムを提出させていただきます。 歩くというよりランニングしているようにも見えますが、一応完成ということで単位をくださいな。common lispですけど。 あ!、インターネット聴講生だから…

cl-glut pre-study <page 10>

歩く姿をsinとcosを使用して実験してみた。 正面だと分かりにくいので、移動を止めて斜め45度の角度から動きを確認してみる。 試してみると、腕や脚の移動範囲を25度位の角度にすると何となく歩いている感じに見えた。 角度だけでなくいろいろな数値をいじっ…

cl-glut pre-study <page 9>

歩いてはいないが、グラウンド上を円形に滑るように動くプログラムは意外と簡単にできる。 しかし、マウスボタンの真ん中を押すと止まるだけなはずなのに、右ボタンと同様に少しずつ動くのはなんなのさ? どこまちがえてんだろ? BoxMan sliding! ;; ;; Box…

cl-glut pre-study <page 8>

勝手に聴講生になったので、どのグループでもないから予備の課題を選び、取り合えずは表示のみ。 やっぱりこれでしょ。何だかわかるかな? BoxMan standing! ;; ;; BoxMan standing ;; -------------------------------------------------------------------…

cl-glut pre-study <page 7>

さて、ここも一気にいってみよう。レッスン21.光を当ててみる ;; ;; lesson21 <shading> ;; ----------------------------------------------------------------------------------------------- (defparameter *vertex* #(#(0.0 0.0 0.0) #(1.0 0.0 0.0) #(1.0 1.</shading>…

cl-glut pre-study <page 6>

なかなかいいサンプルがあったので、レッスン17を以下のように変えてみた http://blog.lowsnr.net/2013/04/14/using-opengl-with-common-lisp-and-macos-x/ ;; ;; lesson17 <animation> ;; ------------------------------------------------------------------------</animation>…

cl-glut pre-study <page 5>

レッスン13.2次元と3次元 y軸を中心に25°回転してみた。 ;; ;; lesson13 <2D & 3D> ;; ----------------------------------------------------------------------------------------------- ;; Set window class (defclass Window (glut:window) () (:…

cl-glut pre-study <page 4>

レッスン8.マウスボタンをクリックする ;; lesson1 <Open the window> ;; lesson2 <Fill in the blue> ;; lesson3 <Draw the lines> ;; lesson4 <Put the color lines> ;; lesson5 <Set polygon and several colors> ;; lesson6 <Reshape > ;; lesson7 <Window size and position> ;; lesson8 <mouse> ;; ----------------------------------…</mouse></window></reshape></set></put></draw></fill></open>

cl-glut pre-study <page 3>

さて3日目。 レッスン6.座標軸とビューポート ;; ;; lesson1 <Open the window> ;; lesson2 <Fill in the blue> ;; lesson3 <Draw the lines> ;; lesson4 <Put the color lines> ;; lesson5 <Set polygon and several colors> ;; lesson6 <Reshape > ;; ------------------------------------------------------------------------------------…</reshape></set></put></draw></fill></open>

cl-glut pre-study <page 2>

聴講2日目はここからスタート。レッスン3.線を引く lesson3.lisp ⇒ ;; ;; lesson1 <Open the window> ;; lesson2 <Fill in the blue> ;; lesson3 <Draw the lines> ;; ----------------------------------------------------------------------------------------------- ;; Set window class (defclass Windo</draw></fill></open>…

cl-glut pre-study <page 1>

これまでは、HSPで作られたシューティングゲーム2本をcommon-lispでリメイクしてみた。 lispbuilder-sdlは結構便利で、若干古さは否めないものの簡単なゲームを作るには十分だと感じた。 だけど、グラフィックスと言えばopenGLは外せない。 なので、どこま…

Lisp Game Programming 2 <Stage 14>

最後はお約束のasdfを使うためのパッケージ化。 package.lisp ⇒ ;;;; package.lisp (defpackage :game (:use :common-lisp :lispbuilder-sdl :sprite-sheets :map-list :enemy-map-list :audio-list :move-pattern :shot-data) (:nicknames :shooting) (:exp…

Lisp Game Programming 2 <Stage 13-3 Program>

弾幕の作成では一気に突っ走った。 今回、目的としていたプログラムは以下のとおり。 なお、このプログラムを動かすための必要なファイルは過去のブログで作成しているため、遊んでみたい方は参照してくださいな。ab-stage13.lisp⇒ ;;;; The Common-Abogadro…

Lisp Game Programming 2 <Stage 13-2 Barrage>

Stage1のボスキャラの弾幕(ショットパターン:6、7) Stage2のボスキャラの弾幕(ショットパターン:8、9、10) ※8と9は32方向に円形の弾幕を張り、10はshipに向かって10連発 ミドルクラスの敵の弾幕(ショットパターン:3、4) ※3は回転しながら4方向に5連…