Поскольку в веб-программировании я, так сказать, ноль,то прошу у вас совета, какой язык и технологию для этого использовать. Желательно свести к минимуму использование тяжелых технологий вроде flash (да и к тому же она закрыта). Мне пока не очень ясно, может быть подойдет AJAX? Или JavaFX. Про две последние, я слышал звон, да не знаю где он
Веб-игра (эксперимент) (Что использовать?)
Модератор: Модераторы разделов
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Веб-игра (эксперимент)
Хочу написать игру, что-нибудь типа шашек, но немного похитрее. Суть не в этом, а в том, что необходимо нарисовать поле из многоугольников с заданным числом углов (например, из квадратов или, например, из гексов). И надо что б в каждом гексе могла отображаться картинка фигурки (пешка). И что б эти фишки можно было бы интерактивно подвигать.
Поскольку в веб-программировании я, так сказать, ноль,то прошу у вас совета, какой язык и технологию для этого использовать. Желательно свести к минимуму использование тяжелых технологий вроде flash (да и к тому же она закрыта). Мне пока не очень ясно, может быть подойдет AJAX? Или JavaFX. Про две последние, я слышал звон, да не знаю где он
В общем, помогите, товарищи - куда копать?
Поскольку в веб-программировании я, так сказать, ноль,то прошу у вас совета, какой язык и технологию для этого использовать. Желательно свести к минимуму использование тяжелых технологий вроде flash (да и к тому же она закрыта). Мне пока не очень ясно, может быть подойдет AJAX? Или JavaFX. Про две последние, я слышал звон, да не знаю где он
-
NIS
- Сообщения: 26
- ОС: Kubuntu 7.10, OpenSUSE 10.3
Re: Веб-игра (эксперимент)
SVG (Scalable Vector Graphics)
http://ru.wikipedia.org/wiki/SVG
Только если не установить плагин от Adobe, не будет работать на вражеском браузере. В Opera и Firefox всё из каробки
http://ru.wikipedia.org/wiki/SVG
Только если не установить плагин от Adobe, не будет работать на вражеском браузере. В Opera и Firefox всё из каробки
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Веб-игра (эксперимент)
Спасибо за совет! А аякс?
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Веб-игра (эксперимент)
а ты его сначала купи) я так понимаю оно платное на сервере? или я что-то путаю?
чем Java-script не подходит или тот-же Java под виртуальной машиной? (последнее - уже будет полнойценное клиентское приложение)
да, это (и первое и второе) геморно.. первое - геморройнее имхо... но можно...
а в идеале - это как раз Flash... имхо...
чем Java-script не подходит или тот-же Java под виртуальной машиной? (последнее - уже будет полнойценное клиентское приложение)
да, это (и первое и второе) геморно.. первое - геморройнее имхо... но можно...
а в идеале - это как раз Flash... имхо...
-
crop
- Сообщения: 81
Re: Веб-игра (эксперимент)
petrushka_sch2
Скорее всего тебе пригодятся Javascript Framework'и. Наилучшим, на мой взгляд, является YAHOO User Interface. Посмотри их сайт http://developer.yahoo.com/yui/, там приведено очень много примеров, в том числе с использованием AJAX. Есть Drag'n'Drop. И все это только лишь средствами Javascript.
Вот пример карточной игры с использованием YAHOO User Interface:
http://gallery.yahoo.com/apps/13289
Интервью с разработчиком:
http://yuiblog.com/blog/2007/08/20/schultz-solitaire/
Скорее всего тебе пригодятся Javascript Framework'и. Наилучшим, на мой взгляд, является YAHOO User Interface. Посмотри их сайт http://developer.yahoo.com/yui/, там приведено очень много примеров, в том числе с использованием AJAX. Есть Drag'n'Drop. И все это только лишь средствами Javascript.
Вот пример карточной игры с использованием YAHOO User Interface:
http://gallery.yahoo.com/apps/13289
Интервью с разработчиком:
http://yuiblog.com/blog/2007/08/20/schultz-solitaire/
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Веб-игра (эксперимент)
за YAHOO User Interface спасибо, очень интересно. А я правильно понимаю, что и YAHOO User Interface и SVG для интеркативности используют java script?
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Веб-игра (эксперимент)
И еще вопрос: насколько я понял, любой может скачать мою страничку со всеми исходниками? Т.е. это не пхп, где код скрыт от пользователя? А если я там хочу например логин\пароль от mysql базы держать, что бы очки занести в нее? Вообще можно ли там скрывать участки кода от пользователя странички?
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Веб-игра (эксперимент)
насколько я понял, любой может скачать мою страничку со всеми исходниками? Т.е. это не пхп, где код скрыт от пользователя? А если я там хочу например логин\пароль от mysql базы держать, что бы очки занести в нее? Вообще можно ли там скрывать участки кода от пользователя странички?
в Javascript Framework? думаю нет) код должен быть полностью скачан к клиенту "в его браузер" для выполнения на его машине.
логин\пароль конечно держать в таком скрипте не стоит.
кроме того - редкий провайдер позволит вам иметь доступ к Mysql базе из вне. только с вашей хостинговой платформы.
Да и сильно я сомневаюсь что есть какое либо решение для доступа к базам данных из Java-Script.
а "что бы очки занести в нее" - надо отдельно думать как это сделать.
я бы сделать "поддерживающие" php-скрипты на сервере, к которым серез http-запрос обращается скрипт и получает данные.
Кроме того - как без них организовать взаимодействие нескольких игроков (как я понимаю это будет сетевая игра "на сервере из браузера"?).
__________________________________
Вообще - имхо - конечно задачка вырисовывается не для среднестатического первого курса... но похвально что вы решили этим заняться. тем более что в веб-програмировании вы как вы сказали - вы ноль...
-
crop
- Сообщения: 81
Re: Веб-игра (эксперимент)
petrushka_sch2
Правильно думаете. Однако существуют минификаторы, которые делают текст скрипта трудным для разбора и понимания (проще новый написать)
Хранить на этой странице логин.пароль не нужно. Передавать логин в открытом виде можно, а вот пароль лучше передавать в зашифрованном виде (MD5), и сравнение проводить не паролей, а их MD5.
Алгоритм md5 на java script:
http://pajhome.org.uk/crypt/md5/
Denjs
я бы сделать "поддерживающие" php-скрипты на сервере, к которым серез http-запрос обращается скрипт и получает данные.
Кроме того - как без них организовать взаимодействие нескольких игроков (как я понимаю это будет сетевая игра "на сервере из браузера"?).
Абсолютно верно. Поскольку YAHOO User interface - это только frontend, а ведь нужен еще и backend. Как правило, взаимодействие между ними происходит через такие форматы данных, как JSON или XML.
То есть выглядит это примерно следующим образом: делается асинхронный запрос к скрипту, скрипту методами GET или POST передается строка запроса параметр1=значение1&параметр2=значение2&...
Параметры должны иметь определенный смысл (например, имя таблицы и т.д.). Скрипт, написанный на любом языке (php, perl, java, ruby, да хоть CGI скрипт на си:-)) должен в зависимости от значений параметров выводить в консоль, например, следующее:
<ResultSet>
<Result>
petrushka_sch2
Правильно думаете. Однако существуют минификаторы, которые делают текст скрипта трудным для разбора и понимания (проще новый написать)
Хранить на этой странице логин.пароль не нужно. Передавать логин в открытом виде можно, а вот пароль лучше передавать в зашифрованном виде (MD5), и сравнение проводить не паролей, а их MD5.
Алгоритм md5 на java script:
http://pajhome.org.uk/crypt/md5/
Denjs
я бы сделать "поддерживающие" php-скрипты на сервере, к которым серез http-запрос обращается скрипт и получает данные.
Кроме того - как без них организовать взаимодействие нескольких игроков (как я понимаю это будет сетевая игра "на сервере из браузера"?).
Абсолютно верно. Поскольку YAHOO User interface - это только frontend, а ведь нужен еще и backend. Как правило, взаимодействие между ними происходит через такие форматы данных, как JSON или XML.
То есть выглядит это примерно следующим образом: делается асинхронный запрос к скрипту, скрипту методами GET или POST передается строка запроса параметр1=значение1&параметр2=значение2&...
Параметры должны иметь определенный смысл (например, имя таблицы и т.д.). Скрипт, написанный на любом языке (php, perl, java, ruby, да хоть CGI скрипт на си:-)) должен в зависимости от значений параметров выводить в консоль, например, следующее:
<ResultSet>
<Result>
насколько я понял, любой может скачать мою страничку со всеми исходниками?
Правильно думаете. Однако существуют минификаторы, которые делают текст скрипта трудным для разбора и понимания (проще новый написать)
А если я там хочу например логин\пароль от mysql базы держать, что бы очки занести в нее?
Хранить на этой странице логин.пароль не нужно. Передавать логин в открытом виде можно, а вот пароль лучше передавать в зашифрованном виде (MD5), и сравнение проводить не паролей, а их MD5.
Алгоритм md5 на java script:
http://pajhome.org.uk/crypt/md5/
Denjs
я бы сделать "поддерживающие" php-скрипты на сервере, к которым серез http-запрос обращается скрипт и получает данные.
Кроме того - как без них организовать взаимодействие нескольких игроков (как я понимаю это будет сетевая игра "на сервере из браузера"?).
Абсолютно верно. Поскольку YAHOO User interface - это только frontend, а ведь нужен еще и backend. Как правило, взаимодействие между ними происходит через такие форматы данных, как JSON или XML.
То есть выглядит это примерно следующим образом: делается асинхронный запрос к скрипту, скрипту методами GET или POST передается строка запроса параметр1=значение1&параметр2=значение2&...
Параметры должны иметь определенный смысл (например, имя таблицы и т.д.). Скрипт, написанный на любом языке (php, perl, java, ruby, да хоть CGI скрипт на си:-)) должен в зависимости от значений параметров выводить в консоль, например, следующее:
<ResultSet>
<Result>
petrushka_sch2
насколько я понял, любой может скачать мою страничку со всеми исходниками?
Правильно думаете. Однако существуют минификаторы, которые делают текст скрипта трудным для разбора и понимания (проще новый написать)
А если я там хочу например логин\пароль от mysql базы держать, что бы очки занести в нее?
Хранить на этой странице логин.пароль не нужно. Передавать логин в открытом виде можно, а вот пароль лучше передавать в зашифрованном виде (MD5), и сравнение проводить не паролей, а их MD5.
Алгоритм md5 на java script:
http://pajhome.org.uk/crypt/md5/
Denjs
я бы сделать "поддерживающие" php-скрипты на сервере, к которым серез http-запрос обращается скрипт и получает данные.
Кроме того - как без них организовать взаимодействие нескольких игроков (как я понимаю это будет сетевая игра "на сервере из браузера"?).
Абсолютно верно. Поскольку YAHOO User interface - это только frontend, а ведь нужен еще и backend. Как правило, взаимодействие между ними происходит через такие форматы данных, как JSON или XML.
То есть выглядит это примерно следующим образом: делается асинхронный запрос к скрипту, скрипту методами GET или POST передается строка запроса параметр1=значение1&параметр2=значение2&...
Параметры должны иметь определенный смысл (например, имя таблицы и т.д.). Скрипт, написанный на любом языке (php, perl, java, ruby, да хоть CGI скрипт на си:-)) должен в зависимости от значений параметров выводить в консоль, например, следующее:
<ResultSet>
<Result>
-
crop
- Сообщения: 81
Re: Веб-игра (эксперимент)
petrushka_sch2
Правильно думаете. Однако существуют минификаторы, которые делают текст скрипта трудным для разбора и понимания (проще новый написать)
Хранить на этой странице логин.пароль не нужно. Передавать логин в открытом виде можно, а вот пароль лучше передавать в зашифрованном виде (MD5), и сравнение проводить не паролей, а их MD5.
Алгоритм md5 на java script:
http://pajhome.org.uk/crypt/md5/
Denjs
Поскольку YAHOO User interface - это только frontend, а ведь нужен еще и backend. Как правило, взаимодействие между ними происходит через такие форматы данных, как JSON или XML.
То есть выглядит это примерно следующим образом: делается асинхронный запрос к скрипту, скрипту методами GET или POST передается строка запроса параметр1=значение1&параметр2=значение2&...
Параметры должны иметь определенный смысл (например, имя таблицы и т.д.). Скрипт, написанный на любом языке (php, perl, java, ruby, да хоть CGI скрипт на си:-)) должен в зависимости от значений параметров выводить в консоль, например, следующее:
А YAHOO User Interface отображает этот XML в пользовательском интерфейсе так, как Вам нужно. То есть роль php/perl/ruby и т.д. сводится к минимуму:
расшифровать строку запроса и сгенерировать XML. Можно в одном проекте использовать несколько языков (в случае нескольких разработчиков, знающих разные языки). А все потому, что есть универсальный формат обмена - XML :-)
насколько я понял, любой может скачать мою страничку со всеми исходниками?
Правильно думаете. Однако существуют минификаторы, которые делают текст скрипта трудным для разбора и понимания (проще новый написать)
А если я там хочу например логин\пароль от mysql базы держать, что бы очки занести в нее?
Хранить на этой странице логин.пароль не нужно. Передавать логин в открытом виде можно, а вот пароль лучше передавать в зашифрованном виде (MD5), и сравнение проводить не паролей, а их MD5.
Алгоритм md5 на java script:
http://pajhome.org.uk/crypt/md5/
Denjs
я бы сделать "поддерживающие" php-скрипты на сервере, к которым серез http-запрос обращается скрипт и получает данные.
Кроме того - как без них организовать взаимодействие нескольких игроков (как я понимаю это будет сетевая игра "на сервере из браузера"?).
Абсолютно верно.
Поскольку YAHOO User interface - это только frontend, а ведь нужен еще и backend. Как правило, взаимодействие между ними происходит через такие форматы данных, как JSON или XML.
То есть выглядит это примерно следующим образом: делается асинхронный запрос к скрипту, скрипту методами GET или POST передается строка запроса параметр1=значение1&параметр2=значение2&...
Параметры должны иметь определенный смысл (например, имя таблицы и т.д.). Скрипт, написанный на любом языке (php, perl, java, ruby, да хоть CGI скрипт на си:-)) должен в зависимости от значений параметров выводить в консоль, например, следующее:
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<ResultSet>
<Result>Результат1</Result>
<Result>Результат2</Result>
............................................
</ResultSet>А YAHOO User Interface отображает этот XML в пользовательском интерфейсе так, как Вам нужно. То есть роль php/perl/ruby и т.д. сводится к минимуму:
расшифровать строку запроса и сгенерировать XML. Можно в одном проекте использовать несколько языков (в случае нескольких разработчиков, знающих разные языки). А все потому, что есть универсальный формат обмена - XML :-)
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Веб-игра (эксперимент)
вопрос такой, а как бы вы посоветовали организовать одновременную игру нескольких человек на одной доске? Ведь фактически у каждого запущена своя собственная копия приложения...
-
BlackStar
- Сообщения: 1338
- Статус: We are all Kosh
- ОС: Fedora 10
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Веб-игра (эксперимент)
Как вариант, наверное. А что в качестве сервера использовать? MySQL для хранения текущего состояния доски? Или как-то по-другому принято делать?
-
crop
- Сообщения: 81
Re: Веб-игра (эксперимент)
А что в качестве сервера использовать? MySQL для хранения текущего состояния доски?
Совершенно правильно. Можно PostgreSQL. Это уже на Ваш выбор. И при каждом ходе игроков состояние БД будет изменяться.
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Веб-игра (эксперимент)
Просто мне кажется немного кривовато - использовать SQL базу для хранения текущего состояния... А если досок одновременно, ну предположим, 1000, то что - 1000 обращений к базе дополнительных? Просто хочется делать по-человечески сразу же, а такое решение мне кажется несколько кривым, или я не прав?
-
crop
- Сообщения: 81
Re: Веб-игра (эксперимент)
Просто мне кажется немного кривовато - использовать SQL базу для хранения текущего состояния... А если досок одновременно, ну предположим, 1000, то что - 1000 обращений к базе дополнительных?
Не вижу в этом ничего плохого. Это уже вопрос аппаратной мощности сервера, скоростных характеристик web-сервера и типа подключения к БД.
-
ояб
- Сообщения: 107
- ОС: FreeBSD
Re: Веб-игра (эксперимент)
Самое оптимальное использовать технологию Java Web Start