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

Форум Игромании (http://forum.igromania.ru/index.php)
-   Архив (Общеигровые вопросы) (http://forum.igromania.ru/forumdisplay.php?f=173)
-   -   Помощь в выборе движка! (http://forum.igromania.ru/showthread.php?t=61796)

Gr@k 25.02.2008 09:16

Помощь в выборе движка!
 
Вот решил создать текстовую RPG и у меня встал вопрос о выборе движка. Так вот я подумал что такие проблемы бывают не у одного
меня и решил создать эту тему!

Добавлено через 3 минуты
Мне нужен движок для бесплатной, текстовой RPG в котором каждый диалог будет
подгружаться из отдельного файла!!!
P.S. Если можно то и объяснить принципы работы с ним.

The Vork 25.02.2008 09:32

если 3D, то мне кажется, движок GlScene отлично справится с графической частью, ODE или DCE поможет с физикой, а делфи сделает работу с текстовыми файлами быстрой и легкой. Всю инфу о двигле можно найти в теме http://forum.igromania.ru/showthread.php?t=60963&page=2 или на сайте http://www.glscene.ru

pokibor 25.02.2008 09:53

Ладно, пусть тема пока побудет отдельной, хотя она близка к "Учимся делать игры"...
По теме:
GRT-unit, Вы прочитали пост? Там прямо написано: "текстовая RPG". Какое 3D? Какой GL Scene? С подгрузкой текстовых файлов отлично справляется и Delphi/C++ Builder без всяких наворотов, и .NET-языки. Другой вопрос, что человеку явно нужен продукт ещё проще (потому что он, похоже, вообще не программирует, иначе я крайне удивлён вопросу). В таком случае единственное, что мне приходит на ум - конструктор текстовых квестов для "Космических Рейнджеров". Но лучше всё-таки изучите любой язык с возможностью визуального программирования, и сами напишите то, что Вам нужно. Это дать Вам куда большие возможности, а сам процесс лёгок.

Feanor62rus 25.02.2008 11:06

Мне кажется нет таких движков. Во всяком случае я ничего такого не припоминаю. Мне кажется проще всего такое будет написать на html. Это гораздо проще С++, Pascal, C# и прочих. _Revan_ что-то подобное писал. Вот ссылка:
http://forum.igromania.ru/showthread.php?t=36743

pokibor 25.02.2008 11:18

Feanor62rus
Да, html - это хорошо, но всё-таки он обладает определёнными ограничениями, и на нём нельзя сделать именно движок (JavaScript'а не хватит, серверные страницы вроде php и jsp мы, ясное дело, не берём). То есть каждую локацию придётся вылепливать отдельно и с нуля, а схему действий прописывать по некому шаблону.
Мне кажется, что в данном случае оптимальным будет освоение какого-нибудь .NET-языка. Это позволит реализовать основу квеста в виде некого движка, а визуализацию потом можно будет прикрутить как в качестве web-страницы (ASP.NET), так и просто как оконное приложение.

Gr@k 25.02.2008 15:52

Спасибо всем.
Но раз так то видно мне придётся писать свой движок.
Так что придётся изучать програмирование.
Хорошо бы чтобы вы подсказали какой язык подойдёт лучше для моей идеи, мне ведь нужно будет и картинки выводить. http://files.myopera.com/Creat0R/Ope...bs-up_cool.gif

pokibor 25.02.2008 16:37

Gr@k
С этой задачей вполне нормально способен справится любая популярная среда программирования - Delphi, C++ Builder, Visual Studio при писании под .NET и т.п. примерно с одинаковой лёгкостью для начинающего (визуальные формочки с компонентами вроде Image и иже с ним).
"Где взять учебники" - читайте F.A.Q.. Мою рекомендацию Вы знаете (.NET, желательно C# либо C++, но всё-таки последний лучше не надо, а то будете потом путаться при изучении нормального C++).
Хотя, конечно, идеальный вариант - учить C++ и писать сразу полноценную игру без полумер.

Gr@k 04.03.2008 09:24

C++ Builder - где его взять???
уже всё облазил!

pokibor 04.03.2008 09:29

Цитата:

Сообщение от Gr@k (Сообщение 3539907)
C++ Builder - где его взять???
уже всё облазил!

Пиринговые сети, пираты, купить у официальных дистрибьютеров Borland... если он ещё не снят с продаж.
Есть, правда, какой-то новый C++Builder 2007, но я не знаю, что это за зверь, и юзал только старый добрый 6.0. Также см. личку.

CRtimUT 05.03.2008 15:49

Цитата:

Сообщение от Gr@k (Сообщение 3539907)
C++ Builder - где его взять???
уже всё облазил!

Зачем тебе Билдер? Если Си хорошо знаешь, то лучше VC Express. Он мало чем от Builder'a отличается (разве что интерфейсом), а VC Express - бесплатный, и сделанные на нём программы или игры можно распространять на платной основе, а в случае с Builder тебе придётся лицензию покупать. Однако, если язык плохо знаешь, и не собираешься свои программы продавать то, для обучения, лучше Борландовскую программу взять.

$TR@NGER 05.03.2008 16:36

Ищу игровые движки.
 
Ищу игровые движки,желательно чтобы на сайте была инструкция-так как я этим занимаюсь не долго и не знаю секретов игростроения.:confused:

Smile : ) 05.03.2008 17:00

пройди по этой ссылке, там расказывается о бесплатных движках , и ссылки на них
http://www.igromania.ru/Articles/442...ye_dvizhki.htm

MInner 14.03.2008 22:02

Кто может посоветовать движок, к которому есть документация от А до Я... на русском языке... и какой движок можно посоветовать избрать человеку, который не плохо знает такой убогий язык, как VisualBasic...?

pokibor 14.03.2008 23:04

Цитата:

Сообщение от MInner (Сообщение 3615316)
Кто может посоветовать движок, к которому есть документация от А до Я... на русском языке...

Серьёзных движков с хелпом на русском нет и быть не может. Вы можете рассчитывать только на какой-нибудь конструктор с переведёнными уроками.
Цитата:

Сообщение от MInner (Сообщение 3615316)
и какой движок можно посоветовать избрать человеку, который не плохо знает такой убогий язык, как VisualBasic...?

Под Irrlicht вполне можно писать под .NET на любом .NET-языке, в частности, на Visual Basic.

MInner 15.03.2008 19:50

.... почему-то во всей документации написано, что Irrlicht работает на С++... а принципиально чем отличается использование ВБ и С++, потому как и я и еще несколько моих знакомы неплохо (... вмеру...) знающих ВБ даже не знают с чего начать... использовать игровое пространство, как форму?... как вообще относиться ВБ к 3д?....

pokibor 15.03.2008 21:17

Цитата:

Сообщение от MInner (Сообщение 3621054)
.... почему-то во всей документации написано, что Irrlicht работает на С++...

Потому что он написан на C++. Вы хоть отличайте "работает на" и "можно писать код на". Не знаю, что Вы там где читали, а sourceforge написано нормальным английским языком:
Цитата:

Сообщение от http://sourceforge.net/projects/irrlicht/
The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages.

VB - один из языков .NET.
Цитата:

Сообщение от MInner (Сообщение 3621054)
а принципиально чем отличается использование ВБ и С++

Наверное, тем, что VB - язык для начинающих (еле-еле удерживаюсь от более резких комментариев в его адрес), а C++ - полноценный объектно-ориентированный язык с уймой библиотек, продуманной структурой и прочая, и прочая, и прочая.
Цитата:

Сообщение от MInner (Сообщение 3621054)
потому как и я и еще несколько моих знакомы неплохо (... вмеру...) знающих ВБ даже не знают с чего начать... использовать игровое пространство, как форму?...

Начните с того, что забудьте свои навыки по перетаскиванию кнопочек на форму и прописыванию обработчиков их событиям. Игры имею свой собственный интерфейс. Всё. Вы должны сами с нуля его написать (ну или использовать стандартный в движке), и никакой формы у Вас нет. Вы пишите код, чистый код, никаких перетаскиваний мышью, только ЧИСТЫЙ КОД.
Цитата:

Сообщение от MInner (Сообщение 3621054)
как вообще относиться ВБ к 3д?....

Точно так же, как и все остальные языки. Он использует функции/методы/классы движков, библиотек и прочего. Если отойти от структуры языка, рассуждений о скорости и эффективности кода и пр., никакой принципиальной разницы в написании игр на VB и C++ нет. Есть принципиальная разница между тем, к чему Вы привыкли (судя по отсылкам к форме) и нормальным программированием 3D-игр без перетаскивания кнопочек в окошечко.

MInner 16.03.2008 00:56

Ой.... тобишь стандртный томик ВБ тут не поможет)))).... существуют хоть какие-нибудь списки аператоров для Irrlicht-а... а то голова ах кружится от такои .... даж не знаю как назвать)....
Вообщем... надо доходить до всего своим серым веществом...
а есть хоть какие-никакие справочные материалы, которые могут облегчить учесть бедного серго вещества.... ?

pokibor 16.03.2008 09:45

Цитата:

Сообщение от MInner (Сообщение 3623404)
Ой.... тобишь стандртный томик ВБ тут не поможет))))....

Не помогут навыки, который Вы получили из этого "стандартного" томика. От Вас всего-то требуется немного обладать абстрактным мышлением, знать язык и изучить классы Irrlicht.
Цитата:

Сообщение от MInner (Сообщение 3623404)
существуют хоть какие-нибудь списки операторов для Irrlicht-а... а то голова ах кружится от такои .... даж не знаю как назвать)....

Не понял, что Вам надо. С Irrlicht идёт превосходный хелп. Разумеется, на английском. Но без знания английского Вам в любом случае в геймдеве делать нечего.
Цитата:

Сообщение от MInner (Сообщение 3623404)
а есть хоть какие-никакие справочные материалы, которые могут облегчить учесть бедного серго вещества.... ?

Файлы справки и великолепные примеры. На английском языке. Я по ним движок и изучал.
Вот можете посмотреть код 'hello, world'-приложения и разобраться, что там Вам понятно, а что - нет:
Скрытый текст:

Код:

Imports Irrlicht ' compiler error here? Look at the next comment
Imports Irrlicht.Video
Imports Irrlicht.Core
Imports Irrlicht.Scene

' PROBLEMS with this source?
' Some solutions wich might help:
'
' - If your compiler complains that 'Irrlicht' cannot be found,
'  add the Irrlicht.NET.dll file (in bin\Win32-VisualStudio) as Reference
'  in the solution browser.
'
' - It compiles, but your program throws an exception like this:
'  "An unhandled exception of type 'System.IO.FileNotFoundException' occurred in Unknown Module.
'  Additional information: File or assembly name Irrlicht.NET, or one of its dependencies,
'  was not found."
'  Solution: You are missing the file Irrlicht.DLL. Copy it where Visual studio can find it.
'  For example where this program is.


' Example application using Irrlicht.NET
' A little bit more complicated than the C++ hello world example,
' but hey, its the only one yet. Give me some time.
Module Module1

    ' The main entry point for the application.
    Sub Main()

        ' start up the engine

        Dim device As New IrrlichtDevice(Irrlicht.Video.DriverType.OPENGL)

        device.ResizeAble = True
        device.WindowCaption = "Irrlicht.NET VisualBasic example 01 - Hello World"

        ' load some textures

        Dim texSydney As ITexture = device.VideoDriver.GetTexture("..\..\media\sydney.bmp")
        Dim texWall As ITexture = device.VideoDriver.GetTexture("..\..\media\wall.bmp")
        Dim texLogo As ITexture = device.VideoDriver.GetTexture("..\..\media\irrlichtlogoaligned.jpg")

        ' load the animated mesh of sydney

        Dim mesh As Irrlicht.Scene.IAnimatedMesh = device.SceneManager.GetMesh("..\..\media\sydney.md2")

        If mesh Is Nothing Then
            System.Windows.Forms.MessageBox.Show("Could not load mesh ..\..\media\sydney.md2, exiting.", "Problem starting program")
            Return
        End If

        ' add a camera, a test scene node and the animated mesh to the scene       

        Dim cam As ICameraSceneNode = device.SceneManager.AddCameraSceneNodeFPS(Nothing, 100, 100, -1)
        cam.Position = New Vector3D(20, 0, -50)

        Dim node As ISceneNode = device.SceneManager.AddCubeSceneNode(15, Nothing, -1, New Vector3D(30, -15, 0))
        node.SetMaterialTexture(0, texWall)

        node = device.SceneManager.AddAnimatedMeshSceneNode(mesh, Nothing, -1)
        node.SetMaterialTexture(0, texSydney)
        node.SetMaterialFlag(MaterialFlag.LIGHTING, False)

        ' disable mouse cursor
        device.CursorControl.Visible = False

        ' start drawing loop

        Dim fps As Integer = 0

        While device.Run() = True
            If device.WindowActive Then

                device.VideoDriver.BeginScene(True, True, New Color(0, 100, 100, 100))

                device.SceneManager.DrawAll()

                ' draw the logo

                device.VideoDriver.Draw2DImage(texLogo, New Position2D(10, 10), New Rect(0, 0, 88, 31), New Rect(New Position2D(0, 0), device.VideoDriver*****eenSize), New Color(255, 255, 255, 255), False)
                device.VideoDriver.EndScene()

                If (fps <> device.VideoDriver.FPS) Then
                    fps = device.VideoDriver.FPS
                    device.WindowCaption = "Irrlicht.NET Visual Basic example 01 - Hello World [" + device.VideoDriver.Name + "] fps:" + fps.ToString
                End If

            End If
        End While

    End Sub

End Module


koshak-rusya 16.03.2008 15:17

Приветствую, pokibor! Minner здесь говорит, про человека, в меру знающего VB, про меня. Я тут почитал, и немного удивился:
VB - один из языков NET. Я как-то до этого считал, что обычный Visual Basic не относится к NET. Я вот знаю о существовании Visual Basic.NET ну и Visual Studio.
А вот и сам вопрос, есть ли принципиальное различие, между простым VB и VB.NET?

Добавлено через 7 минут
Ещё вопрос, про код "Hello, World", что означает вот этот код - While device.Run() = True?

pokibor 16.03.2008 15:42

Цитата:

Сообщение от koshak-rusya (Сообщение 3626410)
VB - один из языков NET. Я как-то до этого считал, что обычный Visual Basic не относится к NET. Я вот знаю о существовании Visual Basic.NET ну и Visual Studio.

Скрытый текст:
Basic был изначально довольно довольно близок к .NET, в частности благодаря изначально интерпритируемой схеме - компиляторы уже потом появились и, кажется, во многом напоминали программу с интерпритатором в комплекте. Тут, правда, нужно оговориться - интерпритаторы - это к Майкрософту пинки, конечно. Самый первый Basic-то был компилируемым, но к M$ не имел никакого отношения... Ну так вот, продолжая тему Basic'а и .NET - я нигде не утверждал, что Basic - это неделимая часть .NET. А Вы не понимаете разницы между средой программирования и языком. Например, C++ в версии для .NET имеет принципиальные отличия от нормального C++ (особенно в плане работы с памятью). С Basic всё не так, он в .NET вписывается идеально по той причине, что изначально в нём особенно работы с памятью не было (исключая откровенно тупой ReDim). Так что VB как язык и VB в формате .NET не отличаются практически ни на йоту, разве что, возможно, в совсем мелких деталях.
Кстати, в продолжение разговора о переходе на C++ - рекомендую прочитать http://ru.wikipedia.org/wiki/BASIC. В частности, задумайтесь над словами Дейкстры - "Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации".

Цитата:

Сообщение от koshak-rusya (Сообщение 3626410)
А вот и сам вопрос, есть ли принципиальное различие, между простым VB и VB.NET?

Как сказано выше под спойлером - нет. Что не является комплиментом VB.
<добавлено>
А, нет, вынужден несколько покаяться - читаем Википедию.
Цитата:

Сообщение от koshak-rusya (Сообщение 3626410)
Ещё вопрос, про код "Hello, World", что означает вот этот код - While device.Run() = True?

А что там непонятного? Пока метод Run возвращает true, делается цикл. Не могу не отметить, правда, что сама конструкция 'что-то = True' является бредом в чистом виде... Но это уже к вопросу о Basic и авторах кода. Возможно, они как C++-программисты посчитали Basic излишне кривым, не знаю... Мне проверять, а действительно ли булевские переменные требуют сравнения с True в бейсике, лень.


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

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