Gibt es eine einfache "Hallo Welt", um Spiele zu machen?


17

Kennt jemand eine einfache "Hallo Welt" zum Erstellen von Spielen für Ubuntu? Ich habe das Video Erste Schritte mit Quickly gesehen.

Irgendwelche Beispiele für Plattformfahrer oder so?

EDIT: Nur eine Zusammenfassung der Antworten.

Blender Game Engine - Verwendet Python

Pygame - Python

MonoGame http://monogame.codeplex.com/ - irgendeine Art von XNA?

QuakeC - Dies ist ein C mit Quake-Geschmack wie lang. Siehe: Steel Storm http://one.steel-storm.com/


7
Siehe: developer.ubuntu.com/community "An AskUbuntu teilnehmen› Eine kollaborativ bearbeitete Frage- und Antwortseite für Ubuntu-Benutzer und -Entwickler. 100% kostenlos, keine Registrierung erforderlich Jetzt eine Frage stellen ›" Ich denke, askubuntu ist für Entwickler gedacht auch.
am

2
Ich persönlich finde das in Ordnung, da es auf developer.uc auf AU erwähnt wird. Wenn das OP ein wenig präziser werden kann, wonach es sucht, dann ist das am besten.
Freitag,

Antworten:


8

Blender kann mit Python ein 3D-Spiel erstellen: http://www.blender.org/features-gallery/features/

Ist in der Lage, ein einfaches Hallo-Welt-Spiel zu machen. Es ist voll integriert mit Sound, Physik-Simulation, GLSL, Plugins für viele Dinge (Netzwerk- und Web-Plugin enthalten), gutem und professionellem Workflow.

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

Demo der Funktionen: http://www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D ist cool, aber keine Game Engine, es ist ein Bündel von Python-Bibliotheken, in denen Sie eine Game Engine zusammenstellen können, aber es ist nicht vollständig und nahtlos integriert.

Ogre3D ist wie das gleiche, es ist keine Game Engine, es ist nur eine 3D-Grafik-Engine, in der Sie eine Game Engine zusammenstellen können. Sie müssen beispielsweise Ihren eigenen Sound codieren.


Ich denke, Ogre3D und Panda3D sollten nur eine 3D-Grafik-Engine sein und mit SFML oder SDL von 2D auf 3D und mit Bullet oder PhysX zur Integration der Physik verwendet werden. Dies ist einfach, wenn Sie bereits mit den oben genannten Funktionen vertraut sind.
Cprn

10

Eine schnelle und einfache Option ist Quickly .

Das Erstellen eines Projekts ist so einfach wie das Eingeben am Terminal:

quickly create ubuntu-application my-new-project

Sehen Sie sich dieses Intro-Video an .

Dies ist auch eine großartige Seite: http://developer.ubuntu.com/get-started/

Und natürlich das Handbuch: man quickly

Sie werden Python verwenden, das sich auch hervorragend für 3D-Spiele eignet (siehe Panda3D) .


1
Ja, ich würde damit anfangen.
Luis Alvarado

@desgua Ich habe das Video gesehen. Haben Sie Erfahrung mit Quickly als Ausgangspunkt für Spieleentwickler?
am

Ich denke, Quickly + Pygame (?) Funktioniert gut für Spiele vom Typ "Gefällt mir", "Zeigen" und "Klicken", vielleicht nicht so sehr, um Plattformspieler zu machen ...
am

Da kann ich dir nicht zustimmen Es gibt sogar Leute, die versuchen, Python-Code für Android-Spiele zu verwenden (um nur ein Beispiel für die Leistungsfähigkeit von Python zu geben). Siehe hierzu: kivy.org/#home
desgua

Pygame ist ziemlich gut pygame.org/news.html und wenn es nur tolle schnelle Spiele macht, ist Flash immer noch nicht zu schlagen.
David Pitkin

6

Wie bei jedem Betriebssystem müssen Sie eine Programmiersprache auswählen, die OpenGL für Grafiken verwendet. Dann entwickle einfach das Spiel.

Da es sich bei vielen Anwendungen auf Ubuntu um Open Source handelt, können Sie eine kostenlose Anwendung im Software-Center finden und den folgenden Befehl verwenden: sudo apt-get source gameName Damit erhalten Sie eine Vorstellung davon, wie bereits vorhandene Spiele für Ubuntu erstellt wurden. Sie können auch nachforschen, wie Sie Debian-Pakete packen, wenn Sie glauben, dass Sie für die Verteilung bereit sind.


Warum die OpenGL-Anforderung? Es gibt viele alternative Bibliotheken / Sprachen, mit denen Spiele erstellt werden können.
Pubby

1
@Pubby können Sie einige nennen?
am

4

Hast du PyGame schon ausgecheckt? Es ist eine großartige Bibliothek zum Erstellen von Spielen. Es gibt bereits viele Spiele, bei denen Sie den Code lesen und ein oder zwei Dinge lernen können. Ich widme derzeit meine Freizeit dem Lernen, ein Plattformspiel nur zum Lernen zu machen. Ich werde meine Erkenntnisse veröffentlichen und später mit konkreter Arbeit antworten

Bitte besuchen Sie http://www.pygame.org/wiki/tutorials

Hoffe das hilft


Ich habe einige Pygame gesehen + benutzt. Kennen Sie echte Spiele, die darin geschrieben wurden? Real = Ein ganzes Spiel (nicht nur Demos) mit einigen anständigen Grafiken und Spielabläufen
am



1

Einige Spiele-Engines, die mit Ubuntu funktionieren, sind Panda3D und Love2D. Beide sind sehr einfach zu erlernen und haben eine gute Dokumentation und Community.


1

Leider gibt es keine einfache Hallo Welt für Spiele. Die kleinste Hello World, die jemals in der Lage war, ein Spiel nur mit Code zu entwickeln, nicht schnell oder mit Pygame. Sie besteht aus 50 Zeilen C-Code, der OpenGL und verschiedene C-Header enthält, OpenGL-Inhalte erstellt und ein Fenster mit Hallo öffnet Welt gedruckt.

Spieleprogrammierung ist selbst unter Linux nicht so einfach, wie die meisten Leute denken.

Wenn Sie etwas einfacheres wollen, hat Blender 2.6 eine eingebaute Spiel-Engine, verwendet Python und ist meiner Meinung nach sehr intuitiv, aber weniger flexibel als reines C + OpenGL.

Einige Ressourcen: nehe.gamedev.net Google;) es gibt andere, die herumschweben, ich kann mich nur nicht an die Namen erinnern, sorry: |.



0

Hier ist ein Tic-Tac-Toe mit 50 Zeilen:

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

Da es sich um Java handelt, ist es nicht an Ubuntu gebunden, nicht einmal an Linux, sondern kann auch unter Solaris, Apple und Windows ausgeführt werden - dort, wo sich eine JVM befindet.

Dies gilt jedoch auch für Lösungen in Smalltalk, Python, Ruby usw. - selbst in C oder C ++, wenn ein portables Framework wie Qt oder Gnome verwendet wird, und nicht für einige proprietäre MFC-Klassen. In C und C ++ müssen Sie das Zeug natürlich neu kompilieren.


0

Die Einfachheit der Erstellung von Spielen basiert auf der von Ihnen gewählten Programmiersprache / -umgebung. Für fortgeschrittene Programmierer ist das direkte Codieren Ihres Spiels in einer Programmiersprache Ihrer Wahl (C / C ++ / Python / Java / usw.) möglicherweise der beste Weg.

Für Hobbyisten / Nicht-Programmierer, die eine einfache Drag & Drop-Oberfläche zum Erstellen von Spielen bevorzugen, empfehle ich 'Stencyl' ( http://www.stencyl.com/ ).

Auf der Hilfe-Website von Stencyl finden Sie alle Ressourcen, die Sie benötigen, um mit dem Erstellen von Spielen zu beginnen. Sie können auch direkt zur Hilfeseite 'Crash Course 2' gehen, um Ihr erstes Spiel in 'Stencyl' zu erstellen ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ). . Der 'Crash-Kurs' wird in 'Teilen' angeboten und ist sehr einfach zu befolgen.


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

1
Nicht viel Wiederspielbarkeit ... ;-)
Eliah Kagan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.