用于简单客户端 - 服务器双人回合制游戏的引擎,具有随机匹配和在线统计功能

时间:2016-04-02 22:40:18

标签: ide game-engine multiplayer

我想创建一个非常简单的双人回合制多人游戏。游戏机制最好被描述为摇滚剪刀式游戏。比赛开始后,玩家选择他们的装备,然后比赛开始;一次攻击,另一次攻击,他们切换侧面,直到其中一个用完hp。如果玩家没有在转弯限制内选择他的动作,那么服务器会为他随机移动,如果玩家因任何原因断开连接,他应该能够重新加入该游戏。

我将使用客户端 - 服务器架构。我将需要随机匹配机制,尽管如果已经在引擎中实现,那么与朋友一起玩选项就可以开始了。必须在某个时候实施在线统计。

我或多或少地了解对象pascal(Delphi,Lazarus),但在与网络相关的任何事情上都绝对为零,而这些平台似乎绝对不适合服务器;可以为客户承受,但仍然有很多不足之处。我被推荐用于服务器的nod​​e.js并且玩了一下,一路上学习了一些javascript,但它似乎太复杂了。总的来说,在编程时即兴创作我很糟糕,只能根据某些记录良好的例子来学习复杂的概念。但是,图形和GUI设计没有问题。

考虑到上述要求和背景,请推荐我一个游戏引擎/ IDE以更少的麻烦实现我的想法,并在合理的时间范围内。

1 个答案:

答案 0 :(得分:0)

我不确定你知道多少JavaScript。

但如果您知道如何编写简单的游戏并对JavaScript感到满意,那么您需要的只是一种在JavaScript中处理多个播放器的方法 那么你可以使用我为网络部分编写的一小段代码。
好的,让我们开始:

通过网络与多个玩家制作游戏。 使用JavaScript + php非常容易。

基本上你需要的第一件事就是通过网络与玩家进行交流的简单方法。

通过让人们使用我的代码,我会让它变得简单。 我必须编写一些HTML5翻拍3d tic tac toe(www.dominicanvoice.com/caps3d)的代码。 所以你可以重用我必须编写的代码。

我写了两个对象 TNetworkCommand ,以及 TFindPlayers
TNetworkCommand ,设置基本的网络通信 TFindPlayers ,使用 TNetworkCommunication 进行一些代码构建,以通过网络查找其他播放器,以便您可以玩。

使用JavaScript游戏中的代码,只需包含它:

<script src="http://www.dominicanvoice.com/js/communication.php"></script>

然后您可以这样建立网络连接:

var comm = new TNetworkCommand('game_name'); // setup a communication with the network

并找到另一位玩家,你这样做:

var player = new TFindPlayers(comm,60); // find a player to play with.

然后你来回沟通,互相发送命令。

comm.send(player.player,"MY MOVE","{down:'7',up:'3'}");

并接收数据使用轮询命令,这样:

command = comm.receive();

收到的数据是JSON格式。

====================================
对象 TNetworkCommand

function TNetworkCommand(App) { // App is an unique game name
  function send(user,command,data);  // send, send data to a specific user
  function broadcast(command,data); // broadcast, sends data to all the users
  function receive(); // receive, gets data sent to you from other users
  function save(variable,value); // saves, saves data in a variable to be shared by all
  function restore(variable,value); // restore, gets the value of the data saved in variable
}

==================================
对象 TFindPlayers

function TFindPlayers(comm,timeOut) { // comm = the establish connection, timeout = tie to spend looking for a player.
  var player;                       // player = 'COMPUTER', if no player was found, or it returns an unique string, identifying the other player.
}

================================

不确定这是否是您所寻找的不是引擎,只是如何通过互联网使用JavaScript与其他玩家沟通的解决方案。
此外, TNetworkCommand 的保存&amp;恢复功能还解决了保存游戏高分等问题。

相关问题