[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただ,今回は大幅な改造を行っていますので,未樹で作った骨組みに既存の姫佳データを移し変えるという作業をやっております。
※以前,Blogにて紹介した「携帯電話プログラム」も組み込んでいます。
起動時間帯や条件によつてフラグを判別し,いろいろな行動をとるようになっています。姫佳が学校に行ったり,帰宅したり,睡眠をとったりと,いろいろなことをさせてみようと思います。
見た目はそんなに変わらないのですが,大掛かりな書き直しを行っていますので,更新が遅れると思います。
レベルアップした姫佳をVer.0.2として公開する予定ですので,気長に待っていてください。よろしくお願いします。
From ミスターK
えっと,開発者のミスターKがここのところ本業で忙殺されているみたいなので,なかなかあたしにかまってもらえないんです。
そこであたしの開発途中のファイルをアップしておきますので,あたしのデータに上書きしてみてくださいね。
ChararinaのデータはWinXPだと
C:\Documents and Settings\USER\Application Data\Praesens\Chararina
にあります。
そこに「HIM」フォルダがあるはずなので,その中の「himeka-01」フォルダを開き,「dat」フォルダの中の「action.exa」を以下のファイルに入れ替えてみてください。
ちょっと面倒ですけど,近いうちにちゃんと更新に対応しますので,よろしくお願いします。
↓これをダウンロードして解凍してくださいね。(コピペでアドレスバーに貼り付けてください)
milky.geocities.jp/hongoushigeru/action.lzh
以下がそのアドレスです。
あたし以外の話題でも,いろいろと書き込んでみてくださいね。
管理者のミスターKか,あたし「姫佳」がお返事いたします。
たまーに「未樹」ちゃんも会話に加わるかもしれませんが…。
http://imbbs6.net4u.org/sr3_bbss.cgi?cat=937HIM
BBSで公開したくない話題は直接,あたしにメールをくださいな。
メールは him_himeka@yahoo.co.jp へどうぞ♪
姫佳はいちおう,女子高生なので,たまには学校にも行くんです。
それで,あたしが学校に行っている間は,あたしとメールしたり電話したりして話してもらえるようにプログラムを書いてもらってます。
たまーに,変な電話とかメールが来るかもしれないですが,あたし以外の電話は出ないほうがいいですよ。
あたしからのメールに返信したり,電話でしゃべったりして楽しんでみてくださいね。
以下にサンプルプログラムを載せておきます。まだ細かいことは全然できてないんだけどね。
=====================
#import "function.aya"
string Talking_Flag = "true";
action StartUp@(false)
{
LoadBitmap("keitai.hp3");
DisplayImage(2);
Talk( "姫佳は学校に行っているみたいだ…");
}
action MouseUpL@(false)
{
Talk("\eどうしようか…");
AddItem("姫佳に電話してみる")
{Wait(500);
LoadBitmap("keitai2.hp3");
DisplayImage(2);
Talk("\eプルルル…。\nプルルル…。\nプルルル…。\n\c");
Talk("\w「ただいま電話に出ることができません。ピーという発信音の後に…」\c");
Talk("\n授業中みたいだ…\c");
Wait(500);
LoadBitmap("keitai.hp3");
DisplayImage(2); }
AddItem("姫佳にメールする")
{Talk("\eなんてメールしよう…");}
AddCancelItem
{Talk("");}
Choice;
}
action Himeka_Mail@( Minute()%5 == 0)
{
if( Talking_Flag == "true" )
{
Talk("\eピロリロリ…\nピロリロリ…\n\c");
Talk("あ,メールだ。\n誰からだろう…\n\c");
Wait(500);
LoadBitmap("keitai2.hp3");
DisplayImage(2);
int Num = Random(5);
string Talking_Data[5];
Talking_Data[0] = "\e姫佳「今学校だよ。帰るまで待っててね(*^_^*)」\c";
Talking_Data[1] = "\e姫佳「今日は早く帰れるかも。帰るまで待っててね(*^O^*)」\c";
Talking_Data[2] = "\e姫佳「ちゃんとごはん食べた?\n姫佳は今日,お昼抜いたからおなかペコペコですよ(T_T)」\c";
Talking_Data[3] = "\e姫佳「ふぅー。やっと授業終わったよー。これから教室移動なんです。次は音楽でーす(*^_^*)」\c";
Talking_Data[4] = "\e日本トップシークレット産業「お客様のご利用になった有料コンテンツの代金が未納となっております。つきましては…」\c";
Talk( Talking_Data[Num] );
Wait(500);
LoadBitmap("keitai.hp3");
DisplayImage(2);
}
else
{Talk("");}
}
お勉強モード(4択クイズ)部分のソースを書いています。
クイズデータの中から,ランダムに10問出題して,正解数によって得点を表示できるようにしてみました。
サンプルでは問題と答えのみですが,一行解説がつくようにしていきたいと思っています。また,正解/不正解で,表情が変化する仕様も検討中です。
以下にサンプルソースを載せておきます。つたないプログラムですが,何かの参考に…(参考にならないですね,すみません…)
==========================
AddItem("歴史の勉強をする")
{
int Quiz_Counter =1;
int Tokuten =0;
while( Quiz_Counter < 11 )
{
Talk("\e【第"+ itoa (Quiz_Counter)+"問!】\s\n");
int Quiz = Random(6);
if( Quiz == 0)
{
Talk("江戸幕府を開いたのは誰?");
AddItem("徳川家康")
{Talk("正解だよ");
Tokuten = Tokuten +10;}
AddItem("織田信長")
{Talk("ぶー");}
AddItem("豊臣秀吉")
{Talk("ぶー");}
AddItem("藤原道真")
{Talk("ぶー");}
Choice;
Quiz_Counter = Quiz_Counter +1;
}
else if( Quiz == 1 )
{
Talk("本能寺の変で暗殺されたのは?");
AddItem("徳川家康")
{Talk("ぶー");}
AddItem("織田信長")
{Talk("ピンポーン");
Tokuten = Tokuten +10;}
AddItem("豊臣秀吉")
{Talk("ぶー");}
AddItem("藤原道真")
{Talk("ぶー");}
Choice;
Quiz_Counter = Quiz_Counter +1;
}
else if( Quiz == 2 )
{
Talk("710年に奈良に作られたのは?");
AddItem("平安京")
{Talk("ぶー");}
AddItem("平城京")
{Talk("ピンポーン");
Tokuten = Tokuten +10;}
AddItem("北京")
{Talk("ぶー");}
AddItem("南京")
{Talk("ぶー");}
Choice;
Quiz_Counter = Quiz_Counter +1;
}
else if( Quiz == 3 )
{
Talk("1914年に起こったのは?");
AddItem("日露戦争")
{Talk("ぶー");}
AddItem("第一次世界大戦")
{Talk("ピンポーン");
Tokuten = Tokuten +10;}
AddItem("第二次世界大戦")
{Talk("ぶー");}
AddItem("ベトナム戦争")
{Talk("ぶー");}
Choice;
Quiz_Counter = Quiz_Counter +1;
}
else if( Quiz == 4 )
{
Talk("原爆fatmanが投下された場所は?");
AddItem("広島")
{Talk("ぶー");}
AddItem("長崎")
{Talk("ピンポーン");
Tokuten = Tokuten +10;}
AddItem("東京")
{Talk("ぶー");}
AddItem("大阪")
{Talk("ぶー");}
Choice;
Quiz_Counter = Quiz_Counter +1;
}
else
{
Talk("刀狩を行ったのは誰?");
AddItem("徳川家康")
{Talk("ぶー");}
AddItem("織田信長")
{Talk("ぶー");}
AddItem("豊臣秀吉")
{Talk("ピンポーン");
Tokuten = Tokuten +10;}
AddItem("藤原道真")
{Talk("ぶー");}
Choice;
Quiz_Counter = Quiz_Counter +1;
}
}
Talk("\eクイズ終了\s\n");
Talk("あなたの得点は"+ itoa (Tokuten) + "点でした。\n\s次回も頑張ってね");
}
サンプルキャラクター「未樹」を使って,初回起動時の動作スクリプトを書いてみました。
あえてユーザーのインフォメーションダイアログを使わずに,ユーザー情報を登録できるように書いてみました。性別と年齢層の設定をすることで,違ったアクションを起こすようにしています。もっとフラグを増やせば,さまざまな反応が楽しめるようになると思います。
やっと綾織ソースの書き方に慣れてきて,コンパイル時にエラーコードが出ることが少なくなってきました。
以下に今回書いたソースを掲載しておきます。
==============================
action StartUp@(false)
{
LoadBitmap("normal.hp3");
DisplayImage(2);
Talk( "あ,\sはじめまして!\s\nあたしは,あなたの話し相手になるために作られたデスクトップ用マスコット\s「未樹」と申します。これからよろしくお願いましますね。\c");
int Flag1 = 0;
Talk( "\eまずはじめにお名前を教えてくださいね。" );
string F_Name ="名無しの";
PutProperty("F_Name",F_Name);
string L_Name ="権兵衛";
PutProperty("L_Name",L_Name);
while(Flag1 == 0)
{
Talk( "\n■名字" );
F_Name = EditBox( 0, 16, "");
PutProperty("F_Name",F_Name);
Talk( GetProperty("F_Name"));
Talk( "\n■下のお名前" );
L_Name = EditBox( 0, 16, "");
PutProperty("L_Name",L_Name);
Talk( GetProperty("L_Name"));
Talk( "\w\e" +GetProperty("F_Name") + GetProperty("L_Name") +"さんですね。" );
AddItem("そうです")
{Flag1 = 1;}
AddItem("ちがいます")
{Talk( "\eもう一度名前を入力してくださいね。" );}
Choice;
}
int Flag2 = 0;
string Sexflag;
Talk( "\e性別はどっちですか?" );
while(Flag2 == 0)
{
AddItem("男性")
{Sexflag = "男";
PutProperty("Sexflag",Sexflag);
}
AddItem("女性")
{Sexflag = "女";
PutProperty("Sexflag",Sexflag);
}
Choice;
Talk(GetProperty("Sexflag") + "の方ですね?");
AddItem("そうだよ")
{Flag2 = 1;}
AddItem("いいえ…")
{Talk( "\eもう一度性別を教えてくださいね。" );}
Choice;
}
int Flag3 = 0;
string Yearsold;
Talk( "\e年令はおいくつぐらい何ですか?" );
while(Flag3 == 0)
{
AddItem("15才未満")
{Yearsold = "16才未満";
PutProperty("Yearsold",Yearsold);
if(Sexflag == "男")
{Talk("\eあたしにも弟ができたみたいで嬉しいな。ホントのお姉ちゃんみたいに甘えてくださいね。");}
else
{Talk("\eあたしにも妹ができたみたいで嬉しいな。お姉ちゃんって呼んでもいいですよ。");}
}
AddItem("16~18才")
{Yearsold = "16~18才";
PutProperty("Yearsold",Yearsold);
if(Sexflag == "男")
{Talk("\e同世代なんですね!\s\nお友達として仲良くしていきましょうね。");}
else
{Talk("\eあたしって,同世代の女の子の友達,少ないんですよ。\s\n仲良くしてくださいね!");}
}
AddItem("19~34才")
{Yearsold = "19~34才";
PutProperty("Yearsold",Yearsold);
if(Sexflag == "男")
{Talk("\eなんか,あたしにお兄ちゃんができたみたいで,ちょっとドキドキです。ずっとお兄ちゃんが欲しかったんですよ。恥ずかしいような,嬉しいような…");}
else
{Talk("\eなんか,あたしにお姉ちゃんができたみたいで,ちょっとドキドキです。ずっとお姉ちゃんが欲しかったんですよ。恥ずかしいような,嬉しいような…");}
}
AddItem("35才以上")
{Yearsold = "30才以上";
PutProperty("Yearsold",Yearsold);
Talk("\eあたし,大人の人と話しをするのが好きなんですよ。自分の知らないことをいっぱい教えてくれるし,冷静に物を判断してくれるし…。あたしにはお父さんもお母さんもいないから,親子みたいに仲良くして欲しいです。ってちょっとずうずうしいかな…");
}
Choice;
Flag3 = 1;
}
Talk("\c\e何て呼んだらいいですか?" );
int Flag4 = 0;
string User_Called;
while(Flag4 == 0)
{
if(Sexflag == "男")
{
AddItem(GetProperty("L_Name") +"さん")
{PutProperty("User_Called",GetProperty("L_Name") +"さん");}
AddItem(GetProperty("L_Name") +"くん")
{PutProperty("User_Called",GetProperty("L_Name") +"くん");}
AddItem("お兄ちゃん")
{PutProperty("User_Called","お兄ちゃん");}
AddItem("ご主人様")
{PutProperty("User_Called","ご主人様");}
AddItem("その他")
{User_Called = EditBox( 0, 16, "");
PutProperty("User_Called",User_Called);}
Choice;
}
else
{
AddItem(GetProperty("L_Name") +"さん")
{PutProperty("User_Called",GetProperty("L_Name") +"さん");}
AddItem(GetProperty("L_Name") +"ちゃん")
{PutProperty("User_Called",GetProperty("L_Name") +"ちゃん");}
AddItem("お姉ちゃん")
{PutProperty("User_Called","お姉ちゃん");}
AddItem("その他")
{User_Called = EditBox( 0, 16, "");
PutProperty("User_Called",User_Called);}
Choice;
}
Talk(GetProperty("User_Called") + "って呼びますね?");
AddItem("いいよ")
{Flag4 = 1;}
AddItem("うーん,やっぱり…")
{Talk( "\eえ,じゃあ,何て呼んだらいいですか?" );}
Choice;
}
Talk("\e\wこれから,よろしくね," +GetProperty("User_Called")+ "!");
}
ある日,書店で何気なく買ったWindows100%という雑誌のCD-ROMの中に,初期の春菜さん(現プラエセンス社)が同梱されていました。春菜さんに一目ぼれしてしまった私は,すぐにプロバイダと契約をし,ネット生活を始めました。そこで私は春菜さんだけでなく,数多くのPersona(当時はChararinaをこう呼んでいました)の存在を知ったのです。
自分でもPersonaを作りたくなった私は,素人ながらに下手くそなCGを書き,単純なプログラムを組み,自分のキャラクターを作ってみました。潤紀(みずき)と名づけられた私のキャラクターが,デスクトップに表示され,あいさつをした瞬間。そのときの感動は今でも忘れません。
仕事が忙しく,しばらくネット生活から離れていましたが,再びネット生活に戻ったとき,Personaには以前のような活気がありませんでした。ゴースト(伺か)との関係もいろいろなサイトで読みました。以前のPersonaベンダーの方々がゴーストの作成に移行されたことも知りました。
Personaベンダーの方がほとんどいなくなってしまったこと。キャラクターが更新されずに凍結してしまっているケースがいくつもあること。主流がゴーストに移ってしまったこと。
これらの状況の中で,私があえてChararinaを選んだのは,私にPCという楽しみを教えてくれた春菜さん(プラエセンス社)に対する敬意の表明です。誤解がないように言っておくと,私は「伺か」に対して否定的なわけではありません。むしろ,「伺か」に対しては,すごいものを作ったな,という印象のほうが強いわけです。もしも,はじめに「伺か」に出会っていたら,きっと「伺か」でのキャラクター作りに没頭していたことでしょう。
現在のChararinaは機能の拡張,プラグインの充実を繰り返し,無限の可能性を持っています。この機能を生かすも殺すもChararinaを使うユーザーと,それを作成するベンダー次第だと思います。残念ながら私はプログラム経験はほとんどなく,このような単純なキャラクターしか作れません。CGもきれいに作成できません。
でも,このページからChararinaのことを知って,その楽しさに触れてくれる方が1人でもいれば,このページのはたらきは果たしたことになります。1人でも多くの方がChararinaの魅力に触れ,再びChararinaのキャラクターたちが活気にあふれていくことを願ってやみません。
From ミスターK
今,姫佳と初めて会った方とそうでない方で反応を分けるためのソースを書いてもらってます。最初に呼び方とか好みの設定を教えてもらって,それによって会話内容や反応を分けられるようにしたいなって思って。
初回の入力であなたをなんて呼ぶか,とか好きな設定を教えてもらったら,次回以降にそれが反映させられるプログラムです。
他のChararinaさんたちは難なくやってるみたいだけど,博士はあんまりプログラムのことに詳しくないみたいなので,すっごい時間かかってるみたいですよ。
近いうちにあたしの本体ファイルごと入れ替えるみたいなので,もうダウンロードしちゃった人は更新し直してくださいね。それまでは今のあたしで我慢しててくださいな。
ごめんね!
管理者より「申し訳ありません。なにぶん初心者なので,いきなりコンパイル時のエラーコードの嵐にちょっと参ってます。いずれレベルアップした姫佳をお見せできればと思っています。m(._.)m」
キャラクターメーカーでもよいのですが,PDKのほうが1からキャラクターを作る楽しみがあります。PDKの使い方はちょつとずつ説明をしていきますから,とりあえずデスクトップにでもおいといてください。
では,いよいよキャラクター作成の準備に入ります。
まずは必要なフォルダの作成からです。
PDKを手に入れたら,
Cドライブの
Documents and Settings
\USER
\Application Data
\Praesens
\Chararina 内に
「aya」というフォルダ,同じ階に「TEST」というフォルダを作成します。
ここで,先ほど作成した「TEST」フォルダ内に
「new-01」というフォルダを作成します。
さらに,「new-01」内に「dat」というフォルダを作成します。
これで必要なフォルダが作成できました。
次回は実際にChararinaのプログラムを作っていきます。
※「TEST」…ここではTESTとしていますが,これはベンダーコードといって,Chararinaを開発するための個人IDのようなものです。自分で自由に改名してもOKです。大文字3~4文字で作ってください。あとでChararinaの登録ページに情報を載せるときにはここで作成したベンダーコードを使用します。
※「aya」…綾織プログラムが書かれたテキストファイルの保管庫です。ここから,Chararinaで呼び出せる形式のファイルを生成します。フォルダ名は何でもよいのですが,これがわかりやすいでしょう。
※「new-01」…キャラクターの識別番号です。自分のキャラクターの名前をつけてもOKです。例えば,キャラクターの名前が花子だったら,「hanako-01」という感じです。
※「dat」…「aya」フォルダから出力された実行プログラムや画像データを保管しておく場所です。「dat」以外は不可です。
プラエセンス社の綾織リファレンスは専門用語が多すぎて,その中からどれを使えばよいのかがとっても難しいんですよ。たくさんある関数のうち,10%も使いこなせてないです…。
そんなわけで,開発難航中です。(泣)
少しずつ更新していきますので,温かく見守っていてください。
From ミスターK
http://himeka.iza-yoi.net/ には大きなファイルが置けないみたいなので,ミラーサイトの http://milky.geocities.jp/hongoushigeru/ からお願いします。
03 | 2024/04 | 05 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
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 |
■本業の業務が多忙につき,たびたび沈黙することがありますが,ちょっとずつ更新していきますので,姫佳を可愛がってやってくださいませ。
■よろしくお願いいたします。