Форум Игромании

Форум Игромании (http://forum.igromania.ru/index.php)
-   Игрострой (http://forum.igromania.ru/forumdisplay.php?f=278)
-   -   Учимся делать игры (http://forum.igromania.ru/showthread.php?t=11396)

Ferago 19.06.2006 19:58

Я с одними ребятами пробовал игру делать, мне поручили сюжет писать, но я так ничего дельного и не написал, так всё и прошло :)
С какого языка лучше начинать ? Я вот хочу простенькую прогу сделать,или хотя бы текстовую игру. Или прогу, где картинка с кнопкой внизу, нажимаешь, происходит действие и т.п.
Подскажите где можно или Дельфи, или Визуал Бейсик скачать.

TGX 19.06.2006 20:04

Если выбирать из "Дельфи" или "Визуал Бейсик", то выбирай "Дельфи"!

pokibor 19.06.2006 20:55

Ну скачать вряд ли где можно, разве что из пиринговых сетей. А вот у пиратов купить - вполне. Вообще говоря, лучше сразу учить C++ по толковой книжке, но из Delphi и VB разумеется лучше учить Delphi!

Xar 21.06.2006 13:13

Всем
Кто-нибудь знает, как можно быстро высчитывать FPS при работе с DirectX. Я имею в виду, чтобы значение FPS обновлялось постоянно (чтобы понять о чём речь, откройте Winamp. Далее следуйте Help > About Winamp > Credits. В появившемся окне FPS обновляется постоянно).

pokibor 21.06.2006 14:09

Ну, то, что оно обнвляется постоянно, понятно. А высчитать его просто - ведь FPS, по сути, то, сколько раз в секунду выполняется рендеринг в цикле, поэтому просто учитывай реальное время с точность до миллисекунды (можно и до секунды, тогда первая секунда сбрасываетя...). Например, использую функцию Windows API GetTickCount().

На примере вряд ли скажу, т.к. под чистым DirectX уже давно не писал, но примерно так:
Код:

Old = число миллисекунд
FrameNumber = 0
Стартуем цикл
        Рендеринг
        New = число миллисекунд
        if (New - Old > 1000) {
                Old = New
                FPS = FrameNumber
                FrameNumber = 0
        }
новый виток цикла


Xar 21.06.2006 14:38

Цитата:

Сообщение от pokibor
Ну, то, что оно обнвляется постоянно, понятно.

А вот и нет. FPS в твоём примере (я им всё время и пользовался) обновляется каждую секунду. А в указанном мною примере (в Winamp'e) ясно видно, что FPS обновляется гораздо чаще.

pokibor 21.06.2006 16:25

Вообще-то FPS = Frames Per Second, т.е. они должны обновляться каждую секунду. Но если уж тебе не терпиться обновлять их чаще, просто вместо 1000 миллисеунд используй, например, 100, и умножай результат в 10 раз.

Вообще говоря, вопрос достаточно странный. FPS есть показатель быстродействия игры, и интерисует он, по большей части, только свои средним (какая скорость будет "обычной") и минимальным (как игра будет тормозить в особо сложных случаях) значениями. Секунда является неплохим промежутком времени, и смысла делать его меньше или больше я не вижу.

Кстати, для игровой механики FPS не играют никакой роли. Практически всегда нужно знать лишь время, за которое рендерился предыдущий шаг цикла.

~Dart_s@nCHo 23.06.2006 22:50

Мля, поручили знакомы найти бесплатный 2D-движок, а что именно выбрать - не знаю! Подскажите, плиз!

Айдес 23.06.2006 23:12

1) У меня такой вопрос: какой компилятор С++ наиболее идеально подходит для гейм-кодинга? Предугадывая ответ сразу спрошу, MSVC какой версии лучше всего брать для этих целей?

2) Вопрос к pokibor'y: для какого компилятора(или компилятор не имеет значения?) предназначен упомянутый тобой выше бесплатный движок?

3) Какие ещё есть бесплатные движки(3D) на С++(а также для Delphi кроме DelphiX и GLScene)?

От себя добавлю, что неплохим стартом для понимания игрового программирования будет изучение ActionScript - языка идущего в комплекте с Macromedi Flash. По форме он похож на С++, однако игтеграция его в графическую систему позволяет намного быстрее получать результат. AC идеально подходит для написания аркад, а в этом жанре, как известно, можно воплотить практически любые идеи.

//Это была не реклама, :) а чистая правда...

И напоследок ещё вопрос: кто-нибудь пытался писать моды для HL2?

pokibor 23.06.2006 23:42

Цитата:

Сообщение от ~Dart_s@nCHo
Мля, поручили знакомы найти бесплатный 2D-движок, а что именно выбрать - не знаю! Подскажите, плиз!

Irrlicht. В нем есть много всего для работы как с 3D, так и с 2D. А вообще, в любом 3D движке есть также функции для 2D.

Цитата:

Сообщение от Айдес
1) У меня такой вопрос: какой компилятор С++ наиболее идеально подходит для гейм-кодинга? Предугадывая ответ сразу спрошу, MSVC какой версии лучше всего брать для этих целей?

На самом деле, все равно. Основные библиотеки везде одинаковые, глюки тоже. Но бери уж последний - .NET 2005. В нем можно писать не только под .NET, но и по-старинке - Win32 Application. Вот так и пиши. Ну или Console для начала.

Цитата:

Сообщение от Айдес
2) Вопрос к pokibor'y: для какого компилятора(или компилятор не имеет значения?) предназначен упомянутый тобой выше бесплатный движок?

Irrlicht, насколько я мог понять, подходит практически под любой компилятор, однако скомпиленные исходники есть только под Visual C++ .NET, причем в двух вариантах - Win 32 Application и .NET. Под остальные придется компилить самостоятельно, хотя есть краткая инстуркция по компиляции под Gnu C++ (как под Windows, так и под Linux) и 64-битной версией Visual Studio.
Цитата:

Сообщение от Айдес
3) Какие ещё есть бесплатные движки(3D) на С++(а также для Delphi кроме DelphiX и GLScene)?

Для Делфи больше ни о чем не слышал. Для C++ движков куча - всякие Ogre, старенький Genesis3D (хотя он больше на конструктор походит) и др. Кстати, для .NET на Irrlitch можно писать на любом .NET-языке (Visual Basic, C#,...)
Цитата:

Сообщение от Айдес
От себя добавлю, что неплохим стартом для понимания игрового программирования будет изучение ActionScript - языка идущего в комплекте с Macromedi Flash. По форме он похож на С++, однако игтеграция его в графическую систему позволяет намного быстрее получать результат. AC идеально подходит для написания аркад, а в этом жанре, как известно, можно воплотить практически любые идеи.

Не вижу смысла. Впрочем, Flash я ненавижу по чисто личным причинам :sml:, никакого отношения к объективной оценке не имеющим. Но точно могу сказать, что аркаду достаточно просто можно написать на любом движке.

Evil.Hard 26.06.2006 23:25

Код:

void CFPSCounter::registerFrame(u32 now)
{
        framesCounted++;

        u32 milliseconds = now - startTime;

        if (milliseconds > 2000)
        {
                fps = (s32)((f32)framesCounted / ((f32)milliseconds / 1000.0f));

                startTime = now;
                framesCounted = 0;
        }
}

пример того как считается FPS в Irrlicht'e.
Функция вызывается каждый раз после рендера.
Для тех кто не копался в движке:
f32 - обьявлено как typedef float
s32 - как typedef signed int

FPS возврашается другим методом класса... который просто возвращает значение framesCounted

Pokibor +1 - тут и добавлять то не че к ответу вроде как...

Xar 02.07.2006 01:56

Всем
Я хотел бы выложить в ближайшее время демо-версию своей собственной аркады на обозрение форуму Игромании. Подскажите какие-нибудь хостинги, где файл сможет храниться постоянно (а не как на Webfil'e неделю). Заранее благодарен.

razor21 02.07.2006 22:23

Xar
http://www.slil.ru - файл храниться 30 дней с момента последнего скачивания! Т.е. если твою игру будут постоянно качать, то есть возможность, что он ваще не удалиться!
И еще к тебе вопрос: На чем игру пишешь? С кем?

Xar 03.07.2006 01:26

razor21
Благодарю.
Демо выложу в ближайшие дни (надо довести ещё кое-что до ума).
Цитата:

Сообщение от razor21
На чем игру пишешь? С кем?

Только не смейся. OK?
На Visual Basic.
Один, на собственном движке и с собственной графикой. Правда немного с графикой помог друган, но и только.

razor21 04.07.2006 18:43

Xar
да нет смеяться я не буду! А почему ты не выбрал язык более высокого уровня и более мощный? А какой жанр?

Xar 05.07.2006 01:03

Цитата:

Сообщение от razor21
А какой жанр?

Аркада.
Цитата:

Сообщение от razor21
А почему ты не выбрал язык более высокого уровня и более мощный?

Потому что для этого его сначала нужно изучить. Я C++ уже пол-года собираюсь освоить, всё никак не начну.

Crosswise 08.07.2006 10:44

Можно вопросик?
КАК ДЕЛАТЬ ИГРЫ???
какие для этого проги,как создавать прог. файлики?
Помогите,пожалуйста!

ROLF 08.07.2006 13:49

Skiminog
Для этого нужно знать хотябы один язык програмирования и движок на катором писать игру!
Но можно пойти проще для новичка предложу программу RPGMaker для создание RPG игр, там всё просто весит 20 мег в инете леко найти если запустиш разобраться будет несложно никакого знания языка програмирования по началу ненадо, вобщем если скачаеш непожелееш, сам на ней сейчас игру делаю( и ресурсов инете полно).

razor21 10.07.2006 18:27

Skiminog
А ты вообще знаешь какой-нибудь язык программирования?
В принципе зря я это спросил, т.к. ты даже не знаешь, как делать игры!
ROLF
Через такие программы не интересно делать игры!!! Тебя не мучает такое чувство, что эту игру сделал не ты?

razor21 10.07.2006 23:14

Что больше ни у кого нет вопросов? Есть, задавайте!


Часовой пояс GMT +4, время: 02:32.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.