2010-06-10 3 views
3

Итак, я изучаю C++ и SDL, чтобы сделать некоторые базовые 2d игры. Я хочу создать игру вроде World of Warcraft, но 2D-версию. Я хочу, чтобы он был он-лайн и использовал базу данных или что-то для запуска таких данных, как количество золота, HP и т. Д. Мне было интересно, если я сделаю это в SDL, будет ли он работать в режиме онлайн или у пользователя будет скачать SDL сами, чтобы играть?C++ online Role Playing Game (RPG)

Я просто хочу такую ​​игру, но могу играть ее с друзьями, только для ознакомительных целей, которые вы знаете. Я также смотрел DirectX, потому что у всех это на окнах. В любом случае многое поможет, спасибо!

+4

nitpick: «РПГ» означает «Ролевая игра», поэтому вы говорите «C++ online [ролевая игра]] (http://en.wikipedia.org/wiki/RAS_syndrome)»; пожалуйста остановись. –

+1

1) Я предлагаю использовать SDL.NET с C# или VB.NET 2) Не делайте это онлайн. Online занимает 4 раза больше работы, поэтому решите сделать это онлайн или сделать его в 4 раза лучше, чем одиночный (или несколько) проигрыватель (с несколькими джойстиками на одном компьютере и не более lan, если многопользовательский) – 2010-06-10 03:31:01

+1

Ролевая игра, не в сети? Это своего рода побеждает цель. Это полезно как автономное приложение VOIP. – MSalters

ответ

5

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

Если вам нужна игра, вы можете играть со своими друзьями, почему бы не многопользовательский тик-так-паук или даже артиллерию или что-то подобное. У вас будет больше успеха, и у вас может быть что-то, чтобы показать друзьям, когда вы закончите.

+1

Хотя это не прямой ответ, вы правы. Я делаю rpg в свое свободное время, и я * никогда * не закончил. Когда-либо, и программирование - самая легкая часть для меня. –

+1

-1: * Каждый * должен создать RPG-игру. И клиент IRC. И так далее. Новый программист должен попробовать эти вещи, поскольку он мотивирован на это, и он знаком с проблемной областью. Не имеет большого значения, заканчивается ли проект по назначению - поездка - это награда. :-) –

+0

@Frerich: да и нет. Проект, который вы никогда не завершаете, намного менее ценен как учебное упражнение, чем тот, который вы * выполняете *. Если вы еще не закончили его, вы не можете сказать, действительно ли уроки, которые вы узнали из него, были правильными. С другой стороны, вы абсолютно правы, что программист должен сосредоточиться на проектах, которые он хочет сделать, если хочет учиться. – jalf

2

Возможно, вам понадобится включить библиотеку времени исполнения SDL для игры на других компьютерах. Это будет применяться независимо от того, какую библиотеку вы используете.

2

Для самой игры некоторые библиотеки установлены в Windows, но для достижения других функциональных возможностей (онлайн-геймплей, гампад и т. Д.) Вы должны указать пользователю установить другие библиотеки.

1

Если вы используете SDL, вы будете использовать его для локального графического клиента, который пользователь будет загружать или устанавливать. Для этого вам не нужно, чтобы пользователь загружал библиотеку SDL separateoly –, вы можете просто поместить DLL DLL runtime в тот же каталог, что и ваш исполняемый файл, и пакет как в установщик клиента. Конечно, вы должны соблюдать требования GNU LGPL, если вы это сделаете; на веб-сайте SDL есть детали.

Что касается онлайн-куска, я не уверен, что вы имеете в виду. Я предполагаю, что у вас будут клиенты, которые разговаривают напрямую друг с другом в какой-то форме одноранговой сети, или у вас будет серверный сервер, который будет выполняться вами, который будет обрабатывать общую игру. Я не думаю, что вы найдете SDL большую помощь в любом случае. Но если вы перейдете на серверный сервер, вы можете использовать любые библиотеки, которые вам нравятся для этого сервера, без какого-либо воздействия на пользователя, поскольку пользователь будет иметь дело только с клиентом.

1

Для плоского 2D, возможно, самым простым способом является использование веб-интерфейса, а не SDL. Веб-браузеры распространены также на компьютерах Mac и Linux, и вы даже можете поддерживать смартфоны.

Тем не менее, вам нужно будет узнать, как разделить работу между клиентами и центральным сервером. Это не всегда тривиально. Очевидно, что на сервере будут такие вещи, как # золотых монет. Вход клавиатуры принимается сначала на клиенте. Но направление, в котором смотрит ваш toon? Должен ли сервер знать об этом?