Czy istnieje proste „Hello World” do tworzenia gier?


17

Czy ktoś wie o prostym „Hello World” do tworzenia gier dla Ubuntu? Widziałem wideo Szybki start.

Jakieś przykłady platformówek czy coś takiego?

EDYCJA: Tylko podsumowanie odpowiedzi.

Silnik gry Blender - używa Pythona

Pygame - Python

MonoGame http://monogame.codeplex.com/ - jakiś rodzaj XNA?

QuakeC - To C o smaku C jak język. Zobacz: Steel Storm http://one.steel-storm.com/


7
Zobacz: developer.ubuntu.com/community "Weź udział w AskUbuntu› Wspólnie edytowana strona pytań i odpowiedzi dla użytkowników i programistów Ubuntu. 100% darmowa, nie wymaga rejestracji Zadaj pytanie teraz "" Myślę, że askubuntu powinno być dla programistów także.
rano

2
Osobiście uważam, że jest w porządku, ponieważ na developer.uc jest wspomniany na AU. Jeśli OP może bardziej szczegółowo określić, czego szukają, byłoby to najlepsze.
jrg

Odpowiedzi:


8

Blender może stworzyć grę 3D za pomocą Pythona: http://www.blender.org/features-gallery/features/

Można tam stworzyć prostą grę hello world, w pełni zintegrowaną z dźwiękiem, symulacją fizyki, GLSL, wtyczkami do wielu rzeczy (w tym wtyczką sieciową i internetową), dobrym i profesjonalnym przepływem pracy.

Platformówka 3D: http://www.youtube.com/watch?v=BGqyvX4P6Pg

Prezentacja funkcji: http://www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D jest fajny, ale to nie jest silnik gry, to kilka bibliotek Pythona, w których można złożyć silnik gry, ale nie jest on w pełni zintegrowany.

Ogre3D jest taki sam, to nie jest silnik gry, to po prostu silnik grafiki 3D, w którym możesz złożyć silnik gry, musisz na przykład zakodować własny dźwięk.


Myślę, że Ogre3D i Panda3D mają być wyłącznie silnikami grafiki 3D i powinny być używane z SFML lub SDL do rozszerzania z 2d na 3d oraz z Bullet lub PhysX do integracji fizyki. Jest to łatwe do zrobienia, jeśli znasz już którykolwiek z powyższych.
cprn

10

Jedną szybką i łatwą opcją jest Szybko .

Utworzenie projektu jest tak proste, jak wpisanie go na terminalu:

quickly create ubuntu-application my-new-project

Zobacz wideo wprowadzające .

Jest to także świetna strona: http://developer.ubuntu.com/get-started/

I oczywiście instrukcja: man quickly

Będziesz używać Pythona, który jest również świetny do gier 3D, patrz Panda3D .


1
Tak, zacznę od tego.
Luis Alvarado,

@desgua Widziałem to wideo. Czy masz jakieś doświadczenie w używaniu Quickly jako punktu wyjścia dla twórców gier?
Jestem

(?) Im myślenie Szybko + pygame działa dobrze na niczym, wskaż i kliknij gry typu, może nie tyle, aby platformówki ...
jestem

Nie mogę się z tobą zgodzić. Są nawet ludzie, którzy próbują używać kodu Pythona do gier na Androida (tylko dla przykładu mocy Pythona) Zobacz to: kivy.org/#home
desgua

Pygame jest całkiem niezłą pygame.org/news.html i jeśli tworzy świetne szybkie gry, Flash wciąż nie da się pokonać.
David Pitkin

6

Tak jak w każdym systemie operacyjnym, musisz wybrać język programowania, który może wykorzystywać OpenGL do grafiki. Następnie po prostu opracuj grę.

Ponieważ wiele aplikacji w systemie Ubuntu jest typu open source, w centrum oprogramowania można je znaleźć za darmo i użyć następującego polecenia: sudo apt-get source gameName To da ci wyobrażenie o tym, w jaki sposób gry, które już istnieją, są tworzone dla systemu Ubuntu. Możesz także dowiedzieć się, jak pakować pakiety debian, kiedy uważasz, że jesteś gotowy do dystrybucji.


Dlaczego wymóg OpenGL? Istnieje wiele alternatywnych bibliotek / języków, które mogą tworzyć gry.
Pubby

1
@Pubby możesz wymienić jakieś?
Jestem

4

Sprawdziłeś PyGame? to świetna biblioteka do tworzenia gier. Istnieje już wiele gier, w których możesz przeczytać kod i nauczyć się jednej lub dwóch rzeczy. Wolę poświęcić swój wolny czas na naukę tworzenia gry platformowej tylko ze względu na naukę. Zamieszczę swoje wnioski i odpowiem później, przedstawiając rzeczywistą pracę

Proszę sprawdzić http://www.pygame.org/wiki/tutorials

Mam nadzieję że to pomoże


Widziałem + użyłem pygame. Czy znasz jakieś prawdziwe gry, które zostały w nim napisane? Prawdziwe = A cała gra (nie tylko dema) z pewnymi przyzwoitą grafiką i gry
jestem



1

Niektóre silniki gier współpracujące z ubuntu to Panda3D i love2d. Oba są bardzo łatwe do nauczenia się i mają dobrą dokumentację oraz społeczność.


1

Niestety dla gier nie ma prostego Hello World. Najmniejszy Hello World, jaki kiedykolwiek udało mi się wymyślić dla gry wykorzystującej tylko kod, nie szybko lub pygame, zawiera około 50 linii kodu C, który uruchamia Opengl i różne nagłówki C, konfiguruje niektóre pliki OpenGL i otwiera okno z witaniem świat wydrukowany.

Programowanie gier, nawet w systemie Linux, nie jest tak proste, jak myśli większość ludzi.

Jeśli chcesz czegoś łatwiejszego, Blender 2.6 ma wbudowany silnik gry, używa Pythona i jest bardzo intuicyjny, ale moim zdaniem mniej elastyczny niż proste C + OpenGL.

Niektóre zasoby: nehe.gamedev.net Google;) istnieją inne pływające wokół, po prostu nie pamiętam ich nazw, przepraszam: |.



0

Oto 50 Kółko i krzyżyk:

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 ();
    }
}

Ponieważ jest to Java, nie jest związany z Ubuntu, nawet z Linuksem, ale będzie działał również w systemach Solaris, Apple i Windows - tam gdzie jest JVM.

Podobnie jest w przypadku rozwiązań w Smalltalk, Python, Ruby, ... - nawet w C lub C ++, gdy używany jest przenośny framework, taki jak Qt lub Gnome, a nie niektóre zastrzeżone klasy MFC. W C i C ++ oczywiście musisz ponownie skompilować zawartość.


0

Prostota tworzenia gier zależy od wybranego języka programowania / środowiska. Dla zaawansowanych programistów najlepszym sposobem może być kodowanie gry bezpośrednio w wybranym języku programowania (C / C ++ / Python / Java / itp.).

Dla hobbystów / niekodujących, którzy lubią prosty interfejs „przeciągnij i upuść” do tworzenia gier, polecam „Stencyl” ( http://www.stencyl.com/ ).

Witryna pomocy „Stencyl” zawiera wszystkie zasoby potrzebne do rozpoczęcia tworzenia gier. Możesz także bezpośrednio przejść do strony pomocy „Crash Course 2”, aby stworzyć pierwszą grę całkowicie od zera w „Stencyl” ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ) . „Crash Course” jest podany w „częściach” i jest bardzo łatwy do naśladowania.


-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;   
}

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.