Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
Grazez, У меня щас олимпиада городская по программированию, как закончиться продолжу писать движок, а так в нем уже много чего TGA(32), PNG, BMP(24), PGF(PSP шрифты), 2D/3D вывод(графика прорисовывается с помощью GU lib ) Осталось : Аудио, Файловая система, работа с файлами, и вообщем все=)
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
Все наверно ждут новостей?=) Скажу честно пока все печально, еле как со шрифтами разобрался(честно случайно наткнулся), а так нашел исходники PGE но они нечем не помогли, на проект уходит мало времени и то что было написано с помощью OpenGL приходиться переписывать на GU библиотеку( зато она родная для PSP и крашей гораздо меньше=)
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
Цитата: Psychodoc
Вот список что надо проделать в Terraria Beta: - Добавить задний фон (background) в меню и в игре - Прибавить скорость персонажу - Добавить оружия как Меч, Копье и т. д. - Добавить инвентарь (предлагаю на кнопку Select), и сундуки - Добавить персонажу жизни, ману, сердечки (которые находятся в подземке) - Добавить смену дня и ночи - Добавить NPC - Добавить пустыни, океаны, подземелье, подземные джунгли
Ты такой простой=) Я тут еще не до конца свой движок дописал=)
Насчет ошибки, функция не работает при загрузки текстур с размерами не (2 в степени i) т.е.проблема гдето тут gluScaleImage(Format, WOld, HOld, GL_UNSIGNED_BYTE, data, Wcur, Hcur, GL_UNSIGNED_BYTE, data2);
unsigned int GetNearestCorrectSize(unsigned int Size) { unsigned int result; if (Size> 4096) result = 4096; if (Size<=4096) result = 4096; if (Size<=2048) result = 2048; if (Size<=1024) result = 1024; if (Size<=512) result = 512; if (Size<=256) result = 256; if (Size<=128) result = 128; if (Size<=64) result = 64; if (Size<=32) result = 32; if (Size<=16) result = 16; if (Size<=8) result = 8; if (Size<=4) result = 4; if (Size<=2) result = 2; return result; }
bool IsCorrectSize(unsigned int Size) { return (Size == 2) or (Size == 4) or (Size == 8) or (Size == 16) or (Size == 32) or (Size == 64) or (Size == 128) or (Size == 256) or (Size == 512) or (Size == 1024) or (Size == 2048) or (Size == 4096); }
GLuint CreateTexture(unsigned int Width, unsigned int Height, GLenum Format, GLubyte *data) { bool NeedResize = not (IsCorrectSize(Width) and IsCorrectSize(Height); GLubyte *data2; unsigned int WOld = Width; unsigned int HOld = Height; unsigned int Wcur = Width; unsigned int Hcur = Height; if (NeedResize) { Wcur = GetNearestCorrectSize(Width); Hcur = GetNearestCorrectSize(Height);
switch (Format) { case GL_RGB : data2 = (GLubyte *) malloc(Wcur*Hcur*3); case GL_RGBA : data2 = (GLubyte *) malloc(Wcur*Hcur*4); case GL_ALPHA: data2 = (GLubyte *) malloc(Wcur*Hcur); }
gluScaleImage(Format, WOld, HOld, GL_UNSIGNED_BYTE, data, Wcur, Hcur, GL_UNSIGNED_BYTE, data2); } GLuint Texture; glGenTextures(1, &Texture); glBindTexture(GL_TEXTURE_2D, Texture); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); if (!NeedResize) glTexImage2D(GL_TEXTURE_2D, 0, Format, Width, Height, 0, Format, GL_UNSIGNED_BYTE, data); else glTexImage2D(GL_TEXTURE_2D, 0, Format, Wcur, Hcur, 0, Format, GL_UNSIGNED_BYTE, data2); return Texture; }
Если хочешь помочь, при создании текстуры с размерами не степени 2, псп тухнет. Исправь если можешь.
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
Насчет бэты 0.3 она будет не раньше того как допишу свой движок, что реализовано в движке - загрузка битмапов и пнг с прозрачностью, вывод 2 д текстур и 2д спрайтов(обе функции достаточно гибкие есть смена альфа канала, смена цвета, угла наклона, можно задавать позицию вывода и размер), так как работаю с openGL есть трехмерная графика. Сейчас идет организация 2д шрифтов. Завтра суббота у меня будет как раз время=)
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
idris199797, 2 дня мучался с цветом glColor3f не работала, оказываеться надо было при создании текстур удалить 1 строку :D glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); Уже реализовал 2D вывод текстуры + мелкие функции извлечения RGB по отдельности. Щас пытаюсь разобраться со спрайтами. Работаю по 2 часа макс в день=( маловато времени, но скоро выходные=) Думаю в субботу доведу до ума модуль engine2D.h
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
vladgalay, да мне бы C++ изучить, просто я с openGL полгода работаю и как то привык=) Я понял в чем проблема, если есть тут кто шарит в C++ может напишет процедуру загрузки BMP с прозрачным альфа каналом заданного цвета, я бы мог с delphi переписать, но многих функций я не знаю в с++ таких как readline что есть в делфи
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
vanya8282, Столкнулся с проблемой GL_RGBA не работает т.е. немог создавать изображения с прозрачными областями, нашел решение алфа изображение - немного не оптимально но другого выхода нет, при использовании GL_RGBA - псп зависает и вырубаеться=( Щас работаю над спрайтами
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
И так всем хорошая новость=) Я смог в хоумбрев сделать 2д вывод изображений. точнее из своего движка на делфи переписал в "с", завтра после школы буду переписывать свой спрайтовый движок=) Как все необходимые функции допишу буду портировать Terrariю на псп уже не на скриптах=) Кстати тут писали многи что дизайнеры=) Может кто сделает персонажа=)
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
vladgalay, я когда первый раз открыл примеры тоже обратил на эту либу но у меня не вышло вывести изображение=( Пишет что не найдено хотя я пример даже не изменял, а мне gu и не нравиться буду с помощью glut, opengl32, и glu32
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
vladgalay, "C" изучал недели 2 не больше=) Вроде язык похож, вот только некоторые исходники выносят мне мозг как то не логически структура построена а работает лучше чем надо=) вообщем тонкости "С" нужно понять) Инициализация openGL окна уже есть с помощью glut Буду переписывать свой движок спрайтов с delphi, думаю все получиться) Пока 1 проблема, поддерка только битмапов, но мне и их хватит)
Добавлено спустя 1 час 30 минут 56 секунд:
Я забыл сказать в тест релизе 0.2 я исправил баг с деревьями и генератор деревьев изменил
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
Mr.Stalker, Test release 0.2 -Добавлена дверь -Стена из стекла -платформа через которую можно прыгать т.е с первого на второй этаж например -Молоток убирает стену -Изменено управление -Изменен скин игрока(Нужен дизайнер кто сможет лучше нарисовать)
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
KuNtR, Я бы писал в том же духе, но завтра школа т.е я не смогу писать по ночам, а весь код что написан уже написан ночью=( Я не говорю что заброшу проект, просто медлено будет развиваться А так я надеюсь переписать игру на C, а то мне кажеться LUA не тянет=)
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
kakushonok, насчет персонажа тут на форуме по словам многие дизайнеры=) ДУмаю может кто поможет и сделает нормального) Насчет ошибки, точно не знаю но вывод зависит от озу, я скорее всего буду переписывать игру на c++ а не на скриптах дума. скорость и экономия возрастет раз в 5-10
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
ютуб - //www.youtube.com/watch?v=OxRRJB6EE60&feature=youtu.be Test release 0.2 -Добавлена дверь -Стена из стекла -платформа через которую можно прыгать т.е с первого на второй этаж например -Молоток убирает стену -Изменено управление -Изменен скин игрока(Нужен дизайнер кто сможет лучше нарисовать) Управление X- прыжок стрелки вправо влево - перемещение стрелка вверх - сменить блок стрелка вниз - спрыгнуть с платформы кнопка L установить удалить блок кнопка R открыть закрыть дверь Баги -при загрузке карты не прорисовываються стены то есть надо поставить заново=( Скорее всего игра будет переписана на c++ Выложу ссылку через минут 10
Добавлено спустя 1 минуту 51 секунду:
Я 2 дня потерял переписывая систему вывода=( все закончилось не удачей Думаю если переписать на с++ в homebrew выйдет получше
Возраст: 29 | |
Сообщений: 89 Благодарности: 0 / 27 Репутация: 25 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
zharikov.vitalik, Я учусь в школе-лицее с тремя направлениями. Допустим я в 10 ит-1 ит - информационно технический ф - физический э - математический Хоть у нас и "ИТ" наклон программистов всего два=) Я и мой друг остальные дизайнеры=) Насчет программирования я занимаюсь 3 года, программированием игр занимаюсь меньше года. Проекты свои есть пишу движок в DLL называеться ArtBit engine, Использует OpenGL пока только 2D закончил, сейчас пишу модуль для 3D
Добавлено спустя 1 минуту 29 секунд:
..::GIS::.., не люблю когда в моих исходниках лазиют, небольшая защита для незнающих=)
"" and "PlayStation" are registered trademarks of Sony Computer Entertainment Inc. "", PSP and "UMD" are trademarks of Sony Computer Entertainment Inc. "", "XMB", "Memory Stick Duo" and the "Memory Stick Duo" logotype are trademarks of Sony Corp. All product titles, publisher names, trademarks, artwork and associated imagery are trademarks, registered trademarks and/or copyright material of the respective owners. All rights reserved.