![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SunSay |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 28.3.2008 Репутация: нет Всего: нет |
Здрастуйте Господа!
Вообщем ситуация обычная, решили я и еще один товарищ (пока что только "разговорчики"), но хотелось что бы переросло во что то более-менее серьезней - что можно называть "проект". Мотив: Желания развиваться, самоучения. Цель: Получить Практику в Веб-Програмировании с использованием разных технологий/языков и т.к. , может быть и удовольствия от написаной игры(хотя бы для себя). Все соответвенно на голому энтузиазме и не более ! Условия: много свободного времени, достаточное количество литературы, доступ в интеренет ... (я и товарищ географически находимся в одном городе) Концепт игры - еще не утвержден (но в мысли как бы аморально не звучало "Онлайн Секс РПГ" (браузерная!) - в рамках разумного) , решили до Вторника как бы ТЗ "нарисовать", потом вместе обсудить и т.п. вот тут то и начинаются некоторые нюансы, очень много вопросов по этому, если есть возможность и желания прошу помочь ? (ссылки на полезные статить и что то в этом роде) я так понимаю: сначала надо а бумаге "нарисовать", того мира, который должна создать игра. нужна богатая фантазия. потом надо как бы просчитать и сбалансировать игру по всем типам ресурсов. И только после того как все это будет завершено - появится первая строчка кода. дизайн игры - предпологаю можно оставить на конец, главное что бы "скелет" игры был, а дизайн и прочуюю красоту можно потом будет "прилепить" (может быть я и ошибаюсь) ну вот сомнения: 1. В первую очередь какую совокупность языков для этого использовать? (Товарищ очень хорошо знает C/C++ (я С++ только основы знаю), я думаю как нащет CGI, но опыта как у него в веб-програмировании к сожеленью нет, хотя он писал игрушку в irc и что то даже получилось, также он имеет опыт в написании AI. Что касается меня то я вообще то Delphi программист, но год назад и на php доводилось писать) 2. Касательно Серверной части все будет на FreeBSD (опять же товаришь очень хорошо знает эту ось, я не очень, но Linux изучаю можно считать что в никсах я знаю чуть больше Basic-знаний, поднять и отладить апач не сотвавит труда) 3. БД - пологаю в данном случае MySQL в самый раз... 4. что еще ? (интересует все что касается данной тематике) Для товарища будет проще разобратся, но я думаю при упорстве и я могу научится ума-разума... З.Ы Возможно все что я написал показатся или даже есть глупым бредом, извините пожалуйста если что! В будущем постараюсь максимально испаривится, за пару дней более подробно ознакомлюсь с правилами, прикрепленными топиками и т.к. постараюсь максимально избезать недочетов и ошибок. Я учту все ваши посты/замечания и обезательно сделаю выводы! Хотелось бы услышать побольше ваших мнений! Спасибо за внимание! |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
http://dtf.ru/ уже нашли?
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| webevt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 5.5.2005 Репутация: нет Всего: 3 |
SunSay,
со знаниями СИ, но без знания языков веб-программирования, вы ничего путного не напишете, здесь опыт нужен. Причем такой проект, как онлайн-игра - очень сложен, тут нужна команда, а не два человека со знаниями СИ.. Главное, конечно, это сердце, работоспособный код проекта, но дизайн имеет тоже огромное значение для пользователей.
Perl или PHP + все, что с ними связано. Я бы отдал предпочтение PHP)) - МОЩНЫЙ выделенный сервер, конечно на FreeBSD - канал как можно больший - идеально продуманный концепт игры - раскрутка(стоит немало денег) И все-таки, главное - опыт. Добавлено через 54 секунды solenko, спасибо за линк |
|||
|
||||
| Feldmarschall |
|
||||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
все CGI программирование сводится ровно к одной строчке:
размещаемой перед выдачей страницы в стандартный аутпут. все. в остальном - это просто выдача нужного текста. думаю, твой товарищ осилит эту премудрость. HTML, javascript, FLASH |
||||
|
|||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
во первых надо сразу закладывать масштабируемость, т.к. в итоге проекты которые живут - довольно ресурсоемки.
во вторых быть готовым к большому потреблению трафика. в третьих это конечно php+ajax+html+css (стоит сразу замахиваться на web 2.0) раз уж действительно знаете С++ то проблем с php не возникнет. |
|||
|
||||
| g27 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 29.9.2007 Где: Vilnius Репутация: нет Всего: нет |
я тоже решил так обучаться, в свободное время пишу игру. Способ действительно хороший. Дело конечно не перспективное, но мне лично приятно и я горжусь тем что написал.
Вообщем удачи вам парни, ток вот тематика у вас не серьёзная, успеха думаю не будет, в таком деле главное идея, что бы интересно было. Это лично моё мнение. |
|||
|
||||
| MacTag |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 15.10.2006 Где: Камень-на-Оби - Н овосибирск Репутация: нет Всего: нет |
=) Помню я как я делал игру =) сказали всё правильно люди. Думаю что врятли что то у вас быстро выйдет. Но если будете стараться, то всё обз. получится =)
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
хм, я тут тоже думал сделать игру, мне для проекта надо просто что-то сделать и когда вот думал сделать почему-то в голову мысль пошла что по любому не обойтись только web-языками, что надо делать движок на С++ который будет обрабатывать все запросы и тд.
что получается игру можно сделать всего с php+mysql+html ??? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
А почему нет-то?
при желании игру можно сделать только на HTML или на PHP+HTML ну, или как ты написал - php+mysql+html какой из этих элементов, по-воему, необходимо заменить на Си? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
ну вот например в 13:00 31/03/2008 персонаж должен повысить свои силы скажем, как это реализуется? в MySQL? если да то каким образом?
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Да никак не реализуется. Нет ни малейшего смысла повышать силы в 13-00. Игрок, может. обедать пошел, и ему эти силы нафиг не нужны
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, да хоть пожар у него
вот интересует просто места где игра сама импровизирует, понимаешь? Когда игрока даже в системе нет. А игра продолжает идти. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Пускай идет.
Пускай импровизирует. Какие проблемы-то? игрока-то нету. Что случится, если силу ему прибавят после обеда? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
просто дело в том что задумка была такова , что когда человек не в системе его персонаж серовно остаётся доступным для других.
Представь что на персонажа нападают ровно в 13:01 и у персонажа нет достаточно сил. что тогда? Он помрёт смертью храбрых. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Ну значит в 13-01 прибавишь.
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, как это реализуется?
*** вообще есть интересный доки где описывают написание игры? |
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Cron'ом это реализуется - запуск скриптов по расписанию, даже некоторые бесплатные хостинги Cron поддерживают. От себя добавлю, делали онлайн игруху командой 5 человек на 3-ем курсе, все из одной группы, застопарились именно на графике, сначало прокатывало из инета рисунки тырить, но потом нужно было карты рисовать, дизайн, полосочки, бутылочки (идея была противостояние двух миров магов и техников), так что у нас дальше регистрации и главного окна с картой и персонажем дело не двинулось, хотя времени много ушло. Делали на PHP+MySql. Первым делом после сюжета очень советую продумать структуры таблиц для mysql с инфой о персонаже, инвентаре и т.д. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
ressac, что реализуется? Увеличение силы? $sila+5;
Вот и все увеличение. Напали - увеличил. Не напали - не увеличил. Никаких проблем. mmvds, не нужен тут никакой крон. Крон служит для других целей. не надо ворошить базу каждые 5 секунд, чтобы прставить в нее циферки, которые никому не нужны. Это сообщение отредактировал(а) Feldmarschall - 30.3.2008, 16:11 |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall,
я про то где данные будем хранить что добавить надо "5 " ? я просто не могу понят логику реализации добавления силы с PHP+Mysql и всё! и не в плане КОДА а в плане логики , в смысле логический дизайн игры, понимаешь? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Так бы сразу и писал.
А разве эти данные хранятся, а не высчитываются по определенному алгоритму? По какой причине у него в 13-00 сила повышается? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, ну это как возраст-сила, +1 каждый день. При этом не важно был юзер на сайте или нет, это должно записываться в базу.
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
да не должно оно записывается в базу. записывай время последнего изменения.
когда понадобится - посчитаешь. |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Действительно, тут сложно с Feldmarschall не согласиться, зачем тебе лишние запросы к БД, которые никому не нужны? Вот зайдёт юзер в игру, тогда и добавишь ему силы, столько сколько причитается, а если оставлять персонажа в игре без юзера, то его забьют, если захотят, в любом случае, если на него можно нападать, никакая сила ему не поможет, он же сопротивляться не сможет...
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, ну в принципе уловил смысл где-то, не знаю ... я такого ещё кодил, при написании бы всё стало ясно. Но хоть одно радует что можно ограничатся только php+mysql
*** а в каких случаях тогда используют на сервере с++? (php+mysql+C)? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
source777, я только добавлю - не только когда персонаж заходит в игру, а вообще всегда, когда его информация потребовалась. просто при просмотре списка игроков, при любом взаимодействии с другими, и так далее.
понадобилась инфа - прочитали, посмотрели время, накинули всего сколько нужно - и обратно записали. И новые данные использовали. ressac, для чего угодно. на С написан РНР, mysql, веб-серверы. можно написать модуль расширения для PHP. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Feldmarschall, тойсть когда кто-то решил посмотреть инфо одного из персонажей ты добавляешь в базу ?
|
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Сам себе противоречишь, одно дело жизнь/ману восстанавливать, тут согласен, что логично и легче вычислять и изменять, когда понадобится пользователю, другое дело землетрясения, завозы, увеличение статов на время у всех пользователей, тут без крона не обойтись. Возьмем тот же пример с изменением параметров некоторым игрокам после 13_00 и допустим до 21_00 Если делать через крон, то нужно всего два запуска скрипта, чтобы изменить необходимые параметры сразу во всех таблицах всем десяткам тысяч игроков. А если каждый раз во всех скриптах, где используются нужные параметры делать проверку, пришло нужно время или нет, то во-первых, можно где-нибудь о такой проверке и забыть, а во вторых, если пользователей будет не десяток, а несколько десятков тысяч, то тут как-раз и будет "ворошение базы каждые 5 секунд" и возрастет нагрузка на проц. |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Для таких игр, где надо в 13.00 что-то динамически менять нужен не хостинг, а сервер с постоянно работающей программой. Просто для динамических приложений протокол HTTP cовсем не подходит. Это с точки зрения логики. Так в принципе написать можно и на PHP.
|
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
По сути Cron и есть программа, постоянно работающая на сервере - планировщик задач - серверный демон, служба, названия разные, но суть не меняется. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
mmvds,
а как тогда поступать при просмотре профайла пользователя? тут волей не волей каждый раз нужно ворошить базу... или нет? |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Я имел в виду то, что при повышении динамичности игры http-протокол с его пошаговостью общения станет преградой. Зря я упомянул про 13.00 - здесь как раз согласен, предыдущий мой пост относился к идее динамической игры в общем. |
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Это да, сейчас все браузерки переходят к клиент-серверу, именно из-за большого трафика и тормозов |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
мне кажется, что неуменьшаемые параметры вообще не имеет смысла писать в базу - только начальное значение. а текущее - вычислять.
Хотя, возможно, я могу и ошибаться |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
И что? А вычисления параметров игрока может занимать не мало времени (в зависисмости от задачи), а теперь представте какая будет нагрузка при просмотре профайла 1ого персонажа - 10 тыс. людей? Нет. Все должно быть "по event`s" и по времени. Никаких "когда он посмотрит, тогда то ..."
|
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Нет, при просмотре если для изменения статов использовался крон будут просто браться значения из базы, а не вычисляться каждый раз. Бывают все-же случаи, когда лучше вычислять, чем использовать крон, например, восстановление маны/здоровья если делать через крон, то прейдется делать задачу, запускающую скрипт каждую секунду для всех онлайн пользователей, что будет сильно грузить проц сервера. В данном случае действительно лучше проверять время последнего изменения и прибавлять к мане/жизни сколько надо, только при событиях, влияющих на жизнь/ману, благо в браузере клиента тоже можно посчитать сколько должно быть жизни на том же JS. Все зависит от конкретной задачи. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
mmvds, мой Вам совет - посмотрите чужие решения. Ситуации то бывают, но ситуации разные )
|
|||
|
||||
| mmvds |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |