Existe-t-il un simple «Hello World» pour créer des jeux?


17

Est-ce que quelqu'un connaît un simple "Hello World" pour créer des jeux pour Ubuntu? J'ai vu la vidéo Mise en route rapide.

Des exemples de plateformes ou quelque chose comme ça?

EDIT: Juste un récapitulatif des réponses.

Moteur de jeu Blender - Utilise python

Pygame - Python

MonoGame http://monogame.codeplex.com/ - une sorte de XNA?

QuakeC - C'est un C à saveur de Quake comme lang. Voir: Steel Storm http://one.steel-storm.com/


7
Voir: developer.ubuntu.com/community "Participez sur AskUbuntu› Un site de questions et réponses édité en collaboration pour les utilisateurs et les développeurs d'Ubuntu. 100% gratuit, aucune inscription requise Posez une question maintenant ›" Je pense que askubuntu est censé être pour les développeurs ainsi que.
am

2
Personnellement, je pense que c'est bien, car sur developer.uc, il est mentionné sur AU. Si l'OP peut obtenir un peu plus de détails sur ce qu'ils recherchent, alors ce serait mieux.
jrg

Réponses:


8

Blender peut créer un jeu 3D avec Python: http://www.blender.org/features-gallery/features/

Il est possible d'y faire un simple jeu de bonjour, entièrement intégré avec le son, la simulation physique, GLSL, des plugins pour beaucoup de choses (Networking et plugin Web inclus), un bon workflow professionnel.

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

Démo des fonctionnalités: http://www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D c'est cool, mais ce n'est pas un moteur de jeu, c'est un tas de bibliothèque Python où vous pouvez assembler un moteur de jeu, mais ce n'est pas entièrement et sans couture intégré.

Ogre3D est comme le même, ce n'est pas un moteur de jeu, c'est juste un moteur graphique 3D, où vous pouvez assembler un moteur de jeu, vous devez coder votre propre son par exemple.


Je pense que Ogre3D et Panda3D sont censés être des moteurs graphiques 3D uniquement et devraient être utilisés avec SFML ou SDL pour passer de 2D à 3D et avec Bullet ou PhysX pour intégrer la physique. C'est simple à faire lorsque vous êtes déjà familiarisé avec l'un des éléments ci-dessus.
cprn

10

Une option rapide et facile est rapidement .

Créer un projet est aussi simple que de taper ceci sur le terminal:

quickly create ubuntu-application my-new-project

Voir cette vidéo d'introduction .

C'est aussi un excellent site: http://developer.ubuntu.com/get-started/

Et, bien sûr, le manuel: man quickly

Vous utiliserez python qui est également idéal pour les jeux 3D, voir Panda3D .


1
Ouais, je commencerais par celui-là.
Luis Alvarado

@desgua J'ai vu cette vidéo. Avez-vous une expérience d'utilisation de Quickly comme point de départ pour le développement de jeux?
am

(?) Im penser rapidement + pygame fonctionne bien pour les autres, pointer et cliquer jeux de type, peut - être pas tant de choses à faire platformers ...
am

Je ne peux pas être d'accord avec toi. Il y a même des gens qui essaient d'utiliser du code python pour les jeux Android (juste pour faire un exemple de la puissance de python) Voir ceci: kivy.org/#home
desgua

Pygame est plutôt bon pygame.org/news.html et s'il ne fait que de bons jeux rapides, Flash ne peut toujours pas être battu.
David Pitkin

6

Comme sur tout système d'exploitation, vous devrez choisir un langage de programmation pouvant utiliser OpenGL pour les graphiques. Ensuite, développez simplement le jeu.

Étant donné que de nombreuses applications sur Ubuntu sont open source, vous pouvez en trouver une dans le centre de logiciels qui est gratuite et utiliser la commande suivante: sudo apt-get source gameName Cela vous donnera une idée de la façon dont les jeux qui existent déjà sont faits pour Ubuntu. Vous pouvez également rechercher comment empaqueter les paquets Debian lorsque vous pensez être prêt pour la distribution.


Pourquoi l'exigence OpenGL? Il existe de nombreuses bibliothèques / langages alternatifs qui peuvent créer des jeux.
Pubby

1
@Pubby pouvez-vous en nommer quelques-uns?
am

4

Avez-vous vérifié PyGame? c'est une excellente bibliothèque pour faire des jeux. Il y a beaucoup de jeux déjà créés que vous pouvez lire le code et apprendre une chose ou deux. Je consacre actuellement mon temps libre à apprendre à créer un jeu de plateforme juste pour le plaisir d'apprendre. Je publierai mes apprentissages et répondrai plus tard avec du travail

Veuillez consulter http://www.pygame.org/wiki/tutorials

J'espère que cela t'aides


J'ai vu + utilisé pygame certains. Connaissez-vous de vrais jeux qui y ont été écrits? Real = Un jeu entier (pas seulement des démos) avec des graphismes décents et jeu
je suis



1

Certains moteurs de jeu qui fonctionnent avec ubuntu sont Panda3D et love2d. Les deux sont très faciles à apprendre et ont une bonne documentation et une bonne communauté.


1

Malheureusement, il n'y a pas de simple Hello World pour les jeux. Le plus petit Hello World que j'aie jamais trouvé pour un jeu utilisant uniquement du code, pas rapidement ou pygame, est d'environ 50 lignes de code C qui contient opengl et divers en-têtes C, configure des éléments opengl et ouvre une fenêtre avec bonjour monde imprimé.

La programmation de jeux, même sous Linux, n'est pas aussi simple que la plupart des gens le pensent.

Si vous voulez quelque chose de plus simple, Blender 2.6 a un moteur de jeu intégré, il utilise Python et est très intuitif, mais moins flexible que le C + OpenGL simple à mon avis.

Certaines ressources: nehe.gamedev.net Google;) il y en a d'autres qui flottent, je ne peux pas me souvenir de leurs noms, désolé: |.


0

Je voudrais également recommander qt et qml


0

Voici un Tic-Tac-Toe de 50 lignes:

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

Comme il s'agit de Java, il n'est pas lié à Ubuntu, pas même à Linux, mais fonctionnera également sur Solaris, Apple et Windows - où se trouve une JVM.

Mais cela est similaire pour les solutions en Smalltalk, Python, Ruby, ... - même en C ou C ++ lorsqu'un framework portable est utilisé comme Qt ou Gnome, et pas certaines classes MFC propriétaires. En C et C ++, bien sûr, vous devez recompiler les choses.


0

La simplicité de création de jeux est basée sur le langage / environnement de programmation que vous choisissez. Pour les programmeurs avancés, coder votre jeu directement dans un langage de programmation de votre choix (C / C ++ / Python / Java / etc) peut être le meilleur moyen.

Pour les amateurs / non-codeurs qui aiment une simple interface glisser-déposer pour créer des jeux, je recommande «Stencyl» ( http://www.stencyl.com/ ).

Le site Web d'aide «Stencyl» contient toutes les ressources pour vous aider à créer des jeux. Vous pouvez également accéder directement à la page d'aide "Crash Course 2" pour créer votre premier jeu entièrement à partir de zéro dans "Stencyl" ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ) . Le «cours intensif» est donné en «parties» et est très facile à suivre.


-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
Pas beaucoup de rejouabilité ... ;-)
Eliah Kagan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.