是否有用于制作游戏的简单“ Hello World”?


17

有谁知道为Ubuntu游戏制作简单的“ Hello World”游戏吗?我看过快速入门视频。

平台游戏的例子或类似的东西吗?

编辑:只是答案的回顾。

Blender游戏引擎-使用python

Pygame-Python

MonoGame http://monogame.codeplex.com/-某种XNA?

QuakeC-这是Quake风味的C,像lang。请参阅:《钢铁风暴》http://one.steel-storm.com/


7
请参阅:developer.ubuntu.com/community “参加AskUbuntu›一个由Ubuntu用户和开发人员共同编辑的问答网站。100%免费,无需注册现在问一个问题›”我认为Askubuntu应该适合开发人员也一样

2
我个人觉得很好,因为在developer.uc上提到了AU。如果OP可以对他们要寻找的内容有更多的了解,那将是最好的。
jrg 2012年

Answers:


8

Blender可以使用Python制作3D游戏:http//www.blender.org/features-gallery/features/

可以在此处制作一个简单的hello世界游戏,它与声音,物理模拟,GLSL,用于许多事物的插件(包括网络和Web插件),良好而专业的工作流程完全集成。

3D平台程序:http : //www.youtube.com/watch?v=BGqyvX4P6Pg

功能演示:http : //www.youtube.com/watch?v=SjFGDcGcEjE

Panda3D很酷,但不是游戏引擎,它是一堆Python库,您可以在其中组装游戏引擎,但它没有完全无缝集成。

Ogre3D就像它一样,不是游戏引擎,而是3D图形引擎,您可以在其中组装游戏引擎,例如,必须编写自己的声音。


我认为Ogre3D和Panda3D应该仅是3d图形引擎,应与SFML或SDL一起使用,以从2d扩展到3d,并与Bullet或PhysX一起使用以集成物理。如果您已经熟悉上述任何一项,那么操作就很简单。
cprn 2014年

10

一种快速简便的选择是“ 快速”

创建项目就像在终端上键入以下内容一样容易:

quickly create ubuntu-application my-new-project

观看此介绍性视频

这也是一个很棒的网站:http : //developer.ubuntu.com/get-started/

当然,手册: man quickly

您将使用适用于3d游戏的python,请参阅Panda3D


1
是的,我将从那个开始。
路易斯·阿尔瓦拉多

@desgua我看过那个视频。您有使用Quickly作为游戏开发者起点的经验吗?
2012年

(?)林思维快速+ pygame的行之有效的一样,指向和点击式游戏,也许没有这么多,让平台游戏......

我不同意你的看法。甚至有人试图在Android游戏中使用python代码(只是为了说明python的功能)请参见:kivy.org/#home
desgua 2012年

Pygame是很好的pygame.org/news.html,如果它只是制作出色的快速游戏,Flash仍然无法被击败。
大卫·皮特金

6

就像在任何操作系统上一样,您将需要选择一种可以将OpenGL用于图形的编程语言。然后开发游戏。

由于Ubuntu上的许多应用程序都是开源的,因此您可以在软件中心找到一个免费的应用程序,并使用以下命令:sudo apt-get source gameName这将使您了解如何为Ubuntu制作已有的游戏。您还可以研究如何在准备发行时打包debian软件包。


为什么需要OpenGL?有许多可以制作游戏的替代库/语言。
Pubby

1
@Pubby你能说点名字吗?
2012年

4

您是否签出了PyGame?这是一个制作游戏的好图书馆。已经制作了许多游戏,您可以阅读代码并学习一两个东西。我刻意将自己的业余时间投入学习中,只是为了学习而制作平台游戏。我将发表自己的学识,并在以后以实际工作答复

请查看http://www.pygame.org/wiki/tutorials

希望这可以帮助


我看过+用过pygame了。您知道其中编写过任何真实的游戏吗?真正= A整场比赛(不只是演示)与一些体面的图形和游戏



1

一些与ubuntu兼容的游戏引擎是Panda3D和love2d。两者都很容易学习,并且具有良好的文档和社区。


1

不幸的是,没有简单的Hello World游戏。迄今为止,使用代码(而不是快速开发或使用pygame)开发出的最小的Hello World ive是大约50行C代码,该代码可初始化opengl和各种C标头,设置一些opengl内容并打开带有hello的窗口世界印刷。

即使在Linux上,游戏编程也不像大多数人想象的那么简单。

但是,如果您想要更轻松的东西,Blender 2.6具有内置的游戏引擎,它使用Python并且非常直观,但我认为它不如直接的C + OpenGL灵活。

一些资源:nehe.gamedev.net Google;)还有其他资源,我记不清它们的名称,对不起:|。



0

这是50行井字游戏:

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

由于它是Java,因此它不受Ubuntu,甚至Linux的束缚,但也将在Solaris,Apple和Windows(JVM所在的位置)上运行。

但这对于Smalltalk,Python,Ruby等的解决方案来说是相似的-甚至在使用Qt或Gnome之类的可移植框架而不是某些专有MFC类的C或C ++中也是如此。当然,在C和C ++中,您必须重新编译这些内容。


0

制作游戏的简单性取决于您选择的编程语言/环境。对于高级程序员来说,最好用所选的编程语言(C / C ++ / Python / Java / etc)直接编写游戏代码。

对于喜欢简单的拖放界面来创建游戏的业余爱好者/非编码者,我建议使用“ Stencyl”(http://www.stencyl.com/)。

“ Stencyl”帮助网站提供了所有资源,可帮助您开始创建游戏。您也可以直接转到“速成课程2”帮助页面,以完全从头开始在“ Stencyl”中创建第一个游戏(http://www.stencyl.com/help/view/crash-course-invaders-1/) 。“速成班”是按“部分”给出的,很容易理解。


-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
重播性不高... ;-)
Eliah Kagan 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.