Oyun yapmak için basit bir “Merhaba Dünya” var mı?


17

Herkes ubuntu için oyun yapmak için basit bir "Merhaba Dünya" biliyor mu? Çabuk Başlarken videosunu gördüm.

Platformculara veya bunun gibi bir şeye örnek var mı?

EDIT: Sadece cevapların bir özeti.

Blender Oyun motoru - Python kullanır

Pygame - Python

MonoGame http://monogame.codeplex.com/ - bir çeşit XNA?

QuakeC - Bu bir Quake aromalı C gibi lang. Bakınız: Çelik Fırtına http://one.steel-storm.com/


7
Bakınız: developer.ubuntu.com/community "AskUbuntu'ya katılın› Ubuntu kullanıcıları ve geliştiricileri için ortaklaşa düzenlenmiş bir soru-cevap sitesi.% 100 ücretsiz, kayıt gerekli Şimdi bir soru sorun ›" Bence askubuntu geliştiriciler için olmalı de.
ben

2
Kişisel olarak bunun iyi olduğunu hissediyorum, çünkü geliştirici.uc'da AU'da bahsedildi. Eğer OP aradıkları şeye biraz daha spesifik gelebilirse, o zaman en iyisi bu olurdu.
jrg

Yanıtlar:


8

Blender, Python ile 3D Oyun yapabilir: http://www.blender.org/features-gallery/features/

Orada basit bir merhaba dünya oyunu yapmak mümkün, Ses, Fizik simülasyonu, GLSL, bir çok şey için eklentiler (Ağ ve Web eklentisi dahil), iyi ve profesyonel iş akışı ile tamamen entegre.

3D Platformer: http://www.youtube.com/watch?v=BGqyvX4P6Pg

Özellikler Demosu: http://www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D serin, ama bir Oyun Motoru değil, bir Oyun Motoru monte edebileceğiniz bir Python Kütüphanesi, ama tam ve sorunsuz entegre değil.

Ogre3D aynı, bir Oyun Motoru değil, sadece bir 3D Grafik motoru, bir Oyun Motoru monte edebileceğiniz gibi, örneğin kendi Sesinizi kodlamanız gerekir.


Bence Ogre3D ve Panda3D sadece 3B grafik motorları olmalı ve 2d'den 3B'ye genişletmek için SFML veya SDL ile ve fiziği entegre etmek için Bullet veya PhysX ile kullanılmalıdır. Yukarıdakilerden herhangi birine zaten aşina olduğunuzda yapmak kolaydır.
cprn

10

Hızlı ve kolay bir seçenek Hızla .

Bir proje oluşturmak bunu terminalde yazmak kadar kolaydır:

quickly create ubuntu-application my-new-project

Bu tanıtım videosuna bakın .

Ayrıca bu harika bir site: http://developer.ubuntu.com/get-started/

Ve elbette, el kitabı: man quickly

3D oyunlar için de harika olan python kullanacaksınız, bkz. Panda3D .


1
Evet, onunla başlardım.
Luis Alvarado

@desgua O videoyu gördüm. Game dev için bir başlangıç ​​noktası olarak Quickly kullanma deneyiminiz var mı?
ben

(?) Im düşünme Hızla + pygame tipi oyunlar, belki bu kadar platformers yapmamaya ... noktası, benzerleri için iyi çalışıyor ve tıklayın
duyuyorum

Seninle aynı fikirde değilim. Android oyunları için python kodunu kullanmaya çalışan insanlar bile var (sadece python'un
desgua

Pygame oldukça iyi pygame.org/news.html ve eğer sadece harika hızlı oyunlar yapıyorsa Flash hala yenemez.
David Pitkin

6

Her işletim sisteminde olduğu gibi, grafikler için OpenGL'yi kullanabilen bir programlama dili seçmeniz gerekecektir. Sonra oyunu geliştirin.

Ubuntu'daki birçok uygulama açık kaynak olduğundan, yazılım merkezinde ücretsiz olanı bulabilir ve aşağıdaki komutu kullanabilirsiniz: sudo apt-get source gameName Bu, Ubuntu için zaten mevcut olan oyunların nasıl yapıldığına dair bir fikir verecektir. Dağıtım için hazır olduğunuzu düşündüğünüzde debian paketlerinin nasıl paketleneceğini de araştırabilirsiniz.


Neden OpenGL gereksinimi? Oyun yapabilen birçok alternatif kütüphane / dil var.
Pubby

1
@ Tombul biraz isim verebilir misiniz?
ben

4

PyGame'i kontrol ettin mi? oyun yapmak için harika bir kütüphane. Kodu okuyabileceğiniz ve bir iki şey öğrenebileceğiniz çok sayıda oyun var. Ben sadece öğrenme uğruna bir platform oyunu yapmak için öğrenme boş zaman ayırıyorum param. Öğrenmelerimi göndereceğim ve daha sonra bazı gerçek çalışmalarla cevap vereceğim

Lütfen http://www.pygame.org/wiki/tutorials adresini ziyaret edin

Bu yardımcı olur umarım


Bazı + oyunlarını gördüm + kullandım. İçinde yazılmış gerçek oyunları biliyor musunuz? Gerçek = Bazı iyi grafik ve oyun ile bütün bir oyun (sadece demo)
duyuyorum



1

Ubuntu ile çalışan bazı oyun motorları Panda3D ve love2d'dir. Her ikisini de öğrenmek çok kolaydır ve iyi belgelere ve topluluğa sahiptir.


1

Ne yazık ki, oyunlar için basit bir Merhaba Dünya yok. Hızlı veya pygame değil, sadece kod kullanarak bir oyun için gelebilecek en küçük Hello World, opengl ve çeşitli C başlıklarını oluşturan, bazı opengl şeyler ayarlayan ve merhaba ile bir pencere açan yaklaşık 50 satır C kodu dünya baskılı.

Oyun programlama, hatta Linux'ta bile, çoğu insanın düşündüğü kadar basit değildir.

Yine de daha kolay bir şey istiyorsanız, Blender 2.6'da yerleşik bir oyun motoru var, Python kullanıyor ve bence çok sezgisel, ancak düz C + OpenGL'den daha az esnek.

Bazı kaynaklar: nehe.gamedev.net Google;) etrafında yüzen başka var, ben sadece isimlerini hatırlayamıyorum, üzgünüm: |.


0

Ayrıca qt ve qml'yi tavsiye etmek istiyorum


0

İşte 50 satırlı Tic-Tac-Toe:

import java.awt.*;  
import java.awt.event.*;
import javax.swing.*;

public class TicTacToe extends JFrame implements ActionListener {
    private JButton [] button  = new JButton [9];
    private int count = 0;

    public TicTacToe () {           
        super ("Tic-Tac-Toe");
        setSize (300, 300);
        setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        setLayout (new GridLayout (3, 3));
        init ();
    }

    private void init () {           
        count = 0;
        for (int i = 0; i < 9; ++i) {
            button [i] = new JButton ("");
            button [i].addActionListener (this);
            add (button [i]);
        }
        setVisible (true);
    }

    public void actionPerformed (ActionEvent a) {    
        String letter = (++count % 2 == 1) ? "X" : "O";
        for (JButton jb : button) 
        if (a.getSource () == jb) {
            jb.setText (letter);
            jb.setEnabled (false);
        }
        if (count == 9) {
            for (JButton jb : button) 
                remove (jb) ;
            init ();
        }
    }

    public static void main (String [] args) {           
        new TicTacToe ();
    }
}

Java olduğu için Ubuntu'ya bağlı değil, hatta Linux'a bağlı değil, bir JVM'nin olduğu Solaris, Apple ve Windows'ta da çalışacak.

Ancak bu, Smalltalk, Python, Ruby, ... içindeki çözümlere benzer - hatta bazı MFC sınıfları değil, Qt veya Gnome gibi taşınabilir bir çerçeve kullanıldığında C veya C ++ 'da. C ve C ++ 'da, elbette şeyleri yeniden derlemelisiniz.


0

Oyun yapmanın basitliği, seçtiğiniz programlama diline / ortamına bağlıdır. Gelişmiş programcılar için, oyununuzu doğrudan seçtiğiniz bir programlama dilinde (C / C ++ / Python / Java / etc) kodlamak en iyi yol olabilir.

Oyun oluşturmak için basit bir sürükle ve bırak arayüzünü seven hobiler / kodlayıcı olmayanlar için, 'Stencyl' ( http://www.stencyl.com/ ) öneririm .

'Stencyl' yardım web sitesi, oyun oluşturmaya başlamanız için gerekli tüm kaynaklara sahiptir. İlk oyununuzu tamamen 'Stencyl' de sıfırdan oluşturmak için doğrudan 'Crash Course 2' yardım sayfasına da gidebilirsiniz ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ) . 'Crash Course' 'bölümler' halinde verilir ve takip edilmesi çok kolaydır.


-1
//A Hello World for game
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int a=5, answer;
    printf("I am guess number game\n\n"); getchar(); 
    printf("I have a number\n\n"); getchar();
    printf("...between 1 until 10...\n\n"); getchar();
    printf("Try to guess: \n\n"); scanf("%d", &answer);
    while(1){
    if(answer<a){printf("\nYours %d, too small...\n\nInput again: ", answer); scanf("%d", &answer);}
    if(answer>a){printf("\nYours %d, too big...\n\nInput again: ", answer); scanf("%d", &answer);}
    if(answer==a){printf("\nYou're Right! My number is %d!\n\nDa daaag...", a); break;}
             }
return 0;   
}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.