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/


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.


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 .


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.


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


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
— :



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.


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: |.


0

Eu também gostaria de recomendar qt e qml


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.


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.


-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
Não há muito a longevidade ... ;-)
— Elias Kagan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.