|
大家好,我最近在构思一个纯文字侦探游戏。打算部署在网页上,或者微信公众号上。属于个人项目,不是商业项目,纯粹是一种情怀。
举个例子:
比如用户输入:走南
游戏反馈:您面前是一条街道,北边是车站,南边是超市,等等等 。
然后用户可以:走南 / 走北
基本上用文字指令推进游戏。
服务端打算用PHP来写。
我不太了解PHP怎样实现游戏逻辑脚本。是否需要嵌入一种脚本语言,比如LUA?
比如游戏中一个动作:进侦探社。
会触发一个游戏脚本:detective_office.script
在这个脚本中可能会有if - else等逻辑分支,还可能call另一个脚本,比如:check_mailbox.script
PHP有个通过字串调用类方法的函数。
如果在不嵌入其他脚本语言的情况下,游戏逻辑脚本是否可以这样实现:
/////////////// detective_office.php
include_once ("check_mailbox.php");
class detectiveOffice
{
function enter($roleName)
{
echo $roleName . "进入了办公室";
call_user_func_array(array('checkMailbox','check'), array("信箱一"));
}
}
call_user_func_array(array('detectiveOffice','enter'), array("名侦探"));
///////////////
/////////////// check_mailbox.php
class checkMailbox
{
function check($mailboxName)
{
echo $mailboxName. "被打开了";
}
}
///////////////
进入侦探社时,用Ajax触发以下脚本:
detective_office.php
游戏中踩地雷触发脚本,应该这样就能基本实现了。
大家觉得怎样?是否可能会有性能问题?一般PHP网页游戏是怎样实现游戏逻辑的?
如果调用python脚本,
比如从detective_office.py中调用check_mailbox.py,
好像也能实现,但是每次调用另一个python脚本,都会启动一个新的python系统进程吧?
会不会对服务器CPU、内存消耗较大?
或者把LUA嵌入PHP更好一点?
或者有其他更方便的游戏脚本语言可以选择,可以嵌入PHP?
其实我需求并不高,主要是希望游戏脚本支持:
1. if - else分支
2. call其他脚本
3. 数学计算
4. call自定义函数
还有个问题,
如果我不用其他脚本语言,只是用上面示例的PHP实现,
像这种调用:
call_user_func_array(array('detectiveOffice','enter'), array("名侦探"));
太繁杂了,有没有办法简化成这样:
enter('detectiveOffice', '名侦探')
同时还要支持if - else分支等功能。
any comments or information is appreciated.
谢谢大家。
|
|