Existe um "Hello World" simples para criar jogos?

17

Alguém conhece um "Hello World" simples para criar jogos para o ubuntu? Eu vi o vídeo Introdução ao Quickly.

Algum exemplo para plataformas ou algo assim?

EDIT: Apenas um resumo das respostas.

Mecanismo de jogo do Blender - Usa python

Pygame - Python

MonoGame http://monogame.codeplex.com/ - algum tipo de XNA?

QuakeC - Este é um Quake com sabor C, como o lang. Veja: Steel Storm http://one.steel-storm.com/

sou
fonte
7
Veja: developer.ubuntu.com/community "Participe do AskUbuntu› Um site de perguntas e respostas editado por colaboração para usuários e desenvolvedores do Ubuntu. 100% gratuito, sem necessidade de registro. Faça uma pergunta agora ›" Eu acho que o askubuntu deveria ser para desenvolvedores também.
am
2
Pessoalmente, acho que isso é bom, já que no developer.uc é mencionado na AU. Se o OP puder ser um pouco mais específico sobre o que está procurando, seria melhor.
Jrg

Respostas:

8

O Blender pode fazer um jogo em 3D com Python: http://www.blender.org/features-gallery/features/

É possível criar um simples jogo olá mundo lá, totalmente integrado com som, simulação física, GLSL, plugins para muitas coisas (incluindo plug-in de rede e web), bom e profissional fluxo de trabalho.

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

Demonstração de recursos: http://www.youtube.com/watch?v=SjFGDcGcEjE

O Panda3D é legal, mas não é um Game Engine, é um monte de Python Library, onde você pode montar um Game Engine, mas não é totalmente integrado.

O Ogre3D é igual, não é um Game Engine, é apenas um mecanismo de gráficos 3D, onde você pode montar um Game Engine, você deve codificar seu próprio som, por exemplo.

juancarlospaco
fonte
Eu acho que o Ogre3D e o Panda3D devem ser apenas motores de gráficos 3D e devem ser usados ​​com SFML ou SDL para expandir de 2d para 3D e com Bullet ou PhysX para integrar a física. É simples de fazer quando você já conhece algum dos itens acima.
Cprn 31/05
10

Uma opção rápida e fácil é Rapidamente .

Criar um projeto é tão fácil quanto digitar isso no terminal:

quickly create ubuntu-application my-new-project

Veja este vídeo de introdução .

Também é um ótimo site: http://developer.ubuntu.com/get-started/

E, claro, o manual: man quickly

Você usará python, que também é ótimo para jogos em 3D, veja Panda3D .

desgua
fonte
1
Sim, eu começaria com esse.
Luis Alvarado
@desgua Eu vi esse vídeo. Você tem alguma experiência em usar o Quickly como ponto de partida para desenvolvedores de jogos?
sou
(?) Im Pensando rapidamente + pygame funciona bem para como, apontar e clicar jogos do tipo, talvez não tanto para fazer platformers ...
estou
Eu não concordo com você. Existem pessoas até tentando usar código python para jogos Android (apenas para dar um exemplo do poder do python). Veja isto: kivy.org/#home
desgua
Pygame é muito bom pygame.org/news.html e, se estiver fazendo ótimos jogos rápidos, o Flash ainda não pode ser derrotado.
David Pitkin
6

Assim como em qualquer sistema operacional, você precisará escolher uma linguagem de programação que possa usar o OpenGL para gráficos. Então apenas desenvolva o jogo.

Como muitos aplicativos no Ubuntu são de código aberto, você pode encontrar um no centro de software gratuito e usar o seguinte comando: sudo apt-get source gameName Isso fornecerá uma idéia de como os jogos já existentes são criados para o Ubuntu. Você também pode pesquisar como empacotar pacotes debian para quando achar que está pronto para distribuição.

Nathaniel Pisarski
fonte
Por que o requisito OpenGL? Existem muitas bibliotecas / idiomas alternativos que podem criar jogos.
Pubby
1
@Pubby você pode citar alguns?
sou
4

Você já viu o PyGame? é uma ótima biblioteca para fazer jogos. Já existem muitos jogos que você pode ler o código e aprender uma coisa ou duas. Atualmente, dedico meu tempo livre a aprender a criar um jogo de plataforma apenas para aprender. Vou postar meus aprendizados e responder mais tarde com algum trabalho real

Por favor, verifique http://www.pygame.org/wiki/tutorials

Espero que isto ajude

Efrain Valles
fonte
Eu já vi + usei pygame alguns. Você conhece algum jogo real escrito nele? Real = Um jogo inteiro (não apenas demos) com alguns gráficos decentes e jogabilidade
:
2

Aconselho vivamente a interessar-me por isto: http://monogame.codeplex.com/

user12661
fonte
Isso parece muito bom também.
am
1

Alguns mecanismos de jogos que funcionam com o ubuntu são o Panda3D e o love2d. Ambos são muito fáceis de aprender e têm boa documentação e comunidade.

jonasADS
fonte
1

Infelizmente, não existe um Hello World simples para jogos. O menor Hello World já criado para um jogo usando apenas código, não rapidamente ou pygame, é de cerca de 50 linhas de código C que inits opengl e vários cabeçalhos C, configuram algumas coisas opengl e abrem uma janela com hello mundo impresso.

A programação de jogos, mesmo no Linux, não é tão simples quanto a maioria das pessoas pensa.

Se você quer algo mais fácil, o Blender 2.6 possui um mecanismo de jogo embutido, ele usa Python e é muito intuitivo, mas menos flexível que o C + OpenGL direto na minha opinião.

Alguns recursos: nehe.gamedev.net Google;) há outros flutuando, não consigo lembrar os nomes deles, desculpe: |.

nisshh
fonte
0

Eu também gostaria de recomendar qt e qml

Kempe
fonte
0

Aqui está um Tic-Tac-Toe de 50 linhas:

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

Por ser Java, não está vinculado ao Ubuntu, nem mesmo ao Linux, mas também roda em Solaris, Apple e Windows - onde está uma JVM.

Mas isso é semelhante para soluções em Smalltalk, Python, Ruby, ... - mesmo em C ou C ++ quando uma estrutura portátil é usada como Qt ou Gnome, e não em algumas classes proprietárias do MFC. Em C e C ++, é claro que você precisa recompilar o material.

Usuário desconhecido
fonte
0

A simplicidade de criar jogos é baseada na linguagem / ambiente de programação que você escolher. Para programadores avançados, codificar seu jogo diretamente em uma linguagem de programação de escolha (C / C ++ / Python / Java / etc) pode ser a melhor maneira.

Para entusiastas / não programadores que gostam de uma interface simples de arrastar e soltar para criar jogos, recomendo 'Stencyl' ( http://www.stencyl.com/ ).

O site de ajuda do 'Stencyl' possui todos os recursos para você começar a criar jogos. Você também pode ir diretamente para a página de ajuda do 'Crash Course 2' para criar seu primeiro jogo totalmente do zero no 'Stencyl' ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ) . O 'Crash Course' é apresentado em 'partes' e é muito fácil de seguir.

ksd
fonte
-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
fonte
1
Não há muito a longevidade ... ;-)
Elias Kagan