Пятница, 29 Марта 2024, 16:12

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 9 из 10
  • «
  • 1
  • 2
  • 7
  • 8
  • 9
  • 10
  • »
Форум игроделов » Записи участника » -Mikle- [196]
Результаты поиска
-Mikle-Дата: Воскресенье, 24 Марта 2013, 15:04 | Сообщение # 161 | Тема: [3D] Аренный шутер [FPS]
Изобретатель велосипедов
Сейчас нет на сайте
Gammeza
Цитата
не оформил тему по правилам. где скрины?

Форум глючит - у меня под IE не редактируются посты (и много других багов), ставить другой браузер не собираюсь, всё остальное работает нормально, жду, может исправят.

Сделал небо и внизу лаву, клторую генерирую с помощью шума Перлина. От неё идёт рассеянный свет:

Ссылка та же: Демо
Новая пушка пока не стреляет.
-Mikle-Дата: Воскресенье, 07 Апреля 2013, 14:27 | Сообщение # 162 | Тема: [3D] Аренный шутер [FPS]
Изобретатель велосипедов
Сейчас нет на сайте
Был небольшой баг - чтобы оружие, которое в руках, не протыкало стены, я чищу перед его рендером z-буфер. Всё в порядке, стены не протыкаются, но если подойти к тонкой стене с тёмной стороны так, чтобы обратная сторона стены была освещена, то конец ствола тоже освещается...
Попробовал поворачивать оружие вверх-вниз - не годится, по крайней мере для аренного deathmatch, теряется динамика, сделал просто приближение оружия к себе при коллизии со стеной, и добавил небольшой наклон.
В демке три вида оружия, у каждого своя длина:
http://yadi.sk/d/QJveWpkd3r9qg
-Mikle-Дата: Пятница, 12 Апреля 2013, 10:14 | Сообщение # 163 | Тема: ЧТО ЗА БРЕД С СИНТАКСИСОМ???
Изобретатель велосипедов
Сейчас нет на сайте
Цитата (First)
На других языках, как С# и т.д., тоже был изменен синтаксис, по сравнению с намного ранними версиями?

Во времена vb6 ещё не было c#.
И дело вообще не в изменении синтаксиса, а в изменении самих возможностей, не добавлении, а именно изменении. Во многом просто навели порядок. Например, если раньше огромное количество констант, задающих цвет, замусоривали общее пространство имён, то теперь все они находятся в одном Enum Color, ты можешь спокойно создавать свою переменную или функцию с названием LightGray. Можешь в свойствах проекта отключить пространство имён System.Drawing - и даже имя Color будет незанятым, при этом ты по-прежнему можешь пользоваться этими константами так:
Код
B.BackColor = System.Drawing.Color.LightGray

или подключив пространство имён не во всём проекте, а в конкретных модулях, где это требуется:
Код
Imports System.Drawing

То, что изменился синтаксис самой процедуры Form_Load - тоже хорошо и правильно. Ведь это не просто процедура, а обработчик события, ты, к примеру, можешь узнать, "кто" вызвал это событие:
Код
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     Me.Text = sender.ToString
   End Sub

Если бы не привязанность к непомерно раздутому фреймворку - я бы сказал, что vb.net лучше, чем vb6 почти во всём остальном. ООП - лучшее в мире (не холивар :)), быстродействие - не уступает, отличная среда разработки, хотя под отладчиком, конечно, vb6 был по-гибче, но это преимущества интерпретатора.
Да, в vb.net уже сложнее делать что-то, не понимая сути того, что происходит.
-Mikle-Дата: Пятница, 26 Апреля 2013, 12:18 | Сообщение # 164 | Тема: 2 вопроса по VB.NET
Изобретатель велосипедов
Сейчас нет на сайте
arrow25, я тоже глянул по ссылке. Из того, что там написано, можно сделать такой вывод - не всё, что написано по-английски, написано с умом smile
Полностью тему я не читал, но всю первую страницу они мусолят этот, АБСОЛЮТНО НЕГОДНЫЙ, тест:
Код
For x = 0 To 10000000
   z = System.Math.Sin(23.5687)
   z = System.Math.Cos(23.5687)
   z = System.Math.Tan(23.5687)
   z = System.Math.Atan(23.5687)
Next

C++, скорее всего, вообще такой цикл заменит на одну строку:
Код
z = Math.Atan(23.5687);

и выиграет в 40 000 000 раз. Нельзя тестировать на бессмысленном коде, так же нельзя тестировать на тяжёлой тригонометрии, это получится тест fpu, а не языка. Если PureBasic умудряется проигрывать ЭТО, то вообще не понятно, кому такой язык нужен. Впрочем, я не проверял, вполне возможно, что авторам той темы хватило интеллекта проверять под отладчиком.
Нужно тестировать хотя бы что-то такое: тест
И ещё - в vb.net имеется ООП, причём очень хорошее, так же выигрывает среда разработки. Ещё плюс - vb.net похож по синтаксису на основную массу других бейсиков, особенно на vb6, чего не скажешь про PureBasic.
У PureBasic вижу два плюса - лучше кроссплатформенность и немного меньше EXE - можно для демосцены применять. Насколько это вам нужно - вам решать.
-Mikle-Дата: Суббота, 27 Апреля 2013, 10:39 | Сообщение # 165 | Тема: Переход на новый язык программирования!
Изобретатель велосипедов
Сейчас нет на сайте
Цитата (Undead)
С одной стороны да, но когда нужно взаимодействовать с натвиным кодом, то другого выхода нет.

Прекрасно взаимодействует. Мой софтверный двиг на C++ и ассемблере портируется на C# и vb.net так же легко, как и на vb6, производительность не теряется, никакого unsafe:
SR2D
Цитата (Undead)
Нужно. Если писать чисто на шарпе, то скорость будет ужасной.

Нет:
Физ. демка на C#
То есть C++, конечно, немного быстрее, но не катастрофично.
Archido
+1
-Mikle-Дата: Понедельник, 29 Апреля 2013, 19:38 | Сообщение # 166 | Тема: Переход на новый язык программирования!
Изобретатель велосипедов
Сейчас нет на сайте
VB6 немного (процентов на 5-10) отстаёт на современных процессорах, особенно на Интелах, на Атлонах уже спорно, а на более старых вообще почти всех рвёт, кроме некоторых C++ компиляторов. Но это с применением стиля программирования, учитывающего специфику VB6 (могу перечислить по пунктам), с учётом, что недоступны потоки, 64-разрядные целые, битовые сдвиги.
-Mikle-Дата: Понедельник, 13 Мая 2013, 21:59 | Сообщение # 167 | Тема: Работа со спрайтами в VB.NET
Изобретатель велосипедов
Сейчас нет на сайте
Вот в этой теме я давал список графических API для VB6.
Там есть мой движок SR2D, для него существуют так же C# и vb.net порты.
SR2D, конечно, не так быстр, как DirectX или OpenGL, но побыстрее API и имеет кое-какие дополнительные возможности.
Вывод на экран в SR2D производится при помощи всё той же API функции SetDiBitsToDevice, а эта функция тоже требует hDC устройства вывода.
Если не станешь пользоваться движком, по крайней мере глянь, как правильно получать hDC для формы в Managed языках.
-Mikle-Дата: Вторник, 14 Мая 2013, 10:36 | Сообщение # 168 | Тема: Графические API для VB6.
Изобретатель велосипедов
Сейчас нет на сайте
Поправил ссылку на движок версии 2.0, но лучше пользоваться новым 3.2, там много хороших добавлений.
Вот ссылки на порты для vb.net и C#:
sr2d-vb.net
sr2d-c#
Вот ещё примеры на VB6:
Анимация
Скринсейвер
Простейший вывод спрайта
А игра могла не запуститься из-за DirectShow - там с помощью него проигрывается миди музыка.


Сообщение отредактировал -Mikle- - Вторник, 14 Мая 2013, 10:37
-Mikle-Дата: Среда, 29 Мая 2013, 10:54 | Сообщение # 169 | Тема: На каких языках программирования пишете?
Изобретатель велосипедов
Сейчас нет на сайте
First, ты продемонстрировал дважды неправильный код.
Во-первых - экземпляр Graphics создавать при каждой перерисовке не нужно, то есть правильнее так:
Код
Public Class Form1
   Dim a As Integer = 0
   Dim G As Graphics

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     G = PictureBox1.CreateGraphics()
   End Sub

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     If a < 255 Then
       G.FillRectangle(New SolidBrush(Color.FromArgb(a, 0, 0, 0)), 0, 0, PictureBox1.Width, PictureBox1.Height)
       a += 1
       Me.Text = a
     End If
   End Sub
End Class

Я не зря вставил строчку "Me.Text = a", обрати внимание при каком "a" картинка уже совсем непрозрачна, это вторая ошибка, правильнее (и проще) так:
Код
Public Class Form1
   Dim a As Integer = 0

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     If a < 255 Then
       PictureBox1.BackColor = Color.FromArgb(a, 0, 0, 0)
       a += 1
       Me.Text = a
     End If
   End Sub
End Class
-Mikle-Дата: Среда, 29 Мая 2013, 13:57 | Сообщение # 170 | Тема: На каких языках программирования пишете?
Изобретатель велосипедов
Сейчас нет на сайте
Цитата (First)
как сделать, что она становилась ярче

Просто же - замени в "Color.FromArgb(a, 0, 0, 0)" нули на нужный тебе цвет, к которому должно стремиться, например "Color.FromArgb(a, 255, 255, 255)".

Простой пример на VB6:


Простой пример на C++:
-Mikle-Дата: Пятница, 26 Июля 2013, 10:11 | Сообщение # 171 | Тема: можно ли быстро выучить визуал бейсик
Изобретатель велосипедов
Сейчас нет на сайте
smile196, что такое "обычный бейсик"? Нет такого понятия. Точнее было 25 лет назад - GWBasic.
Если знаешь бейсик такого уровня - то для начала нужно разобраться с типами и функциями, потом ООП и событийный подход.
Если обычный - это что-то типа QBasic, PowerBasic, PureBasic - то с типами и функциями ты уже знаком.
shubniggurath, смысл есть, хотя бы потому, что знание предыдущей версии бейсика облегчит обучение.
С начала стоит ознакомиться с VB6, сразу включив Option Explicit (заодно будешь знать VBA и VBS, что всегда полезно), когда станут понятны основы ООП и событий - можно переключаться на net. Как выучишь net - поймёшь, что знаешь C# и почти понимаешь яву.


Сообщение отредактировал -Mikle- - Пятница, 26 Июля 2013, 10:14
-Mikle-Дата: Пятница, 02 Августа 2013, 19:29 | Сообщение # 172 | Тема: Графические API для VB6.
Изобретатель велосипедов
Сейчас нет на сайте
Хостинг "Народ" передан с Яндекса на Юкоз, это сопровождалось потерями...
Скоро перезалью всё на новый сайт и обновлю ссылки тут.
-Mikle-Дата: Понедельник, 05 Августа 2013, 15:25 | Сообщение # 173 | Тема: Графические API для VB6.
Изобретатель велосипедов
Сейчас нет на сайте
Исправил все ссылки в первом сообщении.
Цитата (GameLoper)
я не помню есть ли в VB6 ,asm вставки ,ну если есть, то как вариант самому написать графику на asm вставках

В VB6 нет asm-вставок, но нет проблем подключить любую функцию из DLL. В SR2D так и сделано, большая часть функций там действительно написана на ассемблере.
Цитата (Izaron)
Это же очень сложно, одних только расчетов на толстую тетрвдь, да и живем мы не в восьмидесятых.

Софтовый рендер - одно из немногих оставшихся направлений программирования, где применение ассемблера ещё оправдано.
-Mikle-Дата: Суббота, 17 Августа 2013, 17:07 | Сообщение # 174 | Тема: Программирование градиента внутри области?
Изобретатель велосипедов
Сейчас нет на сайте
Градиент (линейный) - это простая зависимость цвета от координаты:
Код

k=k1*x+k2*y
Col=Col1*k+Col2*(1-k)

k1, k2 - произвольные коэффициенты,
Col1, Col2 - опорные цвета, от которых строится градиент.
То есть рисовать можно как угодно, можно вообще без полигонов - с помощью стенсила, к примеру, цвет вычисляем прямо в пиксельном шейдере.
-Mikle-Дата: Четверг, 22 Августа 2013, 18:38 | Сообщение # 175 | Тема: Работа с байтами
Изобретатель велосипедов
Сейчас нет на сайте
GameMix, смещение, точнее сдвиг - это работа с БИТАМИ, а не байтами, сильно оптимизирует умножение и деление на степени двойки.
Так же с битами работают логические побитовые операции, типа "&", "|".
Работа с байтами - это, к примеру, разложение int32 значения цвета на A, R, G, B компоненты. Вместо непосредственного доступа к байтам это часто эмулируют с помощью битовых операций с int32 значениями - на современных процессорах это работает быстрее.
-Mikle-Дата: Четверг, 22 Августа 2013, 18:59 | Сообщение # 176 | Тема: Работа с байтами
Изобретатель велосипедов
Сейчас нет на сайте
Цитата
интересует, часто ли нужно прибегать к работе со сдвигом битов, есть ли возможность написания программы без этого.

Как я уже писал - это всего лишь умножение и деление на степени двойки, просто более быстрое. То есть обойтись можно, тем более, что некоторые компиляторы сами заменяют умножение-деление на сдвиги.
-Mikle-Дата: Среда, 25 Сентября 2013, 15:34 | Сообщение # 177 | Тема: [3D]UFO арена - захват флага
Изобретатель велосипедов
Сейчас нет на сайте
Подвернулся небольшой конкурс, и я сделал игру: Скачать
Ещё предстоят небольшие доделки, поэтому не в "Готовые проекты".

Технологии: VB6, DX9, никаких доп. зависимостей, требования минимальные.
Управление: Стрелки для движения (настраивается), Esc - выход.
Задача: Собирать появляющиеся флаги быстрее соперников, за подобранный флаг получаем +1 балл, за падение в пропасть 1 балл списывается. Имеется 5 соперников, внизу панель с текущим счётом, первое число - наш счёт. Справа панели - таймер обратного отсчёта, показывающий время до конца матча.

Обратите внимание на звуки. Звук колокола я сгенерировал, а остальные издал мой компьютер. Звук двигателя записан с вентилятора, удар - бил кулаком по корпусу (старый комп), скрежет - царапал корпус ключом.
Скриншот:
-Mikle-Дата: Среда, 25 Сентября 2013, 17:07 | Сообщение # 178 | Тема: [3D]UFO арена - захват флага
Изобретатель велосипедов
Сейчас нет на сайте
Цитата
Можно узнать, как вы это совместили?

Тут я это описывал: Графические API для VB6
Цитата
очень интересно посмотреть исходники

Эта игра ещё не доделана, как доделаю - дам исходники. Но можно посмотреть исходники другой моей игры: AoS2


Сообщение отредактировал -Mikle- - Среда, 25 Сентября 2013, 17:07
-Mikle-Дата: Четверг, 17 Октября 2013, 15:15 | Сообщение # 179 | Тема: Что почитать по генерации лабиринтов и уровней?
Изобретатель велосипедов
Сейчас нет на сайте
kvestpro, один из способов:
Заполняем 2D сетку-массив ячейками, между ними - стенки, помечаем ячейки, как незанятые.
Пишем такую процедуру:
Параметр - координаты текущей ячейки (индексы в 2D массиве). Помечаем текущую ячейку занятой. Функция в случайном порядке проверяет всех четырёх соседей. Если сосед не занят и не за краем массива - убираем стенку в его направлении и рекурсивно вызываем эту же функцию, передавая в неё адрес соседа. ВСЁ! Вызвав эту функцию всего 1 раз для одной любой ячейки, мы получаем готовый лабиринт.
Готовый пример на VB6 можно посмотреть тут: Лабиринт
Выглядит это так:



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


Сообщение отредактировал -Mikle- - Четверг, 17 Октября 2013, 15:17
-Mikle-Дата: Понедельник, 02 Декабря 2013, 10:35 | Сообщение # 180 | Тема: [3D]64к игра "Hello, Win!"
Изобретатель велосипедов
Сейчас нет на сайте
Я принял участие в конкурсе игр. По условиям конкурса архив с игрой не должен превышать 64 кБ, игра должна работать без установки каких-либо дополнительных фреймворков или библиотек хотя бы на одной ОС из: WinXP SP3, Win7 или Win8 x32 или x64.
Моя игра работает на WinXP, но и на других запустить можно, в ReadMe указано как.
Предлагаю заценить: скачать



Сообщение отредактировал -Mikle- - Воскресенье, 15 Декабря 2013, 10:54
Форум игроделов » Записи участника » -Mikle- [196]
  • Страница 9 из 10
  • «
  • 1
  • 2
  • 7
  • 8
  • 9
  • 10
  • »
Поиск:

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