哪个网游排行 65533的主角把日本开发的游戏给玩爆了,又进了一�

游戏机大盘点:三巨头的兴衰荣辱--百度百家
游戏机大盘点:三巨头的兴衰荣辱
分享到微信朋友圈
游戏机可谓是七零后、八零后和九零后几代人的集体回忆。随着游戏机禁令的解除,PS4、Xbox one即将入华,游戏机也重新成为了热点。借此机会,老友记先为诸位客官讲述一下几代游戏机的前世今生。
游戏机可谓是七零后、八零后和九零后几代人的集体回忆。随着游戏机禁令的解除,PS4、Xbox one即将入华,游戏机也重新成为了热点。借此机会,老友记先为诸位客官讲述一下几代游戏机的前世今生。
一、与中国无缘的1、2代游戏机
买一部游戏机送一台电视,这样的事情放在今天你敢信吗?
1972年,名为奥德赛的世界首款电视游戏机在美国诞生,而由于技术问题,这款家庭游戏机只能做到游戏机与电视融为一体,看起来更像是现在的ATM机。虽然这款游戏机体型庞大并且只能玩一种类似于双人打砖块的无聊乒乓球游戏,但是它的面世还是震惊了世人,因为在当时,可以控制电视画面的想法是不可想象的。此后诞生的名为PONG的街机以及Telstar与奥德赛一起组成了一代游戏机的阵容。而买游戏机需要搭一台电视,成为这代游戏机的共同特点。
二代机的诞生标志是一款名为雅达利2600的游戏机,这款研发耗资超过1亿美元的游戏机最大的特点是与电视分离,并且可以更换卡带。这种改变是创造性的,正因此,这款游戏机为它的投资公司华纳带来了巨额财富。而正所谓成也萧何败也萧何,更换卡带的创意吸引了大批消费者的同时,也使一大批逐利的小型卡带开发公司疯狂涌入市场。软件质量急剧下滑,感觉受骗的消费者逐渐抛弃了这款游戏机,导致美国游戏机市场完全崩溃,结束了这个世代跟雅达利公司的一代江山。
再将目光转向当时的国内,中国在七十年代初已经与美国开始了贸易,但游戏机显然不在交易的名单里。对于这一点也比较好理解,我大天朝当时尚处于怀揣毛主席语录,大谈革命理想的年代,哪有国际时间去理会这些破坏社会主义建设积极性的奇技淫巧。因此1、2代游戏机与中国无缘。
二、几代人的回忆——任天堂红白机
提到“超级玛丽”、“赤色要塞”、“坦克大战”,想必70年代、80年代和90年代的同志们都能侃侃而谈,任天堂FC(因其配色也成红白机)这款经典的家用游戏机曾经为几代人的童年带来了美好的回忆。
1984年邓小平同志提出了“计算机的普及要从娃娃做起”的口号,从此红白机作为开发青少年智力的电子设备大量涌入中国。而我们也不得不承认,这款设备的确起到了提高青少年智商的作用,多少熊孩子因此学会了骗零花钱偷偷的去逛游戏厅。
更让人惊叹的是,被提高智商的队伍中还包括一批成年人。红白机在中国的火热,使中国第一批电子山寨厂商开始如雨后春笋般冒了出来。这其中比较成功的就是以学习机的名义来卖游戏机的“小霸王”。对于当时的青少年来说,拥有一台“小霸王”游戏机,不对是学习机,对身份的提升不亚于如今拥有一部苹果手机,一听到那声风骚的“小霸王其乐无穷”顿时就感到逼格飞涨。尽管如今“小霸王”已经没落,但在当年的辉煌堪称奇迹。
红白机及其兼容机在国内的影响是现在的游戏机无法复制的,其在国际市场更是有1亿台的销售成绩。尽管在今天看来,这款游戏机的配置寒酸无比,但任天堂依靠优秀软件扶持游戏机的销售策略使其在很长一段时间里都占尽优势,挑战这位霸主的有世嘉公司和NEC公司,甚至雅达利公司也想翻盘,但都不敌任天堂的FC。八十年代是名副其实的任天堂时代。FC在国际上的巨大成功为任天堂带来了巨额回报,但也为其发展买下了隐患。
三、任天堂的没落,PS的崛起
80年代末,为了对抗强势的任天堂,世嘉和NEC等一批日本游戏企业开始了新一代游戏机的研发。此后,NEC的PC-Engine和世嘉的MD等几款加装CD-ROM的游戏机开始面世。为了在任天堂垄断的欧美市场打开缺口,世嘉推出了大量以成年玩家为对象的游戏,意在开拓较高年龄层的新玩家族群。
而此时坐拥金山的任天堂则是不思进取,FC的盛行使任天堂对新一代游戏机的开发毫无兴趣。逐渐打开市场并且性能超越FC的世嘉MD游戏机市场占有率开始一路飙升。当任天堂感到威胁并开始投产自己的新一代游戏机SFC时已为时晚矣。任天堂在与世嘉的比拼中开始全面的落于下风。
不甘于此的任天堂与索尼联姻,开始共同开发次世代主机。然而在研发期间,任天堂和索尼在游戏的储存媒体使用CD还是卡带这个问题上发生了严重冲突。最终婚姻破裂,心高气傲的任天堂单方面终止了合作。为了不让成型的产品付诸东流,索尼决定独自带大孩子,将“PlayStation计划”进行下去,而令索尼没想到的是,这个孩子在未来取得了令人炫目的成绩。
94年PS发售,首发仪式相当火爆,连索尼社长的孙子都空手而归。在利益面前,日本几大游戏软件开发商抛弃了任天堂加盟索尼。固执己见的任天堂在两年后发售了新的卡带游戏机N64,虽然从首发来看N64更加抢手,但卡带软件的高成本令软件开发商纷纷远离,N64上市时只有尴尬的两款游戏。此后《生化危机》等几款PS游戏的发行令N64彻底被击垮,而在与世嘉SS的比拼中,索尼PS以价格以及性能优势全面胜出,至此,索尼PS一举奠定了自己在游戏机市场的江湖地位。
四、游戏机禁令,PS与Xbox的双雄争霸
由于部分熊孩子对电子游戏的过度沉迷导致家庭矛盾社会矛盾激增,2000年六月,文化部等七部门一纸禁令,宣告了中国的电子游戏机产业进入冰封期。
与此同时,国外市场的竞争正在进入白热化。
在与PS的竞争中内伤严重的世嘉力图打一场翻身仗,为此甚至花重金聘请IBM工程师成立了美国工作组,其在99年推出的DC(Dreamcast)的确不负众望,首发供不应求,取得了不俗的成绩。为了阻击世嘉,索尼不得不提前发布了PS2游戏机。事实证明,索尼的这一做法是英明的,网上预订开启的一分钟之内索尼便收到了10万份PS2订单,导致索尼的服务器主机直接变身小霸王,崩溃瘫痪。此后由于持续的高需求,一度催生了倒卖PS2的黄牛党,索尼打了一场漂亮的阻击战。
游戏市场的火爆使软件行业的巨无霸微软终于也忍不住想要插一脚,2001年,微软发布了第一代Xbox主机,虽然当时PS2的全球销量已经突破了2000万部,但来势汹汹的Xbox依然令人畏惧。更令竞争对手无语的是,财大气粗的微软为了扩大销量,不惜采用近乎甩卖的价格亏本销售。微软每卖出一台Xbox就将亏损125美元,每年的亏损达到10亿,而大财主比尔盖茨表示对于这点亏损根本不在意。
在PS和Xbox的双重夹击下,世嘉彻底溃败,退出了游戏机市场,游戏机行业自此进入一段PS与Xbox双雄争霸的时期。
五、两强博弈,任天堂卷土重来
尽管Xbox在欧美市场表现强势,但在以日本为首的亚洲市场却一直难有作为,原因很明显:一是Xbox游戏以欧美为背景,存在文化差异;二是Xbox堪比观音身边守山大神般乌黑庞大的外型实在是得不到日本或是其他亚洲国家的喜爱。痛定思痛后,微软聘请了日本和美国的设计公司重新设计了新一代游戏机Xbox360,并邀请日系软件厂商开发游戏。Xbox360因此撬动了PS在日本市场的统治地位。
而称霸游戏产业十年的PS则有些倒霉,先是市场份额受到蚕食,而后又由于光盘与多媒体接口的规格问题而临时推迟了发布,好在这种放鸽子的行为并未造成大的影响。06年PS3推出后立刻一销而空,甚至发生了针对PS3的抢劫案。
但PS3的热销并未持续太久,完成阻击任务的是曾经惨败的任天堂。2005年,任天堂发布了新款游戏机Wii并展示了创新的体感操作方式,惊艳全场。06年底Wii在美国首发后,便引起了疯狂的抢购。尽管硬件性能弱于PS3与Xbox360,但全新的体感操作使得很多非传统玩家(女性和中老年人)都开始玩游戏机。任天堂开创了全新的市场,销量超越PS3与Xbox,打了一场漂亮的翻身仗。
六、禁令解除,三足鼎立争入华
2013年,上海自贸区建立,持续了14年的游戏机禁令有望作古,中国大陆的游戏玩家们看到了游戏机入华的曙光。此后不久,百视通便宣布将与微软合作,引进微软新一代游戏机Xbox
one。而三大巨头的另外一家索尼则在近日宣布,将与东方明珠集团合作,力促PS4入华。与上述两家的积极态度不同,任天堂对入华还采取观望态度,尽管已经发布了入华声明,但在中国市场出售的将不会是他们的新旗舰机型Wii
U,而是一款重新设计的游戏机。
在三巨头入华之前,先让我们看一下他们最新旗舰的近况。
首先来看一下索尼的PS 4,这款游戏机在外观和性能等许多方面都有较大提升。硬件方面采用了8核X86架构64AMD Jagua CPU,AMD R10XX GPU,AMD Radeon显卡,内置8GB GDDR5内存,可谓强悍。而299美元的售价却比PS3刚上市时便宜了200美元,可谓加量却减价。与之相对应,这款机器在国际市场十分抢手,截止到5月3号已经售出750万台,全球缺货,势头强劲。与主机的强势相反,PS 4游戏软件销量却略显疲软,其主打的《恶名昭彰:次子》、《野兽之影》等几款游戏均不卖座,在去年12月份的统计中,游戏软件销量前50位PS4平台仅仅占据了两席,分别为第33位的《使命召唤:幽灵》和第50位外号“男朋友4”的EA旗下射击游戏。
再来看一下微软Xbox
one,这款拥有最新体感设备Kinect组件的微软新旗舰被定位为一个完美的客厅家庭娱乐解决方案。其硬件配置与PS4基本一致,仅在内存方面稍有逊色(Xbox one采用的是8GB GDDR3内存),整体性能同样强悍。在国际市场这款主机目前有450万台的销量,较PS4有较大差距,但其首发游戏《战地4》、《FIFA 14》等大作却有大批的拥趸,销量喜人。
最后看一下任天堂的Wii U。不知道是该为任天堂高兴还是为之难过,其上一代主机Wii销量到现在仍居高不下,而最新旗舰Wii U却业绩惨淡。最后任天堂得出的结论竟然是Wii U的名字起得不好,以至于消费者不知道这是一款与Wii不同的新产品。虽然销量数据难看了点,这款任天堂新旗舰还是有亮点的,其带有触摸显示屏,可作为平板单独玩游戏的手柄解决了很多玩家对移动游戏的需求,同时《超级马里奥U》、《僵尸U》等几款游戏也很卖座。目前看来,Wii U的销售正在回暖,这款主机不在国内出售还是有些遗憾。
回头再谈谈三大厂商入华的事,三大游戏机巨头虽然在欧美市场混得风生水起,在中国却可能要经过一段水土不服的时期。索尼和微软首先要面对的便是中国严峻的盗版形势,赔钱卖主机,软件再挣钱的方式在中国大陆基本上是死路一条。此外,14年的禁令使中国的游戏市场早已形成了以PC端网游为主导的稳定架构,除了极少数的游戏发烧友外,中国的普通消费者是否愿意为昂贵的电视游戏主机买单也值得推敲。而微软除了上述两个问题外,还面临着更严峻的实现——没有针对中国市场的游戏软件,以至于部分玩家戏称道:有了Xbox学习机,妈妈再也不用担心我的学习了。
虽然禁令解除了,但中国市场行情还是一个巨大的问号,希望几家巨头自重,谨慎为好。
阅读:21175
分享到微信朋友圈
在手机阅读、分享本文
还可以输入250个字
推荐文章RECOMMEND
阅读:3439
热门文章HOT NEWS
特朗普以无可辩驳的碾压式选举人团票优势击败民主党候选人希拉里....
汽车服务世界
票房透视镜
娱乐资本论
百度新闻实验室
百度新闻客户端
百度新闻客户端
百度新闻客户端
扫描二维码下载
订阅 "百家" 频道
观看更多百家精彩新闻游戏的法则和LYING MAN里面的小游戏&黑与白&,C++,源码
最近在看游戏的法则,里面有一个黑与白的小游戏,感觉规则很简单,就写了一个小程序来模拟。界面是用黑框的输入输出来表示的。黑白游戏规则:双方没人持有1-9的数字,奇数白,偶数为黑,双方出一张牌比大小,只能看到对方出的是黑还是白,大的得一分,不公布双方数字,胜者下一轮先出,最后得分多的人胜出。总的来说,先手玩家有一定的劣势,对手可以针对牌的颜色来指定出牌策略。代码的话第一块是主界面,可以重复进行游戏。源代码地址:黑与白程序代码BlackMain.cpp#include &iostream&#include &BlackAndWhite.h&enGameState gaming(){ CBlackAndW game.StartGame(); game.OutputRecord(); return game.CalculateState();}void explain(){ cout&&&****************说明****************&&&
cout&&&游戏规则:&&&
双方拥有1到9,9张牌,奇数牌背面为黑色,偶数牌背面为白色&&&
游戏开始随机一方为先手玩家,之后上一句的赢家为先手玩家&&&
先手玩家需要先选出一张牌,背面朝上摆在桌子上&&&
另外一方可以根据情况选择想出的牌,背面朝上放置在桌子上&&&
裁判比较牌的大小,大的一方获得一分,平局不得分&&&
在游戏结束之前,玩家不能知道对手出的牌的大小&&&
所有牌都耗尽之后,分数多的玩家获胜&&&
cout&&&操作说明:&&&
输入1-9的值表示牌面大小&&&
如果为后手玩家,可以看到先手玩家出牌的背面的颜色&&&
注意,9比所有的白色牌都大&&&
cout&&&创作说明:&&&
主要是看了游戏的法则和LYING MAN,想玩一玩类似的游戏&&&
规则虽然简单,个中博弈却很复杂&&&
想一想有没有必胜法则&&&
}int main(){ while(1) {
system(&cls&);
cout&&&-----------black and white------------&&&
huangjy &&&
cout&&&please input the number:&&&
1.start the game&&&
2.explain&&&
enGameState gsState = gaming();
if(gsState == gsWin)
cout&&&you win&&&
else if(gsState == gsLose)
cout&&&you lose&&&
cout&&&draw&&&
explain();
cout&&&back to menu
,n:exit &&&
cin.clear();
cin.sync();
if(yn=='n'||yn=='N')
return 1;}以上是主界面的显示,主要是主菜单可以重新开始,或者查看说明游戏的主要内容写在类BlackAndWhite中#pragma once#include &Player.h&#include &vector&class CBlackAndWhite{private: int m_nRemainT vector&CPlayer& m_ vector&string& m_strRpublic: CBlackAndWhite(void); ~CBlackAndWhite(void); void StartGame(); enGameState CalculateState(); void OutputRecord();};#include &BlackAndWhite.h&#include &time.h&#include &iostream&CBlackAndWhite::CBlackAndWhite(void){ m_nRemainTimes = nMaxC CPlayer p1(&User&,false),p2(&computer&,true); m_player.push_back(p1); m_player.push_back(p2);}CBlackAndWhite::~CBlackAndWhite(void){}void CBlackAndWhite::StartGame(){ enGameState gsState = gsC m_strRecord.clear(); srand(time(NULL)); int nLastWin = rand()%2; CChess chess[2]; while(m_nRemainTimes & 0&&gsState == gsContinue) {
chess[nLastWin] = m_player[nLastWin].DealOneChess();
cout&&m_player[nLastWin].GetName().c_str()&&& deal&;
if(chess[nLastWin].GetChessColor() == ccWhite)
cout&&& white&&&
cout&&& black&&&
chess[!nLastWin] = m_player[!nLastWin].DealOneChess();
cout&&m_player[!nLastWin].GetName().c_str()&&& deal&;
if(chess[!nLastWin].GetChessColor() == ccWhite)
cout&&& white&&&
cout&&& black&&&
if(chess[0] & chess[1])
char tmpstr[100];
sprintf(tmpstr,&%d & %d %s Win&,chess[0].GetNumber(),chess[1].GetNumber(),m_player[1].GetName().c_str());
m_strRecord.push_back(string(tmpstr));
cout&&m_player[1].GetName().c_str()&&& Win&&&
m_player[1].WinOneMatch();
nLastWin = 1;
else if(chess[1] & chess[0])
char tmpstr[100];
sprintf(tmpstr,&%d & %d %s Win&,chess[0].GetNumber(),chess[1].GetNumber(),m_player[0].GetName().c_str());
m_strRecord.push_back(string(tmpstr));
cout&&m_player[0].GetName().c_str()&&& Win&&&
m_player[0].WinOneMatch();
nLastWin = 0;
char tmpstr[100];
sprintf(tmpstr,&%d = %d Draw&,chess[0].GetNumber(),chess[1].GetNumber());
m_strRecord.push_back(string(tmpstr));
cout&&& Draw&&&
m_player[0].DrawOneMatch();
m_player[1].DrawOneMatch();
m_nRemainTimes--;
gsState = CalculateState(); } gsState = CalculateState(); if(gsState == gsWin) {
cout&&m_player[0].GetName().c_str()&&& win&&& } else if(gsState == gsLose) {
cout&&m_player[1].GetName().c_str()&&& win&&& } else {
cout&&&draw&&& }}enGameState CBlackAndWhite::CalculateState(){ if (m_player[0].GetWins() & (nMaxChess-m_player[0].GetDraws())/2) {
return gsW }
else if(m_player[1].GetWins() & (nMaxChess-m_player[1].GetDraws())/2) {
return gsL } else
return gsC}void CBlackAndWhite::OutputRecord(){ cout&&&--------game record start------&&& for(vector&string&::iterator it = m_strRecord.begin(); it != m_strRecord.end(); ++it) {
&&&it-&c_str()&& } cout&&&---------game record end-------&&&}该游戏类中需要生成Player成员,主要在Player类中#pragma once#include &Chess.h&#include &set&class CPlayer{private: bool m_bAI; int m_nW int m_nD string m_strPlayerN set&CChess& m_public: CPlayer(string strName,bool bAI); CPlayer(void); ~CPlayer(void); CChess DealOneChess(); int RandomRationNum(int nSize,unsigned int* pRation); void WinOneMatch(); int GetWins(); void DrawOneMatch(); int GetDraws(); string GetName(); string GetRemainNumbers(); bool IsMember(int x);};#include &Player.h&#include &iostream&#include &time.h&CPlayer::CPlayer(string strName,bool bAI){ m_nWin = 0; m_nDraw = 0; m_bAI = bAI; m_strPlayerName = strN m_chess.clear(); for(int i = 1; i &= nMaxC i++) {
m_chess.insert(CChess(i)); }}CPlayer::CPlayer(void){ m_nWin = 0; m_nDraw = 0; m_bAI = m_strPlayerName = &NoName&; m_chess.clear(); for(int i = 1; i &= nMaxC i++) {
m_chess.insert(CChess(i)); }}CPlayer::~CPlayer(void){}CChess CPlayer::DealOneChess(){ if(m_bAI) {
unsigned int* pNum = new unsigned int[m_chess.size()];
int i = 0;
for(set&CChess&::iterator it = m_chess.begin(); it != m_chess.end(); ++it)
pNum[i] = 100/(max(5-it-&GetNumber(),it-&GetNumber()-4));
int nIndex = RandomRationNum(m_chess.size(),pNum);
for(set&CChess&::iterator it = m_chess.begin(); it != m_chess.end(); ++it)
if(i == nIndex)
delete[] pN
m_chess.erase(chess);
cin.clear();
cin.sync();
cout&&&please input the number &&&GetRemainNumbers().c_str()&&
} while (!IsMember(x));
CChess chess(x);
m_chess.erase(chess);
}}int CPlayer::RandomRationNum(int nSize,unsigned int* pRation){ if(nSize &= 0)
return 0; unsigned int* pSumRation = new unsigned int[nSize]; pSumRation[0] = pRation[0]; for(int i = 1; i & nS i++) {
pSumRation[i] =pRation[i]+pSumRation[i-1];
} int nMin,nM nMax = nMin = 0; srand(time(NULL)); int nRand = rand()%pSumRation[nSize-1]; for(int i = 0; i & nS i++) {
nMax = pSumRation[i];
if(nRand &= nMin&&nRand & nMax)
delete[] pSumR
} } delete[] pSumR return 0;}void CPlayer::WinOneMatch(){ m_nWin++;}int CPlayer::GetWins(){ return m_nW}void CPlayer::DrawOneMatch(){ m_nDraw++;}int CPlayer::GetDraws(){ return m_nD}string CPlayer::GetName(){ return m_strPlayerN}string CPlayer::GetRemainNumbers(){ string strResult = &(&; char tmpstr[100]; memset(tmpstr,'/0',sizeof(tmpstr)); for(set&CChess&::iterator it = m_chess.begin(); it != m_chess.end(); ++it) {
char tstr[10];
memset(tstr,'/0',sizeof(tstr));
sprintf(tstr,&%d,&,it-&GetNumber());
strcat(tmpstr,tstr); } strResult.append(tmpstr); strResult.erase(strResult.size()-1); strResult.append(&)&); return strR}bool CPlayer::IsMember(int x){ for(set&CChess&::iterator it = m_chess.begin(); it != m_chess.end(); ++it) {
if(it-&GetNumber() == x)
} }Chess类是用来表示牌的大小和颜色的#pragma once#include &BlackAndWhiteConst.h&class CChess{private: enChessColor m_ccC int m_nNpublic: CChess(void); CChess(int nNum); ~CChess(void); bool operator&(const CChess& chess) int GetNumber() enChessColor GetChessColor()};#include &Chess.h&CChess::CChess(int nNum){ m_ccColor = enChessColor((nNum-1)%2); m_nNum = nN}CChess::CChess(void){}CChess::~CChess(void){}bool CChess::operator&(const CChess& chess) const{ return m_nNum & chess.m_nN}int CChess::GetNumber() const{ return m_nN}enChessColor CChess::GetChessColor() const{ return m_ccC} 最后定义了一些常量,放在头文件中#pragma onceenum enChessColor{ ccBlack, ccWhite};enum enGameState{ gsContinue, gsWin, gsLose};enum{nMaxChess=9};enum{nPlayers=2};
最新教程周点击榜
微信扫一扫视频地址复制
Flash地址复制
Html地址复制
离线看更方便
用或其他应用扫描二维码
说说我为什么录这个视频吧,因为听说游戏药丸了,虽然又听说最近要更新了,我想在停服前留下一点东西吧,我很菜,轻喷。。。
/#/m/playlist?id=&userid=
广播电视节目制作经营许可证:(沪)字第1248号
网络文化经营许可证:沪网文[6号
信息网络传播视听节目许可证:0910417
互联网ICP备案:沪ICP备号-3
沪ICP证:沪B2-
违法不良信息举报邮箱:
违法不良信息举报电话: 转 3

我要回帖

更多关于 主角是boss的网游小说 的文章

 

随机推荐