Пятница, 29 Марта 2024, 10:15

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Форум игроделов » Записи участника » SoWa [59]
Результаты поиска
SoWaДата: Воскресенье, 23 Января 2011, 19:18 | Сообщение # 41 | Тема: помогите правильно удалять экземпляры класса
частый гость
Сейчас нет на сайте
this.smertVraga - какой это экземпляр? Это у тебя обработчик события, функция.
stage.addEventListener(MouseEvent.CLICK, this.smertVraga); - это ты обработчик поставил на все поле. Куда ни кликни - везде событие появится.

Самоуничтожение обычно делают так:

Code

private function smertVraga(Event:MouseEvent):void  
{
stage.removeChild(Event.currentTarget);
}

или подобно.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 18 Января 2011, 19:14 | Сообщение # 42 | Тема: Книга (срочно)
частый гость
Сейчас нет на сайте
Официальный учебный курс от Adobe по Флэшу и ActionScript3 - это две книжки, квадратненькие, красненькие.
Рас два


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Воскресенье, 09 Января 2011, 20:42 | Сообщение # 43 | Тема: Проблема с подключением
частый гость
Сейчас нет на сайте
Фаерволл, присоединяюсь к вопросу.
А что за игра хоть?


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Суббота, 08 Января 2011, 12:46 | Сообщение # 44 | Тема: На чём лучше писать серверную часть игры?
частый гость
Сейчас нет на сайте
Quote (nilrem)
Какие 100к? Самые быстрые, преимущественно написанные на С++ и использующие самое шустрое железо, сервера способны потянуть максимум 10000 клиентов. Да и то со скрипом. Например, в среднем максимальное количество игроков на одном сервере WoW - 2000.

Какой резон мне тебе врать?
Сервер разрабатывается не для "плотного" реалтайма - несколько команд в минуту(как я уже писал выше - тут можно обойтись HTTP, но у меня больная голова и в ней мадагаскарские тараканы). Поэтому цифры такие. Сервер ведь на асинхронных сокетах. На синхронных(как сперва я экспериментировал) конечно такие цифры запредельны smile

Quote (nilrem)
Из тех языков, что я знаю, проще всего оказалось на С#.

Я того же мнения.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Пятница, 07 Января 2011, 19:33 | Сообщение # 45 | Тема: На чём лучше писать серверную часть игры?
частый гость
Сейчас нет на сайте
Де жа вю у меня наверно... Или где-то я недавно видел толковый совет на эту тему - если нужен realtime(бегающие по карте толпы человечков,чаты) - то C#/C++ и технология сокетов, если не нужен(а-ля тыкалка: Ботва, еще какая-то игра про черные кристаллы), то наверно стоит смотреть в сторону HTTP - это PHP, Ruby, ASP.

Возможно сервер на C++ будет работать шустрее, чем на С#, но это зависит, конечно, от программиста. Реальные цифры: асинхронный сокетный сервер на C#, одновременное число подключений: 100к, максимальный размер передаваемой информации - 256 байт. Запущенный на нетбуке сервер поглощал около 85Мб оперативки и почти ни капли процессора.

О, раз уж я о цифрах, то вижу небольшое превосходство сокетных серверов над HTTP - объем передаваемой информации. Хотя возможно я несведущий, но когда мой первый сервер на php обменивался килобайтами информации, то сервер на C# - лаконично лишь несколькими байтами.

Сокеты есть и в php(насчет Ruby честно не знаю), но это дикое извращение.
Возможно что-то забыл...

Добавлено (07.01.2011, 19:33)
---------------------------------------------
Вспомнил, о чем никто не упоминал даже.
База данных. Кудаж без нее.
Я выскажусь за бесплатную MS SQL Express. Сравнений производительности с MySQL(самая популярная БД у вебдевелоперов) я к сожалению не делал и не видел.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Среда, 22 Декабря 2010, 11:03 | Сообщение # 46 | Тема: Язык для браузерки
частый гость
Сейчас нет на сайте
Я не видел, но предполагаю, что можно сделать браузерку на ASP.NET
/*Страшно стало*/


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 23:09 | Сообщение # 47 | Тема: Помогите с системой боя
частый гость
Сейчас нет на сайте
Думал однажды над введением еще трех статов... но больше 5 минут не получилось думать smile Буду думать еще.
Если я правильно понял тебя - при 5-6 статах логика становится проще от того, что статы парные: крит-антикрит, блок-антиблок, ит.д. да?
Надо ведь это дело еще в концепт игры уложить smile Буду размышлять еще, а пока руки накодят такую систему )
В любом случае, благодарю за совет и помощь!


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 23:04 | Сообщение # 48 | Тема: Какие скриптовые языки должен знать разработчик любых игр!!!
частый гость
Сейчас нет на сайте
Соглашусь с предложением учить Pascal/Basic - это простейшие языки, как раз для тех, кто еще не "мыслит как программист".
С предложением учить С++ не соглашусь. Это "волшебный язык", который порой вытворяет такие финты, что не сразу поймешь, где, что и как. Забыл поставить амперсанд или процент - несколько минут и сотни нервных клеток уйдут на поиск баги.
Предупреждая холивар: никто не наезжает на С++ и его крутость. Все так. Но для первого языка он в большинстве случаев сложен. Но я не исключаю, что есть те, кто начинал с С/С++, и даже у меня много таких друзей.
Кину камень в огород Undead`a: С это процедурный язык. С++ объектно-ориентированный. Поэтому учишь, ты, наверно C, а принципы ООП и С++ это как птичка и лопата - совершенно разные вещи.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 22:53 | Сообщение # 49 | Тема: Помогите с системой боя
частый гость
Сейчас нет на сайте
Спасибо за такую идею!
Сейчас попробую накидать тестовую программку с учетом этого.
Пределы мин/макс атаки думаю расставить в зависимости от ловкости, как первый вариант.
Второй вариант, чтобы по 0 не били - пусть сколь угодно большой разброс будет в броне обороняющегося и атаке нападающего(Атакующий А10, защищающийся Б100), но даже такая броня максимально будет срезать 95% урона(как в Fallout было, что параметр не может быть 100%, только 95%)

А как по Вашему мнению, при таких характеристиках как еще можно задать пределы мин/макс атаки?

Добавлено (21.12.2010, 22:53)
---------------------------------------------
В данный момент пробую вот такую систему расчета урона(как в PerfectWorld)
На каждый уровень я рассчитал максимальное количество Защиты. Сопоставить его порезке 95% урона.
Нехитрая математика - 95/Макс.защита = число, сколько пунктов защиты составляют 1% порезки урона.
Например, 15 уровень. Если делать все возможное, то максимально мы добьемся 103 защиты. И для расчетов боя: 95/103 = 0,922330097087378.
Итак, бой начинается.
Атакующий бьет своим уроном.
Пусть у защищающегося 57 защиты. Считаем: 57/0,922330097087378 = 61,8 ~ 62% урона срежем.

Так как в игре запрещены "избиения младенцев", и максимальная разница в уровнях между сражающимися 3, то думаю, такая система не самая ужасная, какую можно придумать.
Как на Ваш взгляд это?
Есть идеи? smile


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 22:17 | Сообщение # 50 | Тема: Какие скриптовые языки должен знать разработчик любых игр!!!
частый гость
Сейчас нет на сайте
ЯП - язык программирования.
Ориентироваться нужно, а не знать, кажется это прописная истина.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 20:18 | Сообщение # 51 | Тема: Структура игры
частый гость
Сейчас нет на сайте
Я не очень понимаю, о каких ты скриптах smile
У меня клиент-серверная игра. Клиент на флеше, сервер на C#

Да, надкласс контролирует все.

Парсер как часть сущности "Персонаж" имеет доступ к персонажу и не дальше. Поэтому все, что с ним происходит - делает парсер. Ну, почти все smile
Если же приходит команда, например "принять бой", то это уже задача не нашего парсера, он передаст управление в класс боя.
Просто так или иначе все завязано на сущности "Персонаж".

Если игра не клиент-серверная, то я думаю, будет уместно сказать о MVC. Тоже очень помогает разделить на полочки: тут модель, тут контроллер, а тут отображение.
Её можно и в мультиплеере использовать, в клиенте. Но все равно все сводится к куче switch-case операторов.
Мне более интересно разрабатывать производительный сервер, нежели красивую оболочку smile К сожалению, приходится делать и то и другое.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 18:07 | Сообщение # 52 | Тема: Помогите с системой боя
частый гость
Сейчас нет на сайте
О, правда )
Да, у меня ровно три параметра, влияющих на бой.
Про крит в запале написал я видимо, это одно и то же что и двойной удар ) х2.
Минимум значения могут принимать 3, максимум 300(высокие уровни, топовый шмот)
О событиях:
Да, ходы по очереди, но не как в БК, когда нужно выбирать, а автоматом - как в Ботве.
Возможен уворот.
Возможен двойной удар(по концепции игры он более уместен, чем крит. Оружие огнестрельное)

Как это должно происходить примерно:
Начало. Сервер определяет, кто первый бьет.
Затем вычисляет урон в зависимости от Силы атакующего и Защиты оппонента. Вычитает из ХП оппонента этот урон.
Если прокатывает двойной удар, то еще раз.
Затем ход передается, и опять вычисляется урон второго по первому, и все по кругу.

В голове есть еще критический момент для системы: если встретятся два персонажа таких:
Персонаж1: Сила 10, Защита 20, Ловкость 10.
Персонаж2: Сила 20, Защита 10, Ловкость 10.
Тогда их Сила врезается в Защиту, и как-то надо делать так, чтобы не по 0 был урон...


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 17:34 | Сообщение # 53 | Тема: Структура игры
частый гость
Сейчас нет на сайте
Профи игростроя я себя не считаю, но назваться профи программирования, наверно, рискну.

Если ты правда программируешь, а не используешь готовые конструкторы, то не важно в чем и что ты пишешь: будь то клиент на флеше, сервер на С или на РНР - все сводится к очень удобной вещи: ООП.
Если знаком с этим термином - здорово.
Если нет - советую почитать.

Разработка очень упрощается, когда ты описываешь все классами, и с ними работаешь. Ну и когда они в иерархию уложены.
Отвлеченный пример моего сервера:
На верхнем уровне класс самого сервера, занимается включением сокетов(обмен данных с клиентом), хранением подключенных людей.
Параллельно с ним на уровне лежит класс работы с сокетами(сервер их только включает, а дальше они сами по себе)
Чуть ниже лежат классы работы с персонажем: Персонаж, который включает в себя еще классы: Опыт, Показатели, Инвентарь, Экипировка, ПАРСЕР.
И еще ниже дергаемые по нужде классы типа Карта, Магазин, Монстр, Бой, ит.д.
Пример, как это функционирует:
Запускается сервер. Загружает в себя из БД все возможные характеристики вещей игры(оружия, брони, зелья). Инициализирует таблицу пользователей.
Потом включается класс передачи данных по сети. Он занимается тем, что ловит все входящие подключения, говорит серверу создать игрока, когда тот подключился, принимает и отдает команды от/к игрокам.
Когда приходит от игрока какая-нибудь команда(например, пройти вверх по карте), класс передачи данных поулчает эту команду и отдает её экземпляру класса игрока, который включает парсер, а тот уже расшифровывает, что за команда пришла и какие характеристики персонажа надо поменять - в данном случае координату У и возможно сообщить игроку, что мы наткнулись на монстра.

Как-то так, но очень кратко.
Суть в двух словах - используй ООП.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Вторник, 21 Декабря 2010, 17:12 | Сообщение # 54 | Тема: Помогите с системой боя
частый гость
Сейчас нет на сайте
Доброго времени суток!
Хочу попросить помощи в создании системы боя.
Происходить будет автоматически, как во многих играх: игроку представляются только результаты каждого шага.
Итак, от каких параметров зависит бой:
- Сила
- Защита
- Ловкость
От ловкости предполагаю будет зависеть первенство хода, увороты, криты и двойные удары.
Сила и защита друг против друга.
Но как их связать вместе так, чтобы был баланс между "крайностями" - сильным, защищенным и ловким игроком?
Буду очень благодарен за подсказки или за ссылки на любые игрушки, где есть похожее. ЯП желательно PHP/C/C++/C#.
/*Когда разбирал одну попавшуюся игрушку, там от защиты никак не зависел урон, прилетающий по персонажу, это печально*/


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Воскресенье, 01 Августа 2010, 23:25 | Сообщение # 55 | Тема: Формулы, используемые в играх.
частый гость
Сейчас нет на сайте
Quote (gil9red)
chance_critical_bash = random( 100/agility.warrior )+1; // шанс крит.удара
if (chance_critical_bash == true) {
damage*=2; cout << "warrior ATAKYET KPuTOM -> life lich -" << damage;
} else {
cout << "warrior ATAKYET -> life lich -" << damage;
}

Аэээ, я глупый?
Условие всегда будет выполняться, или нет?
И если agility.warrior будет 0?


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.


Сообщение отредактировал SoWa - Воскресенье, 01 Августа 2010, 23:27
SoWaДата: Понедельник, 26 Июля 2010, 13:30 | Сообщение # 56 | Тема: Создание инвентаря персонажа
частый гость
Сейчас нет на сайте
Это бы хорошо, если бы инвентарь был лимитирован определенным числом ячеек. К сожалению, в моей игре он сделан по типу инвентаря фалаута.
Я вечером покажу код, как я сделал работу со строками, и может чего еще придумаю по твоим советам smile


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Воскресенье, 25 Июля 2010, 00:07 | Сообщение # 57 | Тема: Создание инвентаря персонажа
частый гость
Сейчас нет на сайте
Если я правильно понял идею, то это будет примерно так:
CREATE TABLE `PlayerBackpack` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11),
`item_id` int(4),
`item_count` int(4),
PRIMARY KEY(`id`)
)

Тогда предположим, что есть 2 игрока, у каждого есть по яблоку.
Тогда в БД будет содержаться 2 строки:
id=>1 user_id=>0001 item_id=>"apple" item_count=>1
id=>2 user_id=>0002 item_id=>"apple" item_count=>1

А если у каждого по несколько разных фруктов:
id=>1 user_id=>0001 item_id=>"apple" item_count=>1
id=>2 user_id=>0001 item_id=>"grape" item_count=>1
id=>3 user_id=>0001 item_id=>"orange" item_count=>1
id=>4 user_id=>0002 item_id=>"strawberry" item_count=>1
id=>5 user_id=>0002 item_id=>"lime" item_count=>1
id=>6 user_id=>0002 item_id=>"cherry" item_count=>1

Вот меня пугает, как БД разрастется.
Строками бы хранилось
id=>1 user_id=>0001 BCKP=>"apple,grape,orange" Count=>"1,1,1"
id=>2 user_id=>0002 BCKP=>"strawberry,lime,cherry" Count=>"1,1,1"

Ориентировочное количество предметов в инвентаре у каждого персонажа порядка 10-30
Итого, на 1 пользователя 10-30 записей в БД.

Вот и вопрос: что для БД будет быстрее - выбрать из огромной таблицы одну запись, или выбрать из маленькой две, но громоздких.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Суббота, 24 Июля 2010, 22:06 | Сообщение # 58 | Тема: Создание инвентаря персонажа
частый гость
Сейчас нет на сайте
Мм? Нет, спасибо, это не очень относится к теме smile

А что по сути темы: я остановился на этой концепции инвентаря - написав её и парочку других сравнил производительность и объем хранимых данных. Эта самая оптимальная.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
SoWaДата: Четверг, 22 Июля 2010, 00:34 | Сообщение # 59 | Тема: Создание инвентаря персонажа
частый гость
Сейчас нет на сайте
Доброго времени суток!
Занимаюсь разработкой браузерки.
Дошло у меня дело до создания инвентаря и возникла проблема: а как его грамотно и оптимально сконструировать?
В 2 уроках по созданию браузерок подглядывал концепции - не впечатлило.

Итак, из чего я исхожу:
Есть несколько типов предметов со своими id: 1-оружие, 2-броня, 3-пойло, 4-ресурс, 5-шлак.
id предмета формируется из id группы и порядкового номера. Но это и не важно.
Предметы обладают так-же какими-то характеристиками и уникальными id и все хранятся в таблицах.

Очень важно для меня учитывать количество одинаковых предметов в инвентаре. Так же важно, что инвентарь не фиксированной длины, т.е. в нем может быть 2 предмета по 50кг или 100 предметов по 1кг, или 1000 предметов по 0.1кг(с тысячей я погорячился, по для примера :))

Мое предположение концепции:
Таблица для инвентаря:
CREATE TABLE `PlayerBackpack` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11),
`Gold` int(11) COMMENT 'Золото',
`Weapon` int(11) COMMENT 'Надетое оружие(ид)',
`Armor` int(11) COMMENT 'Надетая броня(ид)',
`BCKP` varchar(200) COMMENT 'Через запятую ИД вещей',
`Count` varchar(200) COMMENT 'Через запятую количество вещей',
PRIMARY KEY(`id`)
)
В Items через разделитель держать id предметов персонажа, а в Count через разделитель на соответствующих местах количество.
Так как серверная часть игры на PHP, то не составит труда получать эти две стоки, разделять их функцией explode, и получать пару вещь-количество.

Возможно вы предложите лучшую концепцию?


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
Форум игроделов » Записи участника » SoWa [59]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

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