游戏和应用程序/操作系统编程

发布于 2024-08-09 09:47:39 字数 1539 浏览 3 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

森林散布 2024-08-16 09:47:39

我编写的第一个游戏是用 Turbo Pascal 编写的贪吃蛇游戏。我正在摆弄并设法(使用一系列点)在屏幕上移动一条线。一旦我这样做了,我就让线路改变方向。我把它连接到箭头键上并感到很兴奋。两个小时后,我在屏幕上看到了一个不同颜色的点作为“食物”,这是一场蛇游戏。我编写的每一款游戏都推动着我前进,并迫使我学习新事物(想法往往会不断涌现。)

  • 尝试并坚持街机风格的游戏。打砖块、乒乓球、贪吃蛇等等,建造光环所花费的时间是无法计算的!
  • 不用担心您学习哪种语言。多年来你会学到很多东西。现在是时候问一下用哪个最容易开始编写游戏了。如果您已经掌握了 C 语言的基础知识,那么这就是您的答案。
  • 如果您不知道从哪里开始,请开始制作动画而不是游戏。一旦你习惯了你的工具,想法就会出现。

编写一个在屏幕中间绘制笑脸的程序。改变屏幕模式和使用大型图形引擎可能对此有些矫枉过正。保持简单。让笑脸四处移动,改变它的颜色,让它变成一张不高兴的脸,等等。在你意识到之前,你就会获得一些良好的动力。

要问的问题是如何在屏幕中间写一个笑脸,而不是仅仅在控制台的下一行。在我的第一个贪吃蛇游戏中,答案是编写大量空格“ ”字符,直到到达我想要的位置。显然,更好的答案是 ncurses。如果您使用的是 Windows XP,那么 MingGW 编译器是免费的,您可以获得(非标准)conio.h 图书馆。这就是我在第二个贪吃蛇游戏中使用的方法,它会让你很快上手。

旅途愉快!

The first game I ever wrote was a snake game written in Turbo Pascal. I was fiddling around and managed to get (using a series of dots) a line moving across the screen. Once I did that I made the line change direction. I hooked that up to the arrow keys and got excited. Two hours later i'd gotten a different coloured dot as 'food' up on the screen and it was a game of snake. Each game I wrote pushed me further and forced me to learn new things (ideas tend to roll on from one another.)

  • Try and stick to arcade style games. Breakout, Pong, Snake, etc. The amount of time it will take you to build Halo doesn't bear calculating!
  • Don't worry about which language you learn. You will learn many over the years. Right now is the time to ask which is easiest to start writing games with. If you already have the basics of C, then that's your answer straight away.
  • If you have no idea where to start, start doing animations instead of games. Ideas will come once you get used to your tools.

Write a program that draws a smiley face in the middle of the screen. Changing screen modes and using big graphics engines might be overkill for this. Keep it simple. Get that smiley face to move around, change it's colour, make it an unhappy face, etc. Before you know it you'll pick up some good momentum.

The question to ask is how do I write a smiley face on the middle of the screen instead of just on the next line in the console. In my first snake game, the answer was to write a load of space ' ' characters until i got to where I wanted. The better answer, apparently, is ncurses. If you are on Windows XP then the MingGW compiler is free you can get the (non-standard) conio.h library. That's what I used in my second snake game and it will get you started very quickly.

Good journey!

浮华 2024-08-16 09:47:39

看看改装。

我发现 QuakeC(Quake1 mods 的制作方式)非常容易上手,而且您已经拥有非常丰富的游戏内容基础可供使用,这样您就可以专注于游戏玩法等。我发现,当您开始玩一款有趣的游戏并添加自己的特色时,保持兴趣要容易得多,而不是开始制作 3d 盒子演示或其他过于简单但需要的低级编程步骤。

Quake1 已经很老了,但它的优势在于它所涉及的几乎所有内容都是开源的并且可以免费扩展。您可以轻松地开始修改任何较新的游戏。

当今许多知名游戏商店都是从制作《雷神之锤》或《半条命》模组开始的。

Look into modding.

I found QuakeC (how Quake1 mods were made) to be really easy to pick up, and you already have a very rich base of game content to use so that you can focus on gameplay and such. I found it a lot easier to stay interested when you're starting with a fun game and adding your own twist to it, rather than starting out making 3d box demos or other overly simple but needed low level programming steps.

Quake1 is pretty old but has the upside of pretty much everything involved in it being open source and free to extend. You could just as easily start modding any of the newer games out there.

A lot of todays big name game shops got their start making Quake or Halflife mods.

紫轩蝶泪 2024-08-16 09:47:39

在这个行业工作了几年,这是我能找到的最好的总结:

http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer

我的建议:

彻底学习 C++。每天都在里面编程。如果您已经准备好进行 iPhone 开发,请学习 OpenGL。如果您可以使用 PC(也可以看看 XNA),那么学习 Direct3D 也没什么坏处。如果您不喜欢图形,请确保您了解寻路(A* 算法)或碰撞检测的工作原理。

继续构建自己的项目,并找到一个好的在线社区,如果您有疑问,可以为您提供支持。雇主希望看到你很聪明,但更重要的是,你很专注 - 游戏编程非常困难,不要让任何人告诉你不同的信息。

您可以在此处下载适用于 Windows 的免费开发工具:
http://www.microsoft.com/express/download/

您想要的是Visual C++ 2008 Express 版。

Having worked in the industry for several years, this is the best summary I can find:

http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer

My advice:

Learn C++ inside and out. Program in it every day. If you're already set up for iPhone development, learn OpenGL. It wouldn't hurt to learn Direct3D as well if you have access to a PC ( also have a look at XNA ). If graphics isn't your thing, make sure you know how pathfinding (A* algorithm) or collision detection works.

Keep building your own projects, and find a good online community that can support you if you have questions. Employers want see that you are smart, but more importantly, that you are dedicated - game programming is very hard, don't let anyone tell you differently.

You can download free development tools for Windows here:
http://www.microsoft.com/express/download/

The one you want is Visual C++ 2008 Express Edition.

掀纱窥君容 2024-08-16 09:47:39

也许可以在这里查看一些游戏编程链接: http://lazyfoo.net/SDL_tutorials/index.php

这些教程假设 C++ 在游戏编程中大量使用,因此可能值得学习。

或者,如果您对 Java 感兴趣,您可以查看本教程 http://www.cokeandcode.com/node/ 6

亚当

Perhaps check out some of the game programming links here: http://lazyfoo.net/SDL_tutorials/index.php

Those tutorials assume C++ which is used a lot in games programming so may be worth learning.

Or you could check out this tutorial if your interested in Java http://www.cokeandcode.com/node/6

Adam

梦言归人 2024-08-16 09:47:39

您应该查看 Unity3D 网站。他们现在有一个免费版本(名为 Unity)供个人和商业用途。您可以使用 C#(可能是任何 .NET 语言)、JavaScript 和 Boo 编写脚本。

XNA 也很适合。

You should check out Unity3D website. They have now a free version (named Unity) for personal and commercial use. You can use scripting with C# (possibly any .NET language), JavaScript, and Boo.

XNA would be a good fit too.

嘿看小鸭子会跑 2024-08-16 09:47:39

当您刚开始学习时,C、C# 和 C++ 可能会有点复杂。如果你认真从事游戏开发,你最终可能需要学习 C++,但如果你只是想快速完成一些事情,那么使用 lua 就已经走在正确的轨道上了。

Javascript 是另一种语言,它在很多方面与 lua 非常相似(但在其他方面又非常不同)。 JavaScript 的优点之一是世界上每个人的计算机上都安装了 JavaScript。另一个优点是它非常容易学习。也有缺点,但它们并不像大多数“严肃的”程序员想象的那么糟糕。 JavaScript 受到了不应有的坏名声。

这是一个非常好的学习 javascript 的教程:
http://eloquentjavascript.net/

不幸的是,它不涵盖游戏编程 - 但它确实涵盖了相关的概念游戏编程和应用程序编程。

这是一个涵盖游戏编程的 javascript 教程:

http://billmill.org/static/ canvastutorial/index.html

您将需要一个网络浏览器才能遵循该教程。这不包括 Internet Explorer,因此您可能需要使用 Safari、Firefox 或 Opera。

一旦你习惯了用 javascript 或 lua 等简单语言制作游戏,那么学习用 C 或 C++ 等硬语言制作游戏就不会那么困难了。

另一方面,您可能会很高兴用简单的语言制作游戏,这没关系,没有规则说您必须学习 C 或 C++ 才能制作优秀的游戏。好的游戏来自好的创意,而不是困难的编程。

When you're just starting out, C, C# and C++ might be a bit complex to start with. If you're serious about game development, you will probably need to learn C++ eventually, but if you just want to quickly get some things done, you're already on the right track with lua.

Javascript is another language which is very similar to lua in many ways (and very different in others). One advantage of javascript is that everyone in the world has javascript installed on their computers. Another advantage is that it's very easy to learn. There are disadvantages too, but they are not nearly as bad as most "serious" programmers think. Javascript gets an undeserved bad rap.

Here is a very good tutorial for learning javascript:
http://eloquentjavascript.net/

It does not cover games programming, unfortunately- But it does cover concepts that are relevant to both games programming and application programming.

Here is a tutorial for javcascript that does cover games programming:

http://billmill.org/static/canvastutorial/index.html

you will need a web browser in order to follow that tutorial. This does not include internet explorer, so you will probably want to use safari, firefox, or opera.

Once you are comfortable making games in an easy language like javascript or lua, then it will not be quite so hard to learn to make games in a hard language like C or C++.

On the other hand, you might be happy just making games in the easy language, and that's okay, there's no rules that say you have to learn C or C++ to make good games. Good games come from good ideas, not difficult programming.

望她远 2024-08-16 09:47:39

游戏程序员的优先顺序。

任何需要分析思维和逻辑解决问题的科目。
以下领域的必要知识。

  • 数学
  • 数据结构
  • 计算机图形学
  • 物理学
  • 人工智能
  • 计算机网络
  • 网络技术

Priority Order for a game programmer.

Any subject that needs Analytical thinking and Logical Problem Solving.
Necessary knowledge in the following domains.

  • Mathematics
  • Data Structures
  • Computer Graphics
  • Physics
  • Artificial Intelligence
  • Computer Networks
  • Web Technologies
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文