¿Existe un simple "Hola Mundo" para hacer juegos?

17

¿Alguien sabe de un simple "Hello World" para hacer juegos para ubuntu? He visto el video Introducción a Quickly.

¿Algún ejemplo para plataformas o algo así?

EDITAR: solo un resumen de las respuestas.

Blender Game Engine - Utiliza Python

Pygame - Python

MonoGame http://monogame.codeplex.com/ - ¿algún tipo de XNA?

QuakeC - Este es un C con sabor a Quake como lang. Ver: Steel Storm http://one.steel-storm.com/

a.m
fuente
77
Consulte: developer.ubuntu.com/community "Participe en AskUbuntu› Un sitio de preguntas y respuestas editado en colaboración para usuarios y desarrolladores de Ubuntu. 100% gratuito, no requiere registro Haga una pregunta ahora ›" Creo que askubuntu se supone que es para desarrolladores también.
Soy
2
Personalmente, creo que esto está bien, ya que en developer.uc se menciona en AU. Si el OP puede ser un poco más específico sobre lo que está buscando, entonces eso sería lo mejor.
jrg

Respuestas:

8

Blender puede hacer un juego en 3D con Python: http://www.blender.org/features-gallery/features/

Es posible hacer un simple juego de hello world allí, está completamente integrado con sonido, simulación de física, GLSL, complementos para muchas cosas (redes y complementos web incluidos), flujo de trabajo bueno y profesional.

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

Demostración de características: http://www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D es genial, pero no es un Game Engine, es un montón de Python Library donde puedes ensamblar un Game Engine, pero no está completamente integrado.

Ogre3D es igual, no es un Game Engine, es solo un motor de gráficos en 3D, donde puedes armar un Game Engine, tienes que codificar tu propio sonido, por ejemplo.

juancarlospaco
fuente
Creo que se supone que Ogre3D y Panda3D son solo motores de gráficos en 3D y deben usarse con SFML o SDL para expandir de 2d a 3d y con Bullet o PhysX para integrar la física. Es fácil de hacer cuando ya está familiarizado con cualquiera de los anteriores.
cprn
10

Una opción rápida y fácil es Rápidamente .

Crear un proyecto es tan fácil como escribir esto en la terminal:

quickly create ubuntu-application my-new-project

Vea este video de introducción .

También este es un gran sitio: http://developer.ubuntu.com/get-started/

Y, por supuesto, el manual: man quickly

Utilizará Python, que también es ideal para juegos en 3D, vea Panda3D .

desgua
fuente
1
Sí, comenzaría con ese.
Luis Alvarado
@desgua He visto ese video. ¿Tienes alguna experiencia usando Quickly como punto de partida para desarrolladores de juegos?
Soy
Estoy pensando que Quickly + pygame (?) Funciona bien para juegos de tipo apuntar y hacer clic, tal vez no tanto para hacer plataformas ...
soy
No puedo estar de acuerdo contigo. Incluso hay personas que intentan usar el código de Python para juegos de Android (solo para dar un ejemplo del poder de Python). Vea esto: kivy.org/#home
desgua
Pygame es bastante bueno pygame.org/news.html y si solo está haciendo grandes juegos rápidos, Flash aún no puede ser vencido.
David Pitkin
6

Al igual que en cualquier sistema operativo, deberá elegir un lenguaje de programación que pueda usar OpenGL para gráficos. Entonces solo desarrolla el juego.

Dado que muchas aplicaciones en Ubuntu son de código abierto, puede encontrar una en el centro de software que es gratuita y usar el siguiente comando: sudo apt-get source gameName Eso le dará una idea de cómo se hacen los juegos que ya existen para Ubuntu. También puede investigar cómo empaquetar paquetes de Debian para cuando cree que está listo para la distribución.

Nathaniel Pisarski
fuente
¿Por qué el requisito de OpenGL? Hay muchas bibliotecas / idiomas alternativos que pueden hacer juegos.
Pubby
1
@Pubby, ¿puedes nombrar algunos?
Soy
4

¿Has echado un vistazo a PyGame? Es una gran biblioteca para hacer juegos. Ya hay muchos juegos en los que puedes leer el código y aprender una o dos cosas. Actualmente estoy dedicando mi tiempo libre a aprender a hacer un juego de plataformas solo por aprender. Publicaré mis aprendizajes y responderé más tarde con un trabajo real

Por favor revisa http://www.pygame.org/wiki/tutorials

Espero que esto ayude

Efrain Valles
fuente
He visto + usado pygame algunos. ¿Conoces algún juego real que se haya escrito en él? Real = Un juego completo (no solo demos) con algunos gráficos y juegos decentes
soy
1

Algunos motores de juegos que funcionan con ubuntu son Panda3D y love2d. Ambos son muy fáciles de aprender y tienen buena documentación y comunidad.

jonasADS
fuente
1

Desafortunadamente, no hay un simple Hello World para juegos. El Hello World más pequeño que he podido encontrar para un juego usando solo código, no rápidamente o pygame, es de aproximadamente 50 líneas de código C que se abren en opengl y varios encabezados C, configura algunas cosas de opengl y abre una ventana con hola mundo impreso

La programación de juegos, incluso en Linux, no es tan simple como la mayoría de la gente piensa.

Sin embargo, si quieres algo más fácil, Blender 2.6 tiene un motor de juego incorporado, utiliza Python y es muy intuitivo, pero, en mi opinión, es menos flexible que C + OpenGL.

Algunos recursos: nehe.gamedev.net Google;) hay otros flotando por ahí, simplemente no puedo recordar los nombres de ellos, lo siento: |.

nisshh
fuente
0

También me gustaría recomendar qt y qml

Kempe
fuente
0

Aquí hay un Tic-Tac-Toe de 50 líneas:

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

Como es Java, no está vinculado a Ubuntu, ni siquiera a Linux, sino que también se ejecutará en Solaris, Apple y Windows, donde se encuentra una JVM.

Pero eso es similar para soluciones en Smalltalk, Python, Ruby, ..., incluso en C o C ++ cuando se usa un marco portátil como Qt o Gnome, y no algunas clases de MFC patentadas. En C y C ++, por supuesto, tienes que volver a compilar las cosas.

usuario desconocido
fuente
0

La simplicidad de hacer juegos se basa en el lenguaje / entorno de programación que elijas. Para los programadores avanzados, codificar su juego directamente en un lenguaje de programación de elección (C / C ++ / Python / Java / etc.) puede ser la mejor manera.

Para los aficionados / no codificadores a quienes les gusta una simple interfaz de arrastrar y soltar para crear juegos, les recomiendo 'Stencyl' ( http://www.stencyl.com/ ).

El sitio web de ayuda 'Stencyl' tiene todos los recursos para comenzar a crear juegos. También puede ir directamente a la página de ayuda 'Crash Course 2' para crear su primer juego completamente desde cero en 'Stencyl' ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ) . El 'Crash Course' se imparte en 'partes' y es muy fácil de seguir.

ksd
fuente
-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;   
}
Ade Malsasa Akbar
fuente
1
No mucha rejugabilidad ... ;-)
Eliah Kagan