Xubuntu 64bitにおけるSML# 2.0.0のビルド
SML#2.0.0がリリースされました.
せっかくなのでパッケージではなくソースからビルド.*1
というわけでクリーンなXubuntu 12.04LTSでSML#をビルドしたときの経験まとめです.*2
32bit環境の整備
C/C++の32bitライブラリを用意しておきます.
GMP,LLVM,SML#のビルドに必要.
たぶんこれで依存するg++も入ってくれる.
# aptitude install gcc-multilib g++-multilib
GMPライブラリのビルド
通常のGMPライブラリパッケージ(libgmp-dev)は64bitビルドされているので,SML#用に32bitでビルドする.*3
configureを走らせるときにABI=32オプションをつけて,32bitビルドを指定.
$ wget https://gmplib.org/download/gmp/gmp-6.0.0a.tar.lz $ lzip -d gmp-6.0.0a.tar.lz $ tar xf gmp-6.0.0a.tar $ cd gmp-6.0.0a # mkdir /opt/gmp32-6.0.0 # ./configure ABI=32 --prefix=/opt/gmp-6.0.0 $ make && make check # make install
追記:runtimeでロードできるようにldconfのパスに加えて、リロードする。
# echo '/opt/gmp32-6.0.0/lib' > /etc/ld.so.conf.d/gmp32.conf # ldconf
LLVMのビルド
配布されているUbuntu系用のLLVMバイナリは64bitビルドです.*4
なので自力で32bitビルド.
また,SML#は現時点での最新版であるLLVM3.4 32bitを必要としますので,多くのディストリビューションで自力ビルドが必要かと思います.
$ wgetやら解凍やら省略 # mkdir /opt/llvm32-3.4 $ ./configure CC='gcc -m32' CXX='g++ -m32' \ --build=i686-pc-linux-gnu \ --prefix=/opt/llvm32-3.4 $ make # make install
必要なライブラリ郡その他
なんか知らないけど./configure中に怒られたので,libzやlibinfoをいれる.
INSTALLとかの説明には書いてないけど必要なら仕方ない.
# aptitude install libz-dev # aptitude install libinfo-dev
SML#のビルド
ここまでくればSML#をビルドするだけ!
fast-buildオプションが行方不明なのでコーヒーでも飲みながらまったり待ちましょう.
必要なオプションは32bit・GMP・LLVMの指定です.インストール先のprefixはお好みで.
オプション長すぎぱない.
$ wgetやら解凍やら省略 # mkdir /opt/smlsharp-2.0.0 $ ./configure CC='gcc -m32' CXX='g++ -m32' \ LD='ld -m elf_i386' \ LDFLAGS='-L/opt/gmp32-6.0.0/lib' \ CPPFLAGS='-I/opt/gmp32-6.0.0/include' \ --with-llvm=/opt/llvm32-3.4 \ --prefix=/opt/smlsharp-2.0.0 $ make # make install
まとめ
- 必要が無い限りSML#はビルドパッケージを使うと楽
- SML#をビルドするなら32bitOSが楽
- やれるものならやってみろ
Functional花見2014に参加してきまし
これに,前日の場所取りからお花見まで参加してきました.
なやばし夜市
なやばし夜市という日本酒祭りがあったのでとりあえず行ってみる.
すでに日本酒で酔っ払う.
夜の部
開始
桜の下は半分くらいしか埋まっておらず,無事にブルーシートを広げる.
夕方から花見してたグループと,泊まって場所取りするグループが半々くらいでした.
早速コンビニ買い出しとピザ注文を実行
ピザハットは22:30注文で23:00受け取りができました.
プロのラブライバーの方はラブライブコラボの箱が切れてても注文するし,ガチャで数秒1万円を溶かすし,すごいと思いました.
夜更け
寝袋で就寝.
寝転がって見る夜桜が綺麗でした.
銀シートがあれば外でも暖かいし背中もいたくなかったです.
首が痛くなり枕を持ってくればよかったと後悔.
あと隣の大学生グループの人狼が一晩中うるさくて,寝るのに邪魔でした.
そうでなくとも酔っぱらいばかりなのでうるさいです.
耳栓があったほうが良かったなと後悔.
夜明け
朝日が綺麗だったみたいですが寝てて見逃しました.
皆は朝ごはんはコンビニでカップ麺やおでんを食べてました.
ssh越しのLinuxサーバー上でテラリアをscreenで動かし続ける話
背景
テラリアにはまっています.
休職してテラリアにはまるとは,アホな話です.
というわけで友人とテラリアを共に遊ぶために,Linuxサーバー上でテラリアを動かすことを思いついたわけです.
Linuxで動かす場合,monoを使ってTShock(非公式テラリアサーバー)を動かす選択肢があります.
特にver1.2系となると他非公式サーバーは対応してない現状.
そこでテラリアサーバーを動かすときのお話です.
自分が知ってる手法の問題点
さて手持ちのサーバーは共有で借りてる某VPS上のDebian.
この上でテラリアを動かす場合,自分が知っている手法では問題がありました.
知ってる手法の問題点
- ターミナル起動(&やC-z・bgコマンド)
- 手元にサーバーがあるならターミナルを起動させっぱなしにすれば良い.けどリモート上のサーバだとsshしたターミナルを起動しっぱなしにしなければならず,サーバーだけでなくクライアント側までも起動しっぱなしにしなければならず鯖を立ててるのに元もこうもない.
- ターミナルから切り離して起動する(標準入出力・エラー出力を/dev/null等にする)
- 例えば逆引きシェルスクリプト/端末から起動したプロセスを切り離す方法 - Linuxと過ごすみたいなことをする.でもテラリアサーバでこれをすると,ターミナルを終了と同時にテラリアが停止する.悲しい.
screenを使った解決法
そこでscreenを使う!!
今までのscreenのイメージというと,「複数ターミナルを操れる,それローカルターミナルやEmacsでもできるよね」というイメージ.
でもその本質はまったく違っていて,すんごく便利だった.
デタッチ・アタッチの概念
screenのすごいところは複数シェルを起動しつつそれらが独立に動くところ.
つまりscreenで仮想起動したシェルはユーザログアウトしたあとも実行され続ける.
よってサーバー上で長時間計算・ゲーム等サーバーのプロセスを行うのに便利.
ちなみにそのときにscreenを離れてプロセスを実行し続けるのをデタッチ,離れたscreenを再度フロントに持ってくることをアタッチというようです.
- 新しいスクリーンの起動
$ screen
- screenのデタッチ(起動中のscreenを継続したままバックグラウンドにスタックする)
- (プロセス中で)C-a C-d
- デタッチしたscreenをアタッチする(デタッチscreenを再度フロントに持ってくる)
$ screen -r [screen id]
※C-aはEmacs等と干渉するため,設定で入れ替えることができます.
テラリアでの例
$ screen $ mono TerarriaServer.exe ... C-a C-d $ exit # ログアウトしてもテラリアは起動し続ける
今後の課題
TShockの動作が重いので,サーバの動作を軽くする設定やらサーバの設定をしなければ…
FirefoxにS3.Download Statusbarをいれた
Download StatusbarがFirefox26になって非対応になった.
ダウンロードの状態を下部バーにて一目でわかるのがすごく便利だっただけに,代替手段が必要に.
Download Statusbar – Firefox 向けアドオン
Download Status Bar
試してみるも,色合いや表示情報や考えている表示の仕方がだいぶ違う.
どうにも納得いかない.
S3.Download Statusbar
もともと使っていたDowload Statusbarを模倣したアドオン.
これだっ!!
Download Manager (S3) – Firefox 向けアドオン
ということでS3バージョンに落ち着きました.
Download Statusbarが使えなくなって困ってる人にお勧め.
ぷよぷよクエスト!の進め方(開始編)
@osiire さんがぷよクエ始めたけど詰まったと聞いたので,ぷよクエ初心者向けの記事でも書こうかと.
条件
- これからぷよクエを始める
- 無課金
初期カード
- 好きなキャラでよい
将来的にどのカードも通常ガチャで出るため,選ばなかったキャラも無料で手に入れられます.
細かなことを言うと,アミティ・リデルのほうがガールズパーティを組みやすいため有利です.またアミティの赤のほうが単色ガールズを組みやすく,将来的に有利になりえます.
チュートリアル(リセマラ)
最初はリセットマラソンことリセマラです.他ソシャゲと同様,ぷよクエも手に入りにくい強力カードがあるため,粘る価値はあります.
ただしチュートリアル中にある魔導石ガチャはもどきで一部レアカードがでないので,その後にできるガチャでリセマラしてください.
また,友達からの紹介特典は1端末1度しか受けれないため,リセマラ完了後に受け取ってください.
リセマラお勧めはは以下です.
- 旧ぷよ勢(ルルー,アルル,ドラコ,ウィッチ,シェゾ)
- ☆5のスキルが強力かつステータスも高い
- 通常ガチャではでず銀・金・石ガチャオンリーのため,無課金では将来的にも入手が難しい
- 進化させるのがひじょうに大変+低☆のスキルは弱いため,☆3だった場合はしばらく役立たず
- 精霊系(ウィンディーネ,フラウ)
- ウィンディーネはスキルが通常クエスト時にひじょうに強力
- フラウはスキルがギルドイベント時にひじょうに強力
- 通常ガチャでも出るため,のちのち手に入れると諦めてもよい
- フィーバー主人公系(アルル,シグ,リデル,ラフィーナ,クルーク)
- リーダースキルの同色攻撃うpは強力
- コストも高いがステータスも高め
- ラフィーナ,クルークは初期では選べないためガチャのみ
- 回復以外の☆5,できれば初期カードと同一色
- 初期の高☆キャラはクエストを進めるのが楽になる
- 初期カードをリーダにすれば,リーダースキルの攻撃アップものる
- 現状回復系はコストこそ下がったものの,弱いものが多い
- 旧魔導勢(キキーモラ,セリリ,ハーピー,ミノタウロス,ラグナス)
- 魚・ガーディアン・鳥シリーズ
- 魚とガーディアンは☆4以上でリーダースキルのタフネス,鳥は☆3以上で各属性攻撃封印が優秀なため,なるべく早く各色そろえておくと,クエスト・イベントともに進行が楽になる
逆に外れ,あまりお勧めしないのは以下
- 回復系全般
- 現状,回復系のステータスが低く将来的にも使いづらい
- <追記>回復系の低コスト化と強化とギルドイベントにて敵の低攻撃力化により、高レベルで回復が必要な場面もでてきました。
ガーディアンシリーズ- スキルの使いドコロが現状まったく無い
- <追記>スキルがタフネスへ変更されたことにより魚シリーズ同等の重要度に
- ☆2,3ドラゴルンシリーズ
- 体力は低いが,こうげきタイプのため攻撃力は高いので初期戦力として使いやすい
- ☆4,5への進化素材が特殊素材使用と強化が難しく,ガチャでは☆4以上がでないと初期戦力として使えない
ギルド加入
- Dランク以上のギルドに入る
ぷよクエではギルドメンバーをサポートとしてクエストに連れて行けます.またギルドによってカードの能力も若干あがります.
現状ギルド過多のためどこもメンバー足らずな状態です.☆5キャラ(特にフィーバー主人公系)が多くいるギルドに入ると今後のクエストが進めやすいです.
また,ギルドに入る+掲示板に書き込むでそれぞれ魔導石がもらえます.
デッキの組み方
- 初期カードの単色パーティ or 5色5枚パーティ
- 各色対策のデッキを持つ
初期カードリーダーで同色攻撃アップを生かしたパーティが最初は使いやすいです.
またある程度カードが揃ってくると,各色対策のパーティを作りましょう.クエストは多くが1色を中心に組まれて居ることが多く,クエストが有利に進められます.
赤・青・緑に対してはそれぞれ青・緑・赤のパーティで挑めば攻撃倍・被ダメ半分になり,クエストを有利に進められます.黄・紫は互いに攻撃倍の関係のため,事故防止のために赤・青・緑の好きなパーティでいくのがよいです.
また5枚を5色別々な色にするのも,攻撃機会が多く使いやすいパーティの1つです.
ぷよの消し方
- 連鎖よりも同時消しで攻める
ぷよ消しは連鎖・同時消し・5個以上消しで攻撃力があがります.計算式の都合から,連鎖より同時消しのほうが強いです.
4連鎖目=1連鎖目2色同時消し,9連鎖目=1連鎖目3色同時消し,14連鎖目=1連鎖目5色同時消し,くらいの威力になります.連鎖を狙うよりも,同時にたくさんの消える箇所があるようにしましょう.
また,青8個消すよりも,青4個+青4個と別々に消すようにしたほうが多色同時消しと同様に強くなります.
eldeshさんのaobench in SML
aobenchによるSMLベンチマークを書いたをやってみた.
環境
結果
real | user | sys | |
---|---|---|---|
gcc | 0m1.424s | 0m1.404s | 0m0.012s |
smlnj | 0m3.228s | 0m3.204s | 0m0.040s |
mlton | 0m2.091s | 0m2.068s | 0m0.020s |
smlsharp | 0m24.307s | 0m24.206s | 0m0.048s |
所感
SML#ェ…
進捗ダメです
年末に復職予定と書いたな?
あれは嘘だ!!!
休職延長いただきました.