想學游戲編程,游戲編程是不是一般都是用C語言或C?
看了樓上很多人都說unity用c#,ue用c++,這樣其實是錯的,這兩個引擎都是用的c++編寫,然后增加了腳本支持,u3d用c#,ue用自己的腳本而已。但是兩個引擎你要上c++也沒問題。
現代軟件開發,包括游戲,都很少使用單一語言開發的,例如你看魔獸世界,好龐大的游戲,他用純c++開發的話,可能還要跳票10年,編譯語言開發業務的效率,真的沒辦法和腳本語言相比,只要你的游戲核心部分,語需要強大的計算效率部分都用c或者c++寫好,腳本調用就好了,無論是python還是lua,js,c#都可以用,普通業務效率基本沒區別。
總結一下就是,需要高效率運算的部分,就用c/c++,例如渲染。
游戲玩法部分,就用腳本語言就行了。
開發流程是什么樣的?
游戲開發是一個復雜的工程,但看題主的意圖是想獨立開發一款游戲。
那么一個人能不能開發一款游戲呢?答案當然是肯定的。
游戲的范疇很大,從上百G的3A大作,到僅僅64K的超級馬里奧,都是游戲,并且游戲獲得市場的認可跟自身的體積沒有半毛錢的關系,所以我們沒必要對著3A大作望洋興嘆!什么都沒做就先否定自己。
對于游戲開發的流程、分工、以及各種必要元素很多答主都分析的井井有條,在這里沒有必要過多累贅,僅僅分析一下,對于一個新入門的游戲開發者應該具備哪些素養:
前提:1,如果題主想要開發一款類似于《使命召喚:戰區》、亦或是《刺客信條:奧德賽》這類的超大型的3A巨制,那么基本就不需要往下看了,因為以現在的技術很難一個人獨立完成這樣的游戲,這些游戲都是用上千人的隊伍花費數年制作的。
2,如果題主有大量的資金(上不封頂),可以直接找專業公司做,以下也可以忽視。
如果以上都是否定,那么題主就可以繼續往下看了~
學游戲先學編程,這步必不可少現在游戲的開發技術五花八門,但最重要的一環就是編程,如果把一款游戲比作一個人的話,那么編程就比作人的大腦,編程的重要性由此可見一斑。
那么編程要學哪些語言呢?這里只推薦兩門語言:C#和swift。這兩門語言都是現代化的面向對象編程語言,功能強大,且簡潔易掌握。那么這兩種語言要怎么選擇呢?
1,C#是首選的。它所依附的Unity 3D是現在最受歡迎游戲開發平臺,依靠他基本可以開發出現在市面上所有類型的游戲(PS:《王者榮耀》也是它開發的哦~)。并且支持跨平臺,一個游戲工程,可以發布在所有游戲平臺:如PC、PS4、Xbox、iOS、Android等,省去了用戶跨平臺移植的麻煩
2,swift僅僅是針對iOS平臺,蘋果利用它開發了自己的游戲引擎:SpriteKit、SceneKit等,因為她比較簡單,已經有80歲的老奶奶和6歲的小朋友利用它開發出了游戲并深受好評!當然缺點也比較明顯,只能運行于蘋果設備,如:iPhone,iPad,Mac等,無法運行在PC或安卓設備。
具體選擇就看題主的意愿了,我的建議是直接C#省事!
美術和音樂,雖跨度巨大,但有折中方法如果把編程比作人的大腦,那么美術就是人的骨肉或衣服,音樂就是人的靈魂。
美術的功夫深不見底,如果想要研究,一輩子的時間也不夠充裕,音樂亦是如此。對于一款小型的獨立游戲,美術可能就是幾張圖片,如《Flappy Bird》就是幾張小鳥的動作分解圖和背景,音效就是一段簡單的循環播放音樂和死亡的音樂,一個人完全可以搞定,但是阻擋不了它的風靡!
關卡設計、戰斗平衡等這些也是游戲中特別注意的點,也是體現設計者巧妙心思的點,做好了可能就是游戲的核心玩法,做不好就會被用戶罵成翔!
以上幾點淺薄的認識希望對題主有所幫助~
以后想學游戲開發要報什么專業?
考計算機專業或者軟件工程專業
電腦IT編程就像是泥瓦匠;軟件開發就像是建筑隊;軟件開發包含編程,但不只是編程,他是一個工程,還涉及到架構,分析,功能設計,數據庫等等,編程只是里面最底層的體力工作;
有時間去電腦學校看看也行
寫一個游戲編程?
#include<iostream>
#include<iomanip>
#include<cstring>
using namespace std;
const int X = 21;
const int Y = 21;
char p[X][Y];
int m=0;
int n=0;
void display()
{
for(int i=0; i<X; i++)
cout<<setw(3)<<setfill(' ')<<i;
cout<<endl;
for(int i=1; i<Y; i++)
{
cout<<setw(3)<<setfill(' ')<<i;
for(int j=1;j<X;j++)
cout<<setw(3)<<setfill(' ')<<p[i][j];
cout<<endl;
}
}
void black()
{
cout<<"請黑方輸入bai落子位置du:\n"
<<"請輸入落子的行數:zhi";
cin>>m;
cout<<"請輸入落子的列數:";
cin>>n;
if(m<=0||m>=X||n>=Y||n<=0)
{
cout<<"超出棋盤范圍,請重新輸入正確坐標!\n";
black();
}
else if((p[m][n]==1)||p[m][n]==2)
{
cout<<"該點已有棋子,請重新選取落子點!\n";
black();
}
else
p[m][n]=1;
system("cls");
display();
}
void red()
{
cout<<"請紅方輸入落子位置:\n"
<<"請輸入落子的行數:";
cin>>m;
cout<<"請輸入落子的列數:";
cin>>n;
if(m>=X||m<=0||n<=0||n>=Y)
{
cout<<"超出棋盤范圍,請重新輸入正確坐標!\n";
red();
}
else if((p[m][n]==1)||p[m][n]==2)
{
cout<<"該點已有棋子,請重新選取落子點!\n";
red();
}
else
p[m][n]=2;
system("cls");
display();
}
int evalue()
{
int k = 0,r = 0;
for(k=3;k<X-2;k++)
{
for(r=3;r<Y-2;r++)
{
if(p[k][r]!='-'&&p[k-2][r-2]==p[k][r]&&p[k-1][r-1]==p[k][r]&&p[k+1][r+1]==p[k][r]&&p[k+2][r+2]==p[k][r])
return 1;
else if(p[k][r]!='-'&&p[k+2][r-2]==p[k][r]&&p[k+1][r-1]==p[k][r]&&p[k-1][r+1]==p[k][r]&&p[k-2][r+2]==p[k][r])
return 1;
}
}
for(k=1;k<X;k++)
for(r=3;r<Y-2;r++)
if(p[k][r]!='-'&&p[k][r-2]==p[k][r]&&p[k][r-1]==p[k][r]&&p[k][r+1]==p[k][r]&&p[k][r+2]==p[k][r])
return 1;
for(k=3;k<X-2;k++)
for(r=1;r<Y;r++)
if(p[k][r]!='-'&&p[k-2][r]==p[k][r]&&p[k-1][r]==p[k][r]&&p[k+1][r]==p[k][r]&&p[k+2][r]==p[k][r])
return 1;
return 0;
}
int main()
{
memset(p,'-',441);
cout<<"歡迎使用簡易雙人對戰五子棋游戲\n"
<<"五子棋棋譜如下:\n";
display();
while(1)
{
red();
if(evalue())
{
cout<<"紅方贏!\n";
break;
}
black();
if(evalue())
{
cout<<"黑方贏!\n";
break;
}
}
return 0;
}
游戲開發需要具備哪些技術?
很多,頁面的,動畫的,html,數據庫,等
以上就是關于想學游戲編程和游戲編程是不是一般都是用C語言或C的相關問題解答,希望對你有所幫助。