Cocos推出云游戏方案Cocos Play 大作一键秒玩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos推出云游戏方案Cocos Play 大作一键秒玩相关的知识,希望对你有一定的参考价值。

参考技术A

8月3日,全球知名游戏开发引擎 Cocos 在上海召开 2019 新品发布会,正式对外公布了云游戏&小游戏混合技术方案 Cocos Play,在发布会上,云游戏产业联盟(Cloud Gaming Industry Aliance,简称CGIA)正式发起成立。该联盟是由Cocos 同咪咕互动娱乐、炫彩互动、小沃游戏共同倡导,并协同华为云等云技术平台共同发起成立的。同时,Cocos 公布了 3D 编辑器以及 AVG 编辑器Story Master。

触控科技董事长陈昊芝在发布会上表示,在 5G 时代,云游戏将引领游戏行业走向下一个黄金十年。而随着硬件/网络/技术的不断升级,云游戏时代的产品模式也将不断进化。Cocos将持续参与/推动技术进步,并与同业/平台/终端厂商一起,推动游戏行业持续发展。

云游戏产业联盟

陈昊芝在发布会上演讲

大作一键秒玩! Cocos Play 云游戏方案正式公布

随着 5G 时代的正式来临,“云游戏”无疑是游戏行业从业者乃至玩家最为关注的话题。此次发布会上,Cocos CEO 王哲向大家展示了云游戏时代的美好愿景:云游戏,将不再依赖于专用游戏设备;全效全流畅体验不再被玩家硬件配置所拖累;无下载等待;大作一键秒玩!王哲表示,云游戏是游戏史上最为重大的演进之一,它打破了设备配置时间与空间的壁垒,让每一个玩家,都能公平体验到虚拟世界的乐趣。

Cocos CEO王哲介绍Cocos Play

在技术上,Cocos Play 云游戏上采用了华为鲲鹏芯片和泰山服务器架构,支持使用任意引擎的所有手游云化部署,还将逐步加入对 PC 云游戏的支持。未来,玩家只需要一块联网的触控屏幕,即可使用 Cocos Play 同时体验 PC 游戏与手机游戏。据悉,Cocos在云游戏技术的储备上,已经深耕多年。Cocos不仅是华为云游戏管理平台的深度合作伙伴,负责其中“安卓视频流”的开发,还直接为华为快游戏平台提供技术支持。发布会上,Cocos Play 展示出了全效全流畅体验腾讯暗黑手游大作《拉结尔》与用虚幻四制作的手游大作《天空之门》的视频,显示出Cocos Play 云游戏方案强大的技术积累。

Cocos在云游戏技术上拥有多年探索积累

而在内容上,Cocos Play将得到整个Cocos开发者生态的支持。Cocos CEO王哲表示,截止 2018 年,Cocos在全球拥有 140 万注册开发者,覆盖超过 11 亿台设备。而伴随Cocos Play推出的,是Cocos引擎游戏“一键上云”的相关技术套件,让开发者可以便捷在Cocos Play发布自己的游戏。基于此,让Cocos Play天生就具备强大的云游戏内容生态,足以为玩家提供丰富的云游戏产品。

云游戏,解决玩家下端

随着 Cocos Play 的正式公布,也标志着“云玩家”这个略显调侃的网络词汇,其定义也将发生变化。从今天开始,人人都将是“云玩家”。

KPL2019春季赛冠军战队eStar pro现场体验云游戏

Cocos Creator 3D 编辑器与 AVG 编辑器Story Master正式推出

除了 Cocos Play 的亮相,此次发布会,Cocos 也带来了 Cocos Creator 3D 编辑器与 AVG 游戏编辑器Story Master。这也是继 2010 年 Cocos2d-x 正式推出后,Cocos 引擎最为重大的一次革新。Cocos Creator 3D 革命性地提升了 Cocos 引擎对于 3D 游戏开发的技术支持;而Story Master,是 Cocos 在特定类型市场面向未来的重要布局。

Cocos CTO林顺介绍3D编辑器

触控科技 CEO 龚峤在发布会上公布了 AVG 游戏开发工具的首批内容合作伙伴:包括中国最大的数字内容出版商之一,拥有《流浪地球》《乡村教师》等知名IP的中文在线;知名动画内容开发品牌,开发制作了《狐妖小红娘》《一人之下》等动画作品的绘梦。全面展现了 Cocos 在内容制作上广聚名作的深厚积累。

触控科技CEO龚峤介绍StoryMaster

龚峤提到,Story Master与Cocos Creator 3D编辑器的推出,标志着Cocos不仅将持续在引擎技术上提升赋能开发者的能力,也同时将发展Cocos对细分游戏类型的精细化技术支持。Cocos一直走在技术/平台/内容更迭周期之前,以便在技术应用到来之时便可以给开发者/用户提供足够完善的开发工具,这是Cocos周而复始坚持在做的事。龚峤表示,Cocos坚持技术赋能开发者,自己不生产内容;串联各家平台,做好衔接人角色。

此次发布会,是Cocos最新技术进展的一次全面展示,也是一次极富雄心的誓师大会。从单纯的技术赋能,到内容组织,Cocos体现了更大的发展格局,这家由中国人打造的世界级引擎正在大步迈向全新发展阶段。

基于cocos2dx,在android的游戏中加入google play game排行榜。

国内关于google play game service的例子实在太少,而最近做的一款游戏要用到排行榜。

顺便打个广告,小弟做的一款答题休闲类Dogface GaGa游戏在苹果谷歌以及国内各大平台已经上线了。

总的来说google play service比game center,还是有很多有点的。首先一点就是,google paly service支持ios 以及 android跨平台玩家共用一份数据。其次,当玩家玩到某一进度时,在其他手机中,可以不用重新开始,实现游戏数据同步。而game center只能实现排行榜以及成就榜。还有一点,排行分数的更新速度,google play service是非常快的,这边上传完分数,那边就已经可以看到了。相反,game center上传与显示之间却存在时差,一般你上传的分数,要等2个小时多,其他玩家才能看到。所以估计未来会有更多的ios游戏加入google play。


注意:使用排行榜的前提是你已经是google开发者,并且在自己的应用中设置了google play游戏排行榜功能。这是小生第一次发的技术贴,转发请著名出处。


demo下载地址:点击打开链接
ccos2dx版本:2.2.3(其他版本应该也可以)


一、google play框架的配置


1、先下载好google play service sdk,在android manger里就可以下载。下载完是放在<android-sdk>/extras/google目录里。我们找到google-play-services_lib文件,在<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/里,然后复制到你的指定的位置,然后在eclipse中导入这个项目。导入方法与导入安卓项目一样。


2、在eclipse中,在你的cocos2dx项目中引用这个库。右键项目名,properties>android>add>选择google-play-services_lib项目。


3、在eclipse中,打开你的项目的manifest.xml,添加
	<meta-data android:name="com.google.android.gms.version"
        	android:value="@integer/google_play_services_version" />

这样你就可以用google play的服务了,广告,game service等。


二、在项目中加入game service服务


1、下载完demo以后,复制 demo 中pro.android/src/com/google文件夹复制到自己项目的com里,或者直接把BaseGameActivity.java GameHelper.java GameHelperUtils.java复制到自己的包中,不过就要修改三个文件的包名。


2、复制完以后,因为GameHelperUtils.java中,import了.R文件,所以要修改为自己显目的.R文件


3、修改自己项目的activity继承自BaseGameActivity这个类。并添加成员变量

                private static final int REQUEST_ACHIEVEMENTS = 10000;
		private static final int REQUEST_LEADERBOARDS = 10001;
		private static final int REQUEST_LEADERBOARD = 10002;
		static Activity me = null;//在onCreate方法中指向this。</span>

三个成员变量。看3个名称就知道,是指定请求类别的。第一个是请求成就板,第二个是请求所有的排行榜,第三个是请求指定的排行榜。


4、添加显示排行榜方法

public static void showLeaderboard(final String leaderboardID) 
			//因为是静态方法,所以要引用自身的acivity,所以上一步才添加me这个成员变量
			//由于安卓的设定,要显示控件,要在ui线程里。
			me.runOnUiThread(new Runnable() 
				@Override
				public void run() 
					if (((Dogface_Ga_Ga) me).isSignedIn())
					//这里要转换为自身acivity的类名
						me.startActivityForResult(
							Games.Leaderboards.getLeaderboardIntent(
									((Dogface_Ga_Ga) me).getApiClient(), leaderboardID),
							REQUEST_LEADERBOARD);
					else 

						((Dogface_Ga_Ga) me).beginUserInitiatedSignIn();
						//当没有登录的时候,则启动登录界面
					
				
			);
		</span>


5、添加上传分数方法

	public static void submitScore(final String leaderboardID, final long score) 
		//leaderboardID是google play开发者自己应用设置的排行榜id
		me.runOnUiThread(new Runnable() 

			@Override
			public void run() 
				if (((Dogface_Ga_Ga) me).isSignedIn()) 
					Log.d(TAG, "Submit score " + score + " to " + leaderboardID);

					Games.Leaderboards.submitScore(((Dogface_Ga_Ga) me).getCustomApiClient(),
							leaderboardID, score);

				 else 
					//这里可以把最高分存储起来,在游戏能登录后,在提交分数
				
			
		);
	


6、在manifast.xml中加入

        <meta-data
            android:name="com.google.android.gms.games.APP_ID"
            android:value="@string/google_play_game_app_id" />


google_play_game_app_id是你的应用在开启google play服务时分配的id。你可以在项目的res/values中新建xml里定义id的值,如:

<resources>
<string name="google_play_game_app_id">此处写上google play的id</string>
</resources>



至此,就可以实现游戏的上传分数,以及显示排行榜了。之后如何让c++层调用java层,网上有很多教程,这里就不做多介绍了。

这是我第一次写技术文,如果有哪些漏洞或者错误,请各位大牛指正。小生有错必改。

注意在调试游戏的时候,不能用自带的debug签名,以为你在设置google play id的时候,是根据的你的签名秘钥绑定的。你需要用自己的签名调试。如何更改调试签名,在我的下一篇中会介绍。




以上是关于Cocos推出云游戏方案Cocos Play 大作一键秒玩的主要内容,如果未能解决你的问题,请参考以下文章

Cocos2D + Storyboards,实现Play Again功能并重新加载游戏场景

cocos creator 入门理解点

如何在cocos2d-x中实现实时多人google play游戏服务c++

Cocos 帮助更多优秀移动游戏登上 Web 舞台

Cocos 帮助更多优秀移动游戏登上 Web 舞台

基于cocos2dx,在android的游戏中加入google play game排行榜。