我也发个自己写的RPG游戏Demo吧

作为一名小白,参加某比赛归来,真是被虐出了一脸热翔。
倒不是因为技不如人,是因为评委狗屁不懂,有的只会无脑耍脾气,有的只会大秀IOS比安卓的优越感,有的就会做个html,我刚打开游戏就问我为什么没有账号密码。。。
总之无力吐槽了,评选出来的那些特等奖还有一等奖真的不忍直视,参加这种低端比赛真是我人生的污点。。
但是辛苦做的Demo不能废了,发到论坛希望听取一下大家的意见。源码暂时不发了,因为有几个地方打算重构一下,但是有关于这个Demo的疑问都可以问我。。

心疼这一路花的路费、报名费、吃饭住宿各种费,我去墙角哭一会。。。

潜规则嘛,本来中国游戏行业就很不规范。

试玩了一下,创意不错的。有一个不明白的地方是斜45度的视觉是怎么弄的,是用carmer类吗?还有一个致命的地方是得到摇杆后边移动边攻击的操作很别扭。。。不知怎么表达,楼主的话应该明白我的意思

嗯,我很心疼花的钱。。。

摇杆是单点触摸的,滑动就是移动,点击就是攻击。就像快播的单手模式,你懂得。。

倾斜效果就是rotateby的,沿x轴转了好像30度左右

因为当时时间赶,好多地方不理想,比如摇杆和虚拟键盘的手感不太好,大地图之后的场景元素太单一,回合制战斗过于简单,由于没有旅店,所以每次战斗完都会加满血。我有时间就修改一下,尽量让它更好一些,我很喜欢这个游戏的音乐。这个游戏的原版就是steam的evoland,因为我没有原版的3d模型,所以参加的2d游戏比赛。另外我还用了重装机兵的音乐,推荐大家听一下。谢谢前面朋友的回复。

作者你这个游戏仿的是pc上的进化是吧

嗯,是PC上的Evoland,图片和音乐大多都来自于原版

这种demo确实不能拿去比赛

为什么呢?

毕竟是模仿的,参加比赛最好用原创素材和原创的想法。你这个DEMO只能体现你的开发能力。

提供源码吗

我当时有想过。不过好多做flappybird的,大家都没有美工,选择2d游戏这个题目也是因为不需要美工,可以直接ps处理一点网上的素材,所以我天真的以为比编码能力呢。。。

源码都是体力活,哪部分有疑问可以问我。。

可以看下源码吗,拜托

当时熬通宵赶工,源码可读性完全没法保证,而且41个类,没有一行注释。。。我打算整理一下,不过快考试了,暂时没有时间。。。

没什么技术,就是用的各种API而已。用到的都是很简单的东西,cocos2d-x的初学者完全会用的。。。
说一下基本思路吧:
1、开箱子之后会发生一些事件,这时候需要回调函数,因为我是C++写的,没办法做到脚本语言中“反射”的功能,所以是用std::map做的,map的key是字符串,保存在tiled地图中,map的value是一个函数指针,这样就可以模拟一下“反射”了。
2、颜色的切换就是单纯的replaceScene,不过要保证切换前地图的改动(如割掉的草)能够在新切换的场景中得到延续,类似存档和读档。
3、虚拟键盘和摇杆的切换。两者继承了OperatorBase抽象基类,所以可以随时切换。
4、存档。地图的改动保存在一个单例DataService中,切换场景时,将改动写入临时文件,再次切换回来时记得及时恢复,这样保证数据的持久化。存档时,将临时文件复制到存档文件。万一存档前死亡,清空DataService中的内容,忽略临时文件的内容。
5、GameManager单例类保存栈顶场景的角色、地图、提示框等元素的指针,方便开箱子后的处理还有其他模块的逻辑。(例如回合制战斗模块只需要一行addChild就可以加入场景,它只需要检测GameManager的Player是否在行走,就可以决定是否触发战斗),这样减少各模块的耦合。

暂时想到了这一些,我必须承认,代码真的没有上面这几句话好懂。。。
如果感兴趣的话可以自己试着敲一下,有什么疑问问我就好了,大学狗除了考试都有时间。:7:

刚才提示 “考(和谐)试” 是敏感词。。。如果和谐我再发发一遍。。。

就是保存游戏这块不敢确定,其他的也能想个七七八八.现在知道了,谢了,回答这么详细.

好长时间了,突然想到一个问题请教一下,主角和怪物的碰撞检测是怎么做的,貌似把这个操作放在定时器里时时刻刻去检测对cpu压力太大了.