無料のゲーム開発言語ですか?[閉まっている]


19

だから、私はずっと若いいとこにプログラミングについて少し教えようとしています。私の最初の考えは、スクラッチアリスのようなものでしたが、それにはいくつかの欠点がありました。

  • 誰もが実際にゲームのプログラミングとビデオゲームの開発に熱中しているようです(誰もがビデオゲームをプレイするのが大好きで、ビデオゲームをプレイする限り、自分のゲームをプレイすることが最もやりがいがある場合があります)-しかし、アリスもスクラッチもゲームに対応していないようです開発

  • アリスとスクラッチは幼稚すぎるように見えますが、私のいとこはそれに手を出して楽しむと確信していますが、彼はすぐにそれを退屈させたと思います

  • 私は彼の友人を感動させる本当にクールなものを開発するために使用できる言語が欲しいです。私はその日にBASICを書き戻し、友達全員を招待して自分の作品を披露したことを覚えています。アリスとスクラッチは同じようには訴えないように感じます

  • いとこがコードを書くことを要求する言語が欲しい。これは、コードを入力することが他のプログラミング言語の良い準備だと思うからだけではありませんが、実際にタイピングを練習する機会を与え、キーボードの少し難解な文字に慣れる可能性があるためです

それで、アリスとスクラッチを選択したくないのです。

また、CやJava、さらにはPythonやRubyなどの言語を選択したくありません。私のいとこはすでにビデオゲームを楽しんでいて、自分で作りたいと思っていること、そしてコンピューターを使って楽しんでいることを私に伝えました。私の意見では、PythonやRubyのような単純な言語でも、クールなものを作成するには時間がかかりすぎます。理想的には、彼は座って1日か2日(あるいは1週間まで、でもそれ以下であることが望ましい)過ごし、2次元のゲームを機能させます。PythonやRubyではできないと言っているわけではありませんが、初めてのプログラマにとっては難しいと言っているだけです。それに、コンピューターサイエンスのすべてを彼に行き詰まらせたくはありません。私は彼が火花を生成するのを手伝って、それから彼に火の残りを続けさせたいです。

Luaのような言語を見てきましたが、ゲームプログラミングではよくあるように見えますが、それが最良の選択かどうかはわかりませんが、そうでないと思われる場合はお知らせください。

また、Blitzのような言語も見てきましたが、非常に有望に見えます(さらに、数年前に試してみましたが、非常に素晴らしかったです)。欠点は、私が支払う必要があるということです。

SmallBasicを見てきましたが、これは有望なようであり、今後も調べていきます。しかし、私はあまりやっていません(実際、これを入力しながらインストーラーを実行しているので、すぐに考えを報告します)。

更新:SmallBasicを簡単に試してみましたが、興味をそそられるように思えますが、他の言語と比較してもかなり異なっているようです。私が見たもののうち、Blitzは今でも私のお気に入りですが、費用のためにそこへ行くことを拒否します。

しかし、基本的に、皆さんはこれまで私が言ってきたこと、そして私が見た言語についてどう思いますか、他の良い代替案を知っていますか?


更新:ここで私がすることを選んだ...

私は私のいとこを助けたいと思っていますが、私はいつも彼と一緒にいることはできず、彼が助けを必要とするたびに彼を助けることはできないことに気付きました。だから、私は良いドキュメンテーション、良いコミュニティ、そして彼が従うことができる良い本を持っているものを選びたかった。

とにかく、PythonとPygameを選択しました。Pythonは私がかなり馴染みのある言語です。さらに、Pythonの周りにはかなり良い(そしてかなり大きな)コミュニティがあることを知っています。さらに、Pythonのドキュメントはかなり完全で、ナビゲートしやすいことを知っています。Pygameには、優れたドキュメントと一連のチュートリアルもあります。私は彼にInvent Your Own Computer Games with Pythonを使用/フォローさせていますが、これは非常に良い本のように思えます。テキストとエディターを常に入れ替えるのは不便です。

うまくいくと思います!

編集:私の選択が最終的なものであることや、正しいことを暗示したくありません。この状況に最適だと思います。若い人に教えることを考えている各人は、年齢、スキルレベル、興味などを考慮して、選択を閲覧し、個々の人に最適な解決策を見つけるべきだと思います。


15
1 I want a language that can be used to develop really cool stuff that will impress his friends.まだプログラミングのための私の主な動機だ、それは25年後...
ヤニス

2
+1若い人に教えるときにどこでやめるべきかを知るため。退屈なコンピューターサイエンスではなく、クールな結果だけです。「火花を作成し、それから彼に残りの火を続けさせます。」
アンディハント

1
@Bob私は10年以上ウェブ開発者として働いてきましたが、ごく最近、人々が実際に直接使用するものに関与しています。私はずっと長い間、深いバックエンドの仕事をしてきました。私の公式の反応は、私の動機は問題解決への深い愛であるということです。 、そしてそれは彼らを何らかの小さな方法で助けました。気持ちは最高です!あなたのいとこの発見は、我々がそうであるようにエキサイティングなどのプログラミングを願って...
ヤニス

1
@MahmoudHossam間違いなくお知らせします
ボブ

回答:


12

誰もPython + Pygameを捨てていないようです。あなたのいとこの年齢/成熟度に応じて、それは確かに多くのクールなものの可能性を開きます。それは確かに始めるのに十分基本的ですが、その巨大な標準ライブラリで、あなたは実際にPythonに飽きることはできません。


19

現代のBASICに相当するものはJavascriptだと思います。キャンバスを作成し、その上に図形を描画するスクリプトが埋め込まれたシンプルなHTMLページを彼に渡し、いくつかのチュートリアルで彼を指して、何が起こるか見てみましょう。クイックターンアラウンド(変更を保存してページを更新)および適切なデバッグサポート。


追加に加え、彼はあまりにも/友人ワット瞬時に共有できるということです
bunglestink

HTML5ゲームは、(将来?)移植性/プラットフォームに依存しないため、モバイルゲーム業界のホットトピックです。もう1つはWebGLで、あまり一般的ではないと考えいます。彼らのための新しいツールキットが毎日登場しています。
mctylr

これは興味深いアイデアであり、ウェブ開発は間違いなく優れたスキルだと思います。私はそれについて考える必要がありますが、それは興味深いようです。
ボブ

5
私は完全に同意しません。JavascriptはBasicがそうであるよりも学ぶのがかなり難しいです(私はBasic、心を知っているわけではありません)、そしてあなたがそれをウェブページと結合したいなら、あなたはHTMLとウェブ技術についても学ばなければなりません。単純な始まり(私は思う)は、たとえば軽量の実行環境としてのNodeJSや別のコマンドラインJSインタープリターとの組み合わせなど、サーバー側のJavascriptにあります。
クトゥルフ

JavaScriptの+1-はい、HTML(5)の部分は追加学習ですが、繰り返しますが、HTMLは非常にシンプルです-GWBasicを学んでいたときにHTMLボタンを作成して見せびらかしたことを覚えています:)
yati sagade

12

ゲーム用の明示的なプログラミング言語ではありませんが、非常にクールなグラフィック効果は、処理を行うかなり少ないコードを使用して実行できます。さらに、無料で比較的簡単に習得できます。特に、チュートリアルでは変数、配列、数学演算などの基本概念の多くを教えるため、プログラミングの基礎を学ぶのに理想的な言語です。


重要なポイントは、チュートリアルの入手可能性だと思います。Dave Ahlの101 BASIC Computer Gamesのコピーを使ってプログラミングを学びましたが、キー(私にとって)は、コードとサンプル出力を一緒に見ることでした。「これをして、何が起こるかを見る」と言われるよりも、出力から逆方向に作業して、どのように処理されたかを把握する方がはるかに簡単であることがわかりました。
TMN

11

1〜2年は使っていませんが、XNAでC#を使用することから始めるのが良いでしょう。私が覚えていることから、それを始めるのは非常に簡単です。そのリンクは、おそらく彼よりもあなたにとってより重要です。


1
私は実際にC#とXNAの両方を実際に使用しました(過去の仕事でC#を使用していました)。それは素晴らしい推薦だと思うが、それが彼にとって少し高度すぎるかどうかは分からない。彼はそれを行うことができるかもしれませんが、ほとんどの子供は最小限の労力と「学習オーバーヘッド」のために本当の結果を望んでいます。
ボブ

.NETライブラリであるため、VBでも使用できると想定します。これにより、C#の「学習オーバーヘッド」がいくらか削減されます。
アンディ・ハント

3
@AndyBurshがVBを学ぶことを余儀なくされたとき、止まるまで頭痛がしました。それ以来、私は触れたことがない。
コードスパークル

@codesparkle私は完全に同意します、言語としてのVBはすべての地獄のように迷惑です。ただし、単純なものを読み書きするのは非常に簡単なので、多くの場合、入門用の優れた言語です。悲しいことに、この言語には、AからBにキャストするために作成しなければならないひどいコードなど、ひどい特異性があります!
アンディハント

XNAは確かに、少し先に進んでいます。同じ言語を使用しているが、視覚的なアプローチがはるかに速く、結果がより速いUnityが見つかるまで、そうしました。@AndyBursh:それだけでC#.NET、VB.NETのために利用可能ではありません
サイモンVerbeke

11

試してみてくださいGreenfootを

画像http://www.greenfoot.org/images/screenshot.png?1310995619

Javaベースであり、Youtubeで使用するためのこれらのすべての記事があります。

greenfootは、初心者向けの優れたトップダウンアプローチを提供します。

このstackoverflowの回答を参照してください、私がそこに注意したことは、「実際、子供は最も速い学習者であり、パターンマッチング、外挿、補間などによってそうします。」

そのため、グリーンフットでしばらくJavaを使用した後は、慣れているからといって概念が理解しやすくなります。


Greenfootは、かなりきちんとしたプロジェクトのように見えます。私は第一言語としてのJavaの大ファンではありませんが、Greenfootは実際、若いプログラマーにとっては十分にシンプルにしています。私はまだそれをいじっていますが、それが一つかもしれないと思う
ボブ

@bobコードを記述し、興味深い問題を迅速に解決できるものは、良い選択です。
サイモア

本当にクールなプロジェクトのようなこのルックス
KallDrexx

参照した「stackoverflow answer」が削除され、リンクが機能しなくなったため、回答を更新してもよろしいですか?
gnat

4

改造の典型的なケースのように聞こえます。古き良きQuake I(QuakeC言語)からTES IV Oblivion、またはLuaで拡張できる数十のタイトルまで、多くのゲームは非常に柔軟で拡張可能です。

もう1つのオプションはSecond Lifeです。これは非常に柔軟な世界であり、ゲーム、シミュレーション、デモなど、きれいでスクリプティング言語で構築できるものです。


私は大部分は同意しますが、彼は彼自身のゲームを作りたいと思います。私はこれはケースバイケースのシナリオだと思いますが、私のいとこと彼の友人は改造に非常に適したゲームには興味がありません...さらに、楽しみの半分は何か(ほとんど)をゼロから構築することだと思います。「お父さんや友人が自分で作ったこのゲームを見てね」と言うのと、「ちょっと見て、このゲームのモッズを作ったのでほとんどプレイしない」と言うのは違います
ボブ

私が言いたいのは、子供たちが自分の仕事に誇りを持ち、一から物を作り、かなりクールな結果を生み出すものを簡単に作りたいということです。ゲームの改造は10代に向いていると思います。
ボブ

@Bobでは、Second Lifeを使用すると、既に利用可能な機能を必要なだけ使用して、独自のゲームを作成できます。これは単なるプラットフォームです。そして、それは無料です。また、一部のゲームMODはまったく新しいゲームであり、基盤となるプラットフォームとほとんど共通点はありません。
SKロジック

@Bob、何かを完全にゼロから構築する場合、言語の選択は最後に考慮する必要があります。プラットフォームとライブラリがより重要です。この場合はXNAをお勧めします(その上に.NET言語のいずれかを選択できます)。
SKロジック

わかりました、Second Lifeのアイデアは実際にはかなりクールに聞こえます。間違いなく見てみましょう。提案をありがとう!以前の.NET開発者として、私は間違いなくそれを考慮しましたが、若い視聴者のために過度に複雑なものを選択したくありません。しかし、私は間違いなくそれを調べます。
ボブ

4

私は現在、Game Makerの熱心なユーザーです。-完全版は無料ではありませんが($ 40)、無料版はゲームデザインの基本を味わうのに十分です。新しい人が数年間忙しくするのに十分な「コンテンツ」を持っています。どこかに配置する必要がある場合は、改造とpythonなどの言語の間に配置します。

いくつかの書き込み方法があります。「アイコンのドラッグアンドドロップ」と、より高度な「スクリプト言語」(GML)を使用できます。なぜ人々が「コードを書く」ことをそんなに望んでいるのか、私は決して理解していません。

ゲームメーカーのもう1つの利点と、他の言語を学び、10年の経験を経てゲームメーカーにこだわる理由は、ゲームの整理に役立つことです。いくつかのリソース、イベントシステムなど
があります。ウォークラフトの次の世界ですが、他の人を感動させるには、何かを作成することがより重要です。

私は個人的にゲームメーカーに満足しており、最近では汎用言語の学習により興味を持っているため、他の選択肢については本当にお勧めできません。


+1高校でGame Makerを発見し、とても楽しんでいます。必要なコーディングはそれほど多くありませんが、変数にさらされるので簡単です。特定のイベントが発生すると変数を変更するように数式を設定できます。ビルトインのコリジョンイベントだけで、創造的なゲーム作成の負荷をかけることができます。組み込みのテンプレートゲームにより、便利な改造が可能になります。私は原始的なサイドスクローラー、トップダウン、ブロックブレーカータイプのゲームを作りました...とても楽しいです。
joshuahedlund

3

何千人の人々ゲームを開発しているのはFlashです。アドビの「公式」Flash開発パッケージには費用がかかりますが、無料の代替手段があります。FlashDevelopを使用すると、1時間もかからずに、「Hello World」フラッシュを検索、ダウンロード、実行し、実行できます。Flixelのライブラリーは、物理学、粒子、プラットフォーマーのための簡単なレベルを作成、サンプルの多くを持っているなど、ゲームのための優れたサポート機能を提供し、セットアップが簡単です。


2

FWIW、私はこの同じ目的のために私のいとこ「LISPの土地」を購入しました。この本は漫画で説明されており、LISPでのゲームの作成に関するものです。私のいとこはテキストベースのゲームだけを作りたかったのですが、この本は彼にプログラミングの良い入門を与えると思います。


私はLand of Lispを読みましたが、これは素晴らしい本ですが、Lispが若者にとって常に最良の出発点であるかどうかはわかりません。構文はほとんど単純な括弧で構成されていますが、特に子供の場合は、すぐに混乱してしまうと思います。
ボブ

テキストベースのゲームのために、あなたがするためにあなたのいとこを導入すべきである通知またはTADS
user16764

@ user16764提案をありがとう、私は彼が彼のアイデアをモデル化するための素晴らしい方法になると思います!
ボブ

2

私が始めた言語はDark Ba​​sic Proでした。ゲーム開発は私のお茶ではありませんが、強力な言語だったので、私はそれから少し離れました。私は今、かなりの数年間それを台無しにしていないので、私はそれが今どれほど良いのか分かりません(私は最後にDirectX 9が新しくて最先端だったときにそれを使用しました)。ただし、わずかなコード(および純粋なコード)を使用して、すぐにコーディングを開始し、派手な3Dグラフィックスを作成できます。


ダークベーシックはかなりすっきりしているように見え、その目的はBlitzに似ていますが、それでも料金を支払う必要があります。
ボブ

2

2Dゲーム開発ではあまり普及していませんが、グラフィックの作成はゲーム開発に関する最も難しい部分の1つです。したがって、いとこがアートアセットの作成に対処する必要がないか、2Dアートが非常に得意であると仮定すると、目標は達成可能であると思います。

pythonをpygameと一緒に使用して開始することをお勧めします。あなたはpythonについて留保していたことは知っていますが、聞いてください。Pythonは非常に単純な言語です。私は、厳密なタイピングの欠如が、そもそもC#のようなものよりもはるかに良い選択になると主張します。

プロトタイプベースの言語はクールで、一部の人々はそれらを非常に簡単に理解できますが、クラス/オブジェクトパラダイムを理解できるほど簡単にプロトタイプベースの言語でオブジェクトがどのように機能するかの概念を本当に理解しているとは思いません。

Pygameにはまた、あなたのいとことあなたが基礎を学ぶために行くことができる多くの例があり、多くの点で非常に単純なフレームワークであり、あなたから多くを隠さずに、より複雑にするために多くのフレームワークを学ぶ必要がありますもの。

おそらくpygameで記述されたゲームの後、box2dのような2d物理エンジンと統合するゲームの記述に進むことができます。これには優れたpythonバインディングがあります。

あなたのいとこパイソンを教えることに関しては、私は彼に最初に言語を習得させることから離れてしまいます。おそらくクラス/オブジェクトのアイデアのクラッシュコースです。次に、言語の基本的な構文を、最後に彼をスローし、彼/彼女が何かを必要とするときに構文および/またはライブラリを検索するようにします。

最後に、Pythonのもう1つの良い点は、panda3dなどのエンジンやユニティ(Booはpythonに非常に似ています)でスキルを維持しながら、3Dゲームエンジンに簡単に移動できることです。


2

ルアとレーヴ。Luaは利用可能な最も単純な言語の1つです。LÖVEフレームワークは2Dゲーム用に最適化されています。また、OpenGLバックエンドも備えており、パフォーマンスやその他の利点がもたらされます。


1

Unreal Development Kit( Features)。インターフェイスについて学ぶのは少し難しいかもしれません。しかし、これの素晴らしい点は、視覚的なスクリプトエンジンも備えているため、何かを作成するためにプログラミングする必要がないことです。その後、彼は何かを作成し、その小さな部分を自分でプログラムできます。欠点は、独自のスクリプト言語を使用することです。

私が本当に好きな別のエンジンはUnity3D(Features)です。Unityにはビジュアルプログラミングはありませんが、C#とJavaScriptの2つの共通言語を使用します。また、Booというpython方言もサポートしています。これら3つは相互運用できます。Unityには、多くの完成したスクリプトも付属しています。


ターゲットが3Dグラフィックスを備えた独自のゲームである場合、これがIMOに最適なアプローチです。主要なゲームツールキットの多く/ほとんどには無料版があります(一部の主要なゲームの登録バージョンを所有する必要があるものもあります)。ほとんどは、改造から完全に新しいゲーム環境の作成にまで及びます。いくつか(すべてではない):PlaygroundHavok、およびValue Source。今は考えられないことがたくさんあります。
mctylr

UnityとUnrealはどちらも非常にクールですが、目標年齢は10代から始まると思います。
ボブ

@ボブ:あなたはあなたがどんな年齢にも言及していないと思うので、私は何を提案すべきかわからなかった:)
サイモン・バーベケ


0

あなたは無料の言語を探していることを知っていますし、他のポスターからも良い提案があります。おもしろい結果がすぐに得られることを心配しているので、コストを除けばBlitzはあなたが望む種類のように思えるので、Phrogramをお勧めします。これは以前はKPL(無料)でした。無料ではありませんが、Blitzよりも安価で、特にティーンエイジャー向けの教育言語として使用するのに非常に適していると思う多くの機能を備えています。

Phrogramを使ってかなり洗練された作業を行うことができます。多くのコードを投稿して学習したPhrogramとKPLユーザーのコミュニティが確立されています。


Phogramはクールに見え、私は実際に支払いに固執していませんが、無料のオプションを好むでしょう。試用版を実行し、DarkBasicおよびBlitzと比較してみます。
ボブ

0

ここではたくさんの良い提案があります。RoboCodeに叫ぶだけです。微調整する例は多数あり、わずか数分で稼働させることができます。それは彼にプログラミングのフレーバーを与えますが、彼は実際にゼロからプログラムを書くことの本質を学ぶことはないでしょう。また、Javaベースの価値もあります。


0

誰もGames Factoryについて語っていないことを理解できません!これは、プログラミングの知識がなくても、コンピューターゲームを迅速に構築するための最良のリソースの1つです。
http://www.clickteam.com/website/usa/downloads/index/7
ストーリーボードエディターで構成されています -フレーム付き。プレーヤーがさまざまな方法で制御できるさまざまなオブジェクト(プラットフォームの動き、8方向など)を配置します。
最も重要な側面はイベントエディターです。これは、巨大なマトリックスであり、定義済みのルール(たとえば、object(1)が画面の最後に移動した、オブジェクトの場所が100を超えるなど)。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.