Контент для этой игры Просмотреть все (2)

Открыть центр сообщества

Об этой игре

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

Люди переедут к вам жить и может быть даже продадут вам вещи, которые помогут вам в ваших путешествиях.

  • Свободный игровой процесс
  • Случайно создаваемый мир
  • Бесплатные обновления

Системные требования

SteamOS + Linux

    • ОС: Windows XP, Vista, 7
    • Процессор: с тактовой частотой 1,6 ГГц
    • Оперативная память: 512 МБ
    • Жесткий диск: 200 МБ свободного места
    • Видеокарта: со 128 МБ видеопамяти и поддержкой шейдеров 1.1
    • DirectX®: 9.0c или новее

    Minecraft или Terraria

    RECOMMENDED

    REQUIRED

    • OS: OSX 10.9.5 — 10.11.6
    • Processor: 2.0 Ghz
    • Memory: 2.5GB
    • Hard Disk Space: 200MB
    • Video Card: 128mb Video Memory, capable of OpenGL 3.0+ support (2.1 with ARB extensions acceptable

    RECOMMENDED

    • OS: OSX 10.9.5 — 10.11.6
    • Processor: Dual Core 3.0 Ghz
    • Memory: 4GB
    • Hard Disk Space: 200MB
    • Video Card: 256mb Video Memory, capable of OpenGL 3.0+ support (2.1 with ARB extensions acceptable

    REQUIRED

    • OS: Ubuntu 14.04 LTS
    • Processor: 2.0 Ghz
    • Memory: 2.5GB
    • Hard Disk Space: 200MB
    • Video Card: 128mb Video Memory, capable of OpenGL 3.0+ support (2.1 with ARB extensions acceptable

    RECOMMENDED

    • OS: Ubuntu 14.04 LTS
    • Processor: Dual Core 3.0 Ghz
    • Memory: 4GB
    • Hard Disk Space: 200MB
    • Video Card: 256mb Video Memory, capable of OpenGL 3.0+ support (2.1 with ARB extensions acceptable

    Источник: store.steampowered.com

    Terraria: или пишите игры правильно

    Надеюсь, все хотя бы раз играли в такую замечательную игрушку, как Terraria, ведь сегодня речь пойдет о ней и о том, как не стоит писать игры с точки зрения безопасности. Если интересно — добро пожаловать под хабракат!

    Вступление

    Начнем, пожалуй, с того, что такое Terraria и как она появилась.

    Феноменальный успех неизменно пребывающей в разработке «песочницы» Minecraft, уже принесшей Маркусу Персону миллионы, не мог остаться незамеченным. Так и случилось, вскоре появляется на свет Terraria. Занимается разработкой один единственный человек, Эндрю Спинкс, главный дизайнер и по совместительству не менее главный программист.

    При взгляде на здешние «восьмибитные» пейзажи услужливое подсознание сразу спешит навесить ярлык «Minecraft в 2D». А что? В рюкзаке — кирка и топор, вокруг — случайно сгенерированные просторы. Цель — копать, строить, убивать, добывать.

    Больше вы можете узнать, почитав специальные статьи об этой игре. Ну а хабр требует технической информации.

    Как оно работает?

    Игра написана на языке C# (.NET 4.0) с использованием фреймворка XNA, о котором я достаточно много писал на хабр, например тут, тут и тут.

    Изучаем саму игрушку

    Купив игру, поиграв в нее около двух недель со своими друзьями — она мне немножко наскучила, я решил более детально изучить её структуру. Как особенности структуры — можно использовать в своих целях.

    Игра написана с помощью XNA и .NET, а значит — все бинарные файлы и файлы библиотек можно посмотреть насквозь с помощью рефлектора, например: .NET Reflector.

    Читайте также:  Как поменять алекс на стива в Майнкрафт

    Открываем Terraria.exe, ищем точку входа Main (Program):

    Видим забавные строки:

    Steam.Init(); if (Steam.SteamInit) < main.Run(); >else

    Т.е. если обычный пользователь возьмет файлы игры из папки стима и даст их другу, у которого этого стима нет — игра выдаст ошибку и откажется запускаться.

    Для того, чтобы обойти эту «безопасность», достаточно подменить steam_api.dll (откуда импортируются функции) или же можно пересобрать приложение, закоментировав соответствующие строчки. Ведь сам Steam никак не влияет на игру, кроме того, что добавляет туда свой Layout. Но мы пойдем более интересным способом и попробуем даже влиять на саму игру.

    Вспомним, что игра написана с использованием — XNA, а значит, у нее должен быть главный класс игры, который наследуется от Microsoft.XNA.Framework.Game, далеко идти не пришлось, это класс Main.

    Любая игра, написанная на XNA, имеет в себе, так называемые «компоненты», которые можно туда добавить. Компоненты могут быть как обычными (логика), так и графическими (Drawable).

    А теперь давайте подумаем, что можно сделать?

    Главный класс у нас Main и он имеет модификатор public (public class Main: Game )!
    Чем это грозит? Мы можем создать новое приложение, которые будет импортировать наш Terraria.exe в качестве библиотеки и запустит её, а дальше — можно добавить свой компонент игры, и этот компонент будет иметь почти полный доступ к игре.

    Пройдясь еще по всяким классам, увидим, что основная идея этих классов — это индийская версия синглтона статический доступ, который, кстати, тоже public.

    Стоило бы придать главному классу модификатор доступа отличный от public, как все бы у нас провалилось.

    Все, дальше — очень просто, создаем компонент и добавляем его в main.Components. Однако, мне захотелось так же порисовать на spriteBatch’e террарии. С DrawableCompontent возникли сложности, т.к. он рисуется до основной прорисовки класса Main, как бы я не играл с DrawOrder.

    Потом, я еще раз взглянул на класс Main, у него отсутствовал модификатор sealed, что так же доставило и упростило мне жизнь. Идея стала куда проще: просто унаследоваться от нашего Main.

    Практика, пишем код

    Создаем новое консольное приложение, подключаем в качестве библиотек Microsoft.Xna.Framework.*, Terraria.exe.

    Теперь создадим класс, который будет наследоваться от Main:

    sealed class InjectedMain : Terraria.Main < private SpriteFont font; private SpriteBatch spriteBatch; internal InjectedMain() : base() < >protected override void LoadContent() < base.LoadContent(); font = Terraria.Main.fontMouseText; // получаем какой-нибудь шрифт spriteBatch = new SpriteBatch(GraphicsDevice); >protected override void Update(GameTime gameTime) < base.Update(gameTime); >protected override void Draw(GameTime gameTime) < base.Draw(gameTime); >>

    Теперь идем в точку входа и заставим запустится наш игровой класс:

    static void Main(string[] args) < try < Program.game = new InjectedMain(); >catch < Console.WriteLine(«fail, sorry :(«); Console.ReadKey(); return; >Program.game.Run(); >

    Ну и нарисуем что-нибудь, добавим в наш переопределенный Draw:

    spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied); spriteBatch.DrawString(font, «Hello habrahabr!», new Vector2(5f, 5f), Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 1f); spriteBatch.End();

    Результат:

    Работает, а значит, мы можем рисовать какие-то данные, например, где находится сундук с пиратскими сокровищами, ведь весь доступ к логике у нас есть.

    Ну и напоследок сделаем что-нибудь эффектное, какой-нибудь хак.

    У игрока террарии есть одно интересное свойство: ghost, которое превращает игрока в каспера приведение и позволяет проходить сквозь стены и летать по миру (наверняка, фишка для девелопера). Так сделаем же так, чтобы при нажатии и удержании Left Shift — игрок становился злым и коварным.

    Читайте также:  Как приручить в Майнкрафте леопарда

    Идем в метод Update:

    KeyboardState state = Keyboard.GetState(); Player local = Main.player[Main.myPlayer]; // получаем нашего игрока local.ghost = state.IsKeyDown(Keys.LeftShift); if (local.ghost) < local.Ghost(); >// пишем в чат if (state.IsKeyDown(Keys.LeftShift) oldKeyboardState.IsKeyUp(Keys.LeftShift)) < Terraria.Main.NewText(«Ghost activated!», 200, 200, 255); >if (state.IsKeyUp(Keys.LeftShift) oldKeyboardState.IsKeyDown(Keys.LeftShift)) < Terraria.Main.NewText(«Ghost deactivaed!», 200, 200, 255); >oldKeyboardState = state;

    Запускаем игру и становимся приведением по клику на шифт:

    Как вы понимаете, рисованием текста и другим преферансом — дело тут не ограничивается, на игру можно влиять почти полностью, отдельно надо сказать про кривость синхронизации мультиплеера — все эти изменения им не пресекаются и дают играть на серверах с этими хаками.

    Отдельно хочется сказать про класс Player, где есть функция Save/Load, которая позволяет сохранять и загружать игроков соответственно, принимает и отдает она сам класс игрока Player. Т.е. мы можем изменить игрока чуть менее, чем полностью, сохранить его и использовать в игре. Или же, например, сохранить всех игроков на сервере в файлы, а потом закинуть их в папку Players и играть ими.

    Мораль

    Всегда используйте модификаторы доступа как надо, а классы, которые конечны — sealed (запрещает наследование). Для таблетки от паранойи верности можно еще и обфусцировать код.

    Так же, если реализуете мультиплеер — сделайте достойную синхронизацию и так, чтобы вся логика проверялась на сервере, а в случае резкого несоответствия — отключать игрока. К примеру, как игрок может моментально переместиться из одной точки карты в другую за время, которое меньше секунды? Увы, сервер террарии считает это нормальным.

    Эта статья писалась исключительно в ознакомительных целях: как на примере простых модификаторов — можно написать нехилый хак.

    Исходники статьи, увы, не буду прикладывать, идея понятна.

    До новых встреч!

    Источник: habr.com

    Terraria: лучшая игра Steam

    Студия Re-Logic объявила, что к концу 2020-го достигла новой планки в продажах Terraria — 35 миллионов копий. Распределение по платформам следующее:

    • 17.2 миллиона на PC.
    • 8.5 миллиона на консолях.
    • 9.3 миллиона на мобильных устройствах.

    Кроме того, Terraria вскарабкалась на первое место среди самых высокооценённых игр в Steam по версии сайта Steam 250. Он использует свою методику подсчёта на основе отзывов пользователей. Ранее первое место в топе Steam 250 несколько лет подряд занимала Portal 2.

    hyBgxtPZ_normal.jpg

    22 Mar 2021 в 13:46 #2

    22 Mar 2021 в 13:47 #3

    Радует что в списке столько песочниц.

    22 Mar 2021 в 13:58 #4

    портал 2 , трак симулятор без поддержки вообще, кто за них голосует и в них играет. ( я сам играл в трак но надоел)

    22 Mar 2021 в 13:58 #5

    Хорошей игре — хорошие продажи.

    Жаль что подобных игр больше нет (кроме заброшенного старбаунда)

    22 Mar 2021 в 14:01 #6

    игра топ, особенно если моды поставить, наиграл уже куча часов и никогда не надоедает

    22 Mar 2021 в 14:04 #7

    welit сказал(а):↑
    Нажмите, чтобы раскрыть.

    ну так отличная игра, почему бы и нет.

    welit сказал(а):↑
    Нажмите, чтобы раскрыть.

    для любителей игр аля дальнобойщики с рулем это лучший варик

    22 Mar 2021 в 14:06 #8

    Formshift сказал(а):↑

    ну так отличная игра, почему бы и нет.

    Нажмите, чтобы раскрыть.

    не играл ни разу, то есть ну допустим сюжетка, ради сюжетки можно и скачать, зачем покупать. А вот офф сервера и тд что там то люди делают? В прятки играют?

    Читайте также:  Как получить образование в Майнкрафте на сервере

    Дальнобой с рулем прикольно , я сам хотел себе . но как то забил. но что бы топ в стиме мда уж ))00

    22 Mar 2021 в 14:06 #9

    Что это за игры там.

    Рад за Факторио, получил удовольствие от этой игры.

    22 Mar 2021 в 14:08 #10

    welit сказал(а):↑

    А вот офф сервера и тд что там то люди делают?

    Нажмите, чтобы раскрыть.

    лол впервые слышу что там еще онлайн режим есть.

    в целом годная головоломка с впечатляющим запоминающимся сюжетом

    22 Mar 2021 в 14:09 #11

    Formshift сказал(а):↑

    лол впервые слышу что там еще онлайн режим есть.

    Нажмите, чтобы раскрыть.

    гаррис мод это разве не портал?

    Модератор других игр и разного

    22 Mar 2021 в 14:09 #12

    Топ 2 заслуженно. Террария, которая затягивает на сотни часов и имеет реиграбильность, как без модов, так и с ними. Ну и легендарный портал, который не смогут оценить либо те, кто решил проспидранить игру, так и не поняв, что чтобы понять суть портала — нужно слушать реплики Гладос, всматриваться в детали и т.д., и тогда ты получишь офигенный и глубокий сюжет, либо те, кто просто глупый и не может в головоломки

    22 Mar 2021 в 14:10 #13

    welit сказал(а):↑

    гаррис мод это разве не портал? tohruShrug.pngZeroTwoThinking.png

    Нажмите, чтобы раскрыть.

    так то это отдельная игра вообще.

    22 Mar 2021 в 14:11 #14

    Queen Chrysalis сказал(а):↑

    FeelsWeirdMan.png?1592046319

    Топ 2 заслуженно. Террария, которая затягивает на сотни часов и имеет реиграбильность, как без модов, так и с ними. Ну и легендарный портал, который не смогут оценить либо те, кто решил проспидранить игру, так и не поняв, что чтобы понять суть портала — нужно слушать реплики Гладос, всматриваться в детали и т.д., и тогда ты получишь офигенный и глубокий сюжет, либо те, кто просто глупый и не может в головоломки

    Нажмите, чтобы раскрыть.

    либо те, кто не играл

    Модератор других игр и разного

    22 Mar 2021 в 14:11 #15

    welit сказал(а):↑
    Нажмите, чтобы раскрыть.

    Либо так.

    22 Mar 2021 в 14:28 #16

    графика из девяностых пиксельный кал рот в говне

    22 Mar 2021 в 14:30 #17

    welit сказал(а):↑

    не играл ни разу, то есть ну допустим сюжетка, ради сюжетки можно и скачать, зачем покупать. А вот офф сервера и тд что там то люди делают? В прятки играют?

    Нажмите, чтобы раскрыть.

    Отблагодарить разрабов ? Ты же не воруешь продукты в магазине, они ж одноразовые, лоооол.

    22 Mar 2021 в 14:38 #18

    никогда не был фанатом инди кала, но эта игрушка затянула на 500+ часов. Гриндилка неплохая

    22 Mar 2021 в 14:57 #19

    PokeMaster сказал(а):↑

    9ac62a0ff4-2_1390x600.jpg

    Студия Re-Logic объявила, что к концу 2020-го достигла новой планки в продажах Terraria — 35 миллионов копий. Распределение по платформам следующее:

    • 17.2 миллиона на PC.
    • 8.5 миллиона на консолях.
    • 9.3 миллиона на мобильных устройствах.

    Кроме того, Terraria вскарабкалась на первое место среди самых высокооценённых игр в Steam по версии сайта Steam 250. Он использует свою методику подсчёта на основе отзывов пользователей. Ранее первое место в топе Steam 250 несколько лет подряд занимала Portal 2.

    hyBgxtPZ_normal.jpg

    HAhaa.png

    вот смотрю я на эту картинку топа продаж и понимаю что люди играют в основном в какое-то говно

    Источник: dota2.ru