CDW 1日 30分だけ遊べる LIMIT版を用意する


2023年 1月 27日
 
 
 1日 30分だけ遊べる LIMIT版を用意します。

 正規品は 500円予定で時間制限無しです、LIMIT版は無料ですけど 1日 30分しか遊べない仕様です。


 
 

 なぜ 2つ用意するのかと言うと、自分は広告収入モデルが嫌いだからです、ついでにアイテム課金とかガチャの収入モデルも嫌いです。

 広告はほぼ機能してないのにゲームのデザインもテンポも悪くしますし、プレイヤーにとっては単なる時間泥棒だと思います。

 最初無料でアイテム課金やガチャ課金のような「後から課金」モデルは要するにボッタクリだと思います、その辺の収入モデルは元々半島民の人の作ったものですし、良い事とも思えません。

 この後から課金モデルはずっと売り上げ続けるためにゲームバランスが悪くなり続けたり、時間を買わせるために無駄に時間を使わせたりするので、プレイヤーに良くありません、製作者としてはゲームとしてもゴチャゴチャしてスッキリしません。

 30分制限モデルなら、無料で試せるのはもちろん、ゲームバランスの崩壊も制限による違いもありませんし、30分なので時間を無駄にしないで済みます、それ以上お金を出しても遊びたいと思う人のみに買ってもらえれば、それで良い訳です。

 とまあ、個人の感想ですけど、昔からこんな風に善悪を考えていると儲からないとは言われてます、マネをする必要は全くありません。
 
 
 前置きが長くなりました、製作して行きます。

 まずタイムロックの画像を用意します。

 時間になったら、この画面を表示してアプリを終了します。
 
 
 タイムロックのソースは大体こんな感じ。

////////// 30分タイムロック //////////


	timelk_f=0 ; タイムロックフラグ

	if timelk_f>0 {
	 dim dtn1,21 ; データ総数
	  exist "sy_data.dat"
	   if strsize!-1 : load1 ; 初回読み込み

	 timelkw=1
	  celload fi+"timelk_gr.png",timelkw ; TIME LOCK表示画面

	 gosub *timelk_ini		; タイムロック初期
	  if timelk_f=2 : gosub *timelk_put : return	; タイムロック中なら終わり
	}


*timelk_ini ; タイムロック初期

	timelk_b=1800 ; 遊べる秒

	timelk_so=gettime(1)	; 月
	;timelk_sw=gettime(2)	; 曜日
	timelk_sd=gettime(3)	; 日
	timelk_sh=gettime(4)	; 時
	timelk_sm=gettime(5)	; 分
	timelk_ss=gettime(6)	; 秒

	if timelk_do!timelk_so or timelk_dd!timelk_sd { ; 日が違う
	 timelk_ds=0 ; 秒
	 timelk_go=timelk_so : timelk_gd=timelk_sd : timelk_n=timelk_ds ; 現在タイム
	 save1 ; 日が違えば30分
	}

	if timelk_do=timelk_so and timelk_dd=timelk_sd and timelk_ds>=timelk_b : timelk_f=2 : return ; 今日の時間は終わり

	timelk_s=(timelk_sh*3600)+(timelk_sm*60)+timelk_ss	; 開始時間、合計秒

	return


*timelk_check ; 終了時間判定

	timelk_go=gettime(1)	; 月
	timelk_gd=gettime(3)	; 日
	timelk_gh=gettime(4)	; 時
	timelk_gm=gettime(5)	; 分
	timelk_gs=gettime(6)	; 秒

	if timelk_go!timelk_so or timelk_gd!timelk_sd { ; 日が違えば30分
	 timelk_s=0 : timelk_so=timelk_go : timelk_sd=timelk_gd
	 return
	}

	timelk_g=(timelk_gh*3600)+(timelk_gm*60)+timelk_gs	; 現時間。合計秒

	timelk_n=timelk_g-timelk_s+timelk_ds				; 遊んでいる時間
	 if timelk_n>=timelk_b : timelk_f=2 : mainf=10		; 30分(1800秒)以上なら終わり

	save1

	return



;割り込み処理

	 if timelk_f>0 {
	  gosub *timelk_check ; 終了時間判定
	  if timelk_f=2 : gosub *timelk_put : return
	 }


;表示用処理

	 if timelk_f>0 : gosub *time_put ; 時間表示



; タイム表示
*timelk_put ; タイムロック中表示

	k=0
	repeat
	 redraw 0
	  pos 0,0 : celput timelkw
	 redraw 1

	 await 1000/20

	 stick k : if k!0 : break
	loop

	return


*time_put ; 時間表示

	timelk_gh=gettime(4)	; 時
	timelk_gm=gettime(5)	; 分
	timelk_gs=gettime(6)	; 秒

	timelk_g=(timelk_gh*3600)+(timelk_gm*60)+timelk_gs	; 現時間。合計秒
;dgs "timelk_g",timelk_g,0

	timelk_n=timelk_g-timelk_s+timelk_ds		; 遊んでいる時間
;dgs "timelk_n",timelk_n,1

	tp_n=timelk_b-timelk_n : if tp_n<0 : tp_n=0	; 残り時間
;dgs "tp_n",tp_n,2


	tp_m=tp_n/60			; 分
;dgs "tp_m",tp_m,3

	tp_s=tp_n-tp_m*60		; 秒
;dgs "tp_s",tp_s,4

	if tp_n<=180 : tp_cl=1 : else : tp_cl=5	; 表示色、3分以下なら赤

	if tp_cl=5 : tp_x=cxyd(0,12)+13 : else : tp_x=cxyd(0,12)-2
	 fp tp_m,tp_x,cxyd(1,12)+6,tp_cl	; 分表示

	if tp_cl=1 : fp tp_s,cxyd(0,12)+15,cxyd(1,12)+6,tp_cl	; 秒表示

	return

;save
	dtn1(18)=timelk_go	; 最後の月
	dtn1(19)=timelk_gd	; 最後の日
	dtn1(20)=timelk_n	; 何秒遊んだか

;load
	timelk_do=dtn1(18)	; 最後の月
	timelk_dd=dtn1(19)	; 最後の日
	timelk_ds=dtn1(20)	; 何秒遊んだか

 
 
 それでは LIMIT版をビルドします。


 
 
 assetsフォルダにデータを入れてビルドします。


 
 
 実機転送して動作確認したらリリースビルドします。


 
 
 Google Play Consoleで、もう一度新しいアプリを作成登録しないといけない。


 
 
 AABファイルをアップロードして内部テスト版を作成。


 
 
 もう一度アプリのセットアップをして行きます。


 
 
 グラには一応 LIMITの文字を入れておきます。

 
 
 反映されるまで数時間待ちます。

 今回はここまで。
 
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です