Esiste un semplice "Hello World" per creare giochi?


17

Qualcuno sa di un semplice "Hello World" per creare giochi per Ubuntu? Ho visto il video Introduzione a Quickly.

Qualche esempio per i platform o qualcosa del genere?

EDIT: solo un riepilogo delle risposte.

Blender Game engine: utilizza Python

Pygame - Python

MonoGame http://monogame.codeplex.com/ - una sorta di XNA?

QuakeC - Questo è un lake al gusto di Quake. Vedi: Steel Storm http://one.steel-storm.com/


7
Vedi: developer.ubuntu.com/community "Partecipa su AskUbuntu› Un sito di domande e risposte modificato in collaborazione per utenti e sviluppatori Ubuntu. 100% gratuito, nessuna registrazione richiesta Fai una domanda ora ›" Penso che askubuntu dovrebbe essere destinato agli sviluppatori anche.
am

2
Personalmente ritengo che vada bene, poiché su developer.uc è menzionato su AU. Se l'OP può diventare un po 'più specifico su ciò che sta cercando, sarebbe meglio.
giovedì

Risposte:


8

Blender può creare un gioco 3D con Python: http://www.blender.org/features-gallery/features/

È possibile creare un semplice gioco hello world lì, è completamente integrato con Sound, simulazione di fisica, GLSL, plugin per molte cose (Networking e Web plugin inclusi), flusso di lavoro buono e professionale.

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

Demo delle funzionalità: http://www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D è bello, ma non è un Game Engine, è un mucchio di Python Library in cui puoi assemblare un Game Engine, ma non è completamente e perfettamente integrato.

Ogre3D è simile, non è un Game Engine, è solo un motore di grafica 3D, dove puoi assemblare un Game Engine, ad esempio devi codificare il tuo suono.


Penso che Ogre3D e Panda3D dovrebbero essere solo motori grafici 3D e dovrebbero essere usati con SFML o SDL per espandersi da 2d a 3d e con Bullet o PhysX per integrare la fisica. È semplice quando hai già familiarità con quanto sopra.
cprn,

10

Un'opzione facile e veloce è Rapidamente .

Creare un progetto è facile come digitarlo sul terminale:

quickly create ubuntu-application my-new-project

Guarda questo video introduttivo .

Anche questo è un ottimo sito: http://developer.ubuntu.com/get-started/

E, naturalmente, il manuale: man quickly

Utilizzerai Python, che è ottimo anche per i giochi 3D, vedi Panda3D .


1
Sì, vorrei iniziare con quello.
Luis Alvarado,

@desgua Ho visto quel video. Hai esperienza nell'usare Quickly come punto di partenza per gli sviluppatori di giochi?
Sono

(?) Im pensare velocemente + Pygame funziona bene per come, punta e clicca giochi tipo, forse non così tanto per rendere platform ...
Sono

Non posso essere d'accordo con te. Ci sono persone che stanno persino cercando di usare il codice Python per i giochi Android (solo per fare un esempio della potenza di Python) Vedi questo: kivy.org/#home
desgua

Pygame è abbastanza buono pygame.org/news.html e se sta solo realizzando fantastici giochi veloci, Flash non può ancora essere battuto.
David Pitkin,

6

Proprio come su qualsiasi sistema operativo, dovrai scegliere un linguaggio di programmazione che può utilizzare OpenGL per la grafica. Quindi sviluppa il gioco.

Poiché molte applicazioni su Ubuntu sono open source, nel centro software è possibile trovarne una gratuita e utilizzare il seguente comando: sudo apt-get source gameName Questo ti darà un'idea di come vengono creati i giochi già esistenti per Ubuntu. Puoi anche cercare come impacchettare i pacchetti debian per quando pensi di essere pronto per la distribuzione.


Perché il requisito OpenGL? Esistono molte librerie / lingue alternative che possono creare giochi.
Pubblicazione del

1
@Pubby puoi citarne alcuni?
Sono

4

Hai verificato PyGame? è un'ottima libreria per creare giochi. Esistono già molti giochi che puoi leggere il codice e imparare una cosa o due. Sto dedicando il mio tempo libero all'apprendimento di un gioco platform solo per motivi di apprendimento. Pubblicherò i miei apprendimenti e risponderò in seguito con alcuni lavori reali

Si prega di controllare http://www.pygame.org/wiki/tutorials

Spero che sia di aiuto


Ho visto + usato pygame alcuni. Conosci qualche gioco reale che è stato scritto al suo interno? Reale = A tutto il gioco (non solo demo), con alcuni elementi grafici decenti e il gioco
sono



1

Alcuni motori di gioco che funzionano con Ubuntu sono Panda3D e love2d. Entrambi sono molto facili da imparare e hanno una buona documentazione e comunità.


1

Sfortunatamente, non esiste un semplice Hello World per i giochi. Il più piccolo Hello World ive che sia mai stato in grado di inventare per un gioco usando solo il codice, non rapidamente o pigmeo, è circa 50 righe di codice C che include l'opengl e varie intestazioni C, imposta alcune cose opengl e apre una finestra con ciao mondo stampato.

La programmazione dei giochi, anche su Linux, non è così semplice come la maggior parte della gente pensa.

Se vuoi qualcosa di più semplice, Blender 2.6 ha un motore di gioco integrato, usa Python ed è molto intuitivo, ma meno flessibile del semplice C + OpenGL secondo me.

Alcune risorse: nehe.gamedev.net Google;) ce ne sono altre galleggianti in giro, non riesco proprio a ricordare i loro nomi, scusa: |.



0

Ecco una linea 50 Tic-Tac-Toe:

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

Dal momento che è Java, non è legato a Ubuntu, nemmeno a Linux, ma funzionerà anche su Solaris, Apple e Windows - dove si trova una JVM.

Ma questo è simile per le soluzioni in Smalltalk, Python, Ruby, ... - anche in C o C ++ quando viene utilizzato un framework portatile come Qt o Gnome e non alcune classi MFC proprietarie. In C e C ++, ovviamente, devi ricompilare il materiale.


0

La semplicità di creare giochi si basa sul linguaggio / ambiente di programmazione che scegli. Per i programmatori avanzati, codificare il gioco direttamente in un linguaggio di programmazione di scelta (C / C ++ / Python / Java / ecc.) Può essere il modo migliore.

Per gli appassionati / non-programmatori che amano una semplice interfaccia drag and drop per creare giochi, consiglio 'Stencyl' ( http://www.stencyl.com/ ).

Il sito Web della guida "Stencyl" ha tutte le risorse per iniziare a creare giochi. Puoi anche andare direttamente alla pagina di aiuto di "Crash Course 2" per creare il tuo primo gioco interamente da zero in "Stencyl" ( http://www.stencyl.com/help/view/crash-course-invaders-1/ ) . Il "Crash Course" è riportato in "parti" ed è molto facile da seguire.


-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
Non molto rigiocabilità ... ;-)
Eliah Kagan il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.