Пятница, 29 Ноября 2024, 04:28

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Уроки по созданию браузерной игры
vohakisaДата: Четверг, 08 Апреля 2010, 15:14 | Сообщение # 101
был не раз
Сейчас нет на сайте
Знаю в firebird 1.5 можно было писать формулы по которым в поле таблицы считало значение. Например в некое поле ALLPRICE прописывалось значение умножения поля COUNT и PRICE, то есть формула выглядела так (COUNT*PRICE).
Вопрос состоит в том, можно ли в phpmyadmin сделать также? То есть я хочу чтобы поле LIFE в таблице USERS считалось по формуле (ATK*10).

Или это всё придётся делать скриптами в коде?

AssasinДата: Четверг, 08 Апреля 2010, 19:48 | Сообщение # 102
web-coder
Сейчас нет на сайте
Quote (vohakisa)
это всё придётся делать скриптами в коде
СтИнДата: Воскресенье, 11 Апреля 2010, 23:55 | Сообщение # 103
уже был
Сейчас нет на сайте
Спасибо, урок первый усвоил biggrin

Ну вот, вас только познакомили, а ты уже на него с ножом!
boks199Дата: Пятница, 16 Апреля 2010, 22:16 | Сообщение # 104
был не раз
Сейчас нет на сайте
[color=blue][size=10]Хочу создать браузерную игру нужный программисы и художники пишите в скайп tigr1993.(идей много)

хочу создать игрк
AndreykerДата: Понедельник, 19 Апреля 2010, 01:54 | Сообщение # 105
был не раз
Сейчас нет на сайте
Delete

Сообщение отредактировал Andreyker - Понедельник, 19 Апреля 2010, 18:08
xxx09Дата: Суббота, 24 Апреля 2010, 14:16 | Сообщение # 106
был не раз
Сейчас нет на сайте
Assasin, пожалуйста, дай свои контакты (скайп, эл.почту) есть предложение.
KventinДата: Понедельник, 26 Апреля 2010, 09:16 | Сообщение # 107
почетный гость
Сейчас нет на сайте
Ошибка

SQL-запрос:

CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Ответ MySQL:
#1007 - Can't create database 'testgame'; database exists
[ Назад ]
Ошибка

SQL-запрос:

INSERT INTO `phpmyadmin`.`pma_history` (`username`, `db`, `table`, `timevalue`, `sqlquery`) VALUES ('root', '', '', NOW(), 'CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp[...]

Ответ MySQL:
#1146 - Table 'phpmyadmin.pma_history' doesn't exist
вот выбивает sad когда пытаюсь создать базу


wernherДата: Понедельник, 26 Апреля 2010, 09:44 | Сообщение # 108
Only God is Perfect
Сейчас нет на сайте
Сначала надо создать базу командой:
CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Потом создать создать таблицу
Например:
/* таблица инвентаря */
CREATE TABLE `inventar` (
id_inv bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */
name_object CHAR(64),
atk_up INT(2),
def_up INT(2),
lov_up INT(2),
life_up INT(4),
PRIMARY KEY (`id_inv`) /* Показываем что уникальным номером у нас являеться id_msg */
) TYPE=MyISAM;

И только потом добавлять в таблицу значения командой INSERT INTO

Вообще, прежде чем делать свои браузерные игры, я бы посоветовал подучить мат. часть прочитав книгу "PHP 5 для чайников":
http://creation-game.isgreat.org/index.php?module=Forum&do=ShowTopic&id=3


GashegДата: Четверг, 06 Мая 2010, 20:42 | Сообщение # 109
был не раз
Сейчас нет на сайте
У меня apache не включается в панели
wernherДата: Четверг, 06 Мая 2010, 20:45 | Сообщение # 110
Only God is Perfect
Сейчас нет на сайте
посмотри в папке с логами апача ошибку запуска.

GashegДата: Четверг, 06 Мая 2010, 21:52 | Сообщение # 111
был не раз
Сейчас нет на сайте
Все нашел))) над было скайп отключить!

Добавлено (06.05.2010, 21:52)
---------------------------------------------
Ошибка

Ответ MySQL: Документация
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
phpMyAdmin не смог установить соединение с сервером MySQL. Проверьте хост, имя пользователя и пароль установленные в конфигурационном файле config.inc.php и удостоверьтесь, что они соответствуют данным полученным от администратора сервера MySQL.

Это как? о_О

wernherДата: Пятница, 07 Мая 2010, 10:12 | Сообщение # 112
Only God is Perfect
Сейчас нет на сайте
проверь настройки подключения к MySQL. Лоин, пароль и т.п.
Они указаны в файле config.inc.php в папке с phpmyadmin.
файл обильно коментирован


1nfernoДата: Четверг, 13 Мая 2010, 05:03 | Сообщение # 113
был не раз
Сейчас нет на сайте
Доброго времени суток.
Вопрос об общем принципе работы игры.
PHP скриптовый язык. Изменения происходят в ответ на действия игроков.
Каким тогда образом производить какие либо действия в игре, не отталкиваясь от действий игроков.

Например:
Бой (аля combats.ru) у нас есть таймаут в течении которого игроки должны сделать удар.
Тоесть игрок1 бьёт з- записываем в БД, игрок2 бьёт - смотрим совершён ли удар игроком1 если да то высчитываем кто на сколько ударил и высчитываем жизни и записываем в базу все результаты ...... и так все ходы до окончания боя.
Ситуация когда игрок1 уходит в оффлайн...(пропускает ходы - удар не наносит ) все данные в БД записвает игрок2.
Но вот ситуация когда оба игрока уходят в оффлайн.... как тогда быть... у нас же есть таймаут на бой и он должен закончиться с игроками онлайн иди без. как он закончится если некому будет записывать бой в БД.

Это лишь один пример проблемы , в игре может быть много ситуаций в которых надо будет изменять чтото в игровом мире при отсутствии игроков.
Исправьте если я чтото не правильно понимаю.... (PHP не знаю, только начинаю изучать)

dry

IcebergДата: Четверг, 13 Мая 2010, 13:47 | Сообщение # 114
был не раз
Сейчас нет на сайте
1nferno,
Я понял к чему вы клоните. Вы хотите запускать php скрипты независимо от запросов пользователей.
Для этого скрипты запускаются сервером. Есть много таких серверов (некоторые заточены специально под браузерные игры).

Или же можно писать perl скрипты, которые будут что-то запускать, что-то обновлять, что-то регистрировать или что-то куда-то записывать. В общем это все серверное ПО. Дальше копайте в гугле.

1nfernoДата: Четверг, 13 Мая 2010, 14:29 | Сообщение # 115
был не раз
Сейчас нет на сайте
каким образим будут запускаться скрипты на сервере ???

Есть много таких серверов (некоторые заточены специально под браузерные игры).

Подскажите что вы имеете ввиду.... что за сервера ???
Допустим можно запускать скрипты по cron(в linux), но я думаю это както неправильно будет....

AssasinДата: Четверг, 13 Мая 2010, 15:53 | Сообщение # 116
web-coder
Сейчас нет на сайте
1nferno, это решается скриптом, который проверяет нажата ли любая ссылка в течении определенного времени, если нет, то завершаем бой, выводим ничью и выкидываем игрока с игры.
1nfernoДата: Четверг, 13 Мая 2010, 16:09 | Сообщение # 117
был не раз
Сейчас нет на сайте
Хммм... все равно не понимаю...
скорее всего изза незнания PHP
когда и кем запускается скрипт, который будет выкидывать игрока и завершать бой ??
AngevengelistДата: Четверг, 13 Мая 2010, 16:18 | Сообщение # 118
постоянный участник
Сейчас нет на сайте
1nferno, скрипт будет запускаться сервером, когда в течении боя один из игроков не в сети определенное время, тогда бой завершается как ничья. Здесь нужно подключить элементарную логику и все.
LucasitoДата: Четверг, 13 Мая 2010, 16:50 | Сообщение # 119
участник
Сейчас нет на сайте
1nferno, ты на самом-то деле поднял очень сложный вопрос. Если бы я начал на него отвечать, можно было бы целую статью на энное кол-во листов забабахать smile Выбираемых подходов множество и зависит от физической оснащенности, возможностей программиста, планируемой нагрузки и ещё кучи параметров. В данном случае, который ты описывал достаточно через cron запускать скрипт. Но если онлайн большой, то скорее всего сервер в моменты запуска будет подтормаживать. Или нужно заранее брать сервер, который будет успевать обрабатывать все данные с большим запасом. Если хочешь более подробного ответа, то задавай в ЛС более подробный и конкретный вопрос, обязательно отвечу.


Скриншоты. Приглашаем бета-тестеров!
Помог? Ставь "+" мне в репу :)
1nfernoДата: Четверг, 13 Мая 2010, 18:03 | Сообщение # 120
был не раз
Сейчас нет на сайте
Мне логика понятно по какому алгоритму что должно делаться
Все равно ..... кто(какая программа) будет определять что пользователь не в сети ?, хотя нет, это не важно( это я так понимаю можно определить по последнему запросу пользователя, например если он был больше 10 минут назад [запись в базе времени последнего запроса пользователя]) - соответственно пользователь не в сети )
я веду к тому что все скрипты выполняются после какого либо нажатия на ссылку пользователем, соответственно если оба пользователя будут в оффлайне - кем будет вестись запись боя(завершение его например)
???

Добавлено (13.05.2010, 18:03)
---------------------------------------------
ну чтож...
побеседовав с Lucasito, выяснил что пока известен только один нормальный метод:
данные о бое у нас записываются в БД. потом допустим оба игрока уходят в оффлайн....
и в итоге окончание боя у нас запишет в базу тот, кто запросит любую информацию прямо или косвенно касающуюся боя (кроме рузультата боя это может быть инфа о самом игроке учавствовавшем в бою , так как текущее значение его жизней будет зависеть от результата боя)
в итоге в базу будет занесена информация задним числом(временем).

Впринципе обдумав... решение не такое уж плохое и не должно загружать сервер.

Что скажете товарищи ???

Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг