進捗週報 / 小休止その2
ゲーム開発自体はちょっとお休みが続いてます。
今週やった事。
Ren'Pyのアップグレード。
鷹館さんのゲームグラフィックに妙に惹かれていろいろ調べる。
数理モデルの基礎について引き続き勉強。それに付随してpythonでmatplotlibを使ってみた。あとiPadのpythonista3上でも同じ事やってみた。
特に外部ライブラリを使用しないでもpythonでSunVoxのライブラリファイルが動くことを確認。
知らなかったファンタジーコンソールを見つけて「ほほう!」となるなど。
鷹館さんの次回作「亜電」のPV
今風のドット絵じゃないんだけど凄く好き。伝えたいものが十分に伝わってくる感じがする。憧れる。曲も好き。
sunvox.libとpython
公式でのLinux上でpythonからsunvox.libを扱う例
import ctypes
import time
# get script directory
import os
scriptpath= os.path.realpath(__file__)
scriptdir = os.path.dirname(scriptpath)
# construct full path to sunvox lib
libname=os.path.join(scriptdir,"sunvox.so")
if __name__ == "__main__":
# Load the shared library into ctypes
svlib = ctypes.CDLL(libname)
# CONNECT TO SOUND SYSTEM
svlib.sv_init.restype=ctypes.c_int32
ver = svlib.sv_init(None, 44100, 2, 0 )
print (f"Init Sound succeeded!") if ver>=0 else print (f"Link Sound failed, error:{ver}")
if( ver >= 0 ):
# REQUEST SLOT
slotnr=0
success=svlib.sv_open_slot(slotnr)
print (f"Open slot succeeded!") if success==0 else print (f"Open slot failed, error:{success}")
# LOAD FILE
svfile=os.path.join(scriptdir,"test.sunvox")
bsvfile = svfile.encode('utf-8')
success = svlib.sv_load(slotnr, ctypes.c_char_p(bsvfile))
print (f"Open file succeeded!") if success==0 else print (f"Open file failed, error:{success}")
# SET VOLUME
svlib.sv_volume(slotnr,256)
# START PLAY
success = svlib.sv_play_from_beginning(slotnr)
print (f"Play file succeeded!") if success==0 else print (f"Play file failed, error:{success}")
# LET PLAY FOR 5 SECONDS
time.sleep(5)
# STOP PLAY
svlib.sv_stop(slotnr)
# CLOSE SLOT
svlib.sv_close_slot(slotnr)
# RELEASE SOUND SYSTEM
svlib.sv_deinit()
Macでもlibの名前だけ書き換えれば普通に動きましたし、RenPyからctypesをimportも出来ました。と言う事は多分RenPyでSunVoxのMODは鳴らせる。
と言う事は凄く小さなデータで超絶良い音をガンガン鳴らす事が可能!
(音の良さは下のHPで聴けるので是非。sunvox.libは多分emscripten経由でJavaScriptにも移植されているのです。)
MEG-4と言うファンタジーコンソール
これもPICO-8インスパイアなファンタジーコンソールなんですが、曰く
って事で比較的高性能だし、遊び心満点でした。