Пятница, 03 Мая 2024, 03:03

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Irondust [137]
Результаты поиска
IrondustДата: Четверг, 09 Мая 2013, 03:15 | Сообщение # 81 | Тема: [3D] SCP-354 [Survival Horror]
участник
Сейчас нет на сайте
Здание очень плохое... Из блоков в юнити собирал? Лучше делай в блендере, гораздо проще и быстрее будет.
IrondustДата: Среда, 08 Мая 2013, 10:11 | Сообщение # 82 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Последние 4 дня я работал над новой моделькой. Сказать кто это пока не смогу. Вообще это моя первая серьёзная моделька, сделанная самостоятельно от начала и до конца. Выглядит неидеально конечно, но приемлимо, на мой взгляд, плюс полигонов вышло не очень много - 1100 всего.
IrondustДата: Понедельник, 06 Мая 2013, 18:02 | Сообщение # 83 | Тема: Iron Man: The Mandarin attack
участник
Сейчас нет на сайте
Цитата (FERAMON)
Ученик не должен говорить подобное учителю.

Что это значит?
IrondustДата: Понедельник, 06 Мая 2013, 14:48 | Сообщение # 84 | Тема: Iron Man: The Mandarin attack
участник
Сейчас нет на сайте
Автору рекомендую переделать спрайты под нейстральные, взять какого-нибудь робота вместо айронмена, и сменить название. Игра то вроде неплохая
IrondustДата: Понедельник, 06 Мая 2013, 13:54 | Сообщение # 85 | Тема: Iron Man: The Mandarin attack
участник
Сейчас нет на сайте
При чём тут реклама?
Если у автора высшее юридическое, то он должен знать что есть лицензии для коммерческого, есть для некоммерческого пользования. В данном случае думаю использовать марвеловскую собственность даже ради некоммерческого использования всё равно противозаконно.
IrondustДата: Понедельник, 06 Мая 2013, 03:36 | Сообщение # 86 | Тема: Iron Man: The Mandarin attack
участник
Сейчас нет на сайте
А с авторскими правами проблем не будет, когда выпускать будешь?
IrondustДата: Суббота, 04 Мая 2013, 12:07 | Сообщение # 87 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Доделал ещё пару локаций - небольшой лабиринт пещер и несколько строений, назначение которых раскрывать не буду:
IrondustДата: Вторник, 30 Апреля 2013, 06:53 | Сообщение # 88 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Цитата (Ordan)
Чувствую себя эпик нубом левел дизайна) Отличные скрины)

Цитата (Irondust)
Прикольно выходит молодец!

Спасибо за тёплые слова.
Вот ещё один:
IrondustДата: Понедельник, 29 Апреля 2013, 12:03 | Сообщение # 89 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Новые скриншоты:


IrondustДата: Вторник, 23 Апреля 2013, 12:38 | Сообщение # 90 | Тема: Against Darkness (теперь на Unity 4)
участник
Сейчас нет на сайте
Хорошая игра судя по всем. Я сейчас кстати делаю игру с похожим сюжетом, только фпс. Желаю удачи!
IrondustДата: Среда, 17 Апреля 2013, 13:56 | Сообщение # 91 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Цитата (EvilT)
Irondust, воо. другое дело!! но порталу, или артифакту этому. я бы все таки дал бы (имхо) более зловещую текстурку(вспомним Дедспейс) а вот первый скрин из второй пачки мне оч нравится=)

Спасибо, вообще действие будет происходить не только на самой базе, но ещё и в подземном мире придётся много путешествовать, исследовать руины, бегать от подземных тварей.
IrondustДата: Среда, 17 Апреля 2013, 10:54 | Сообщение # 92 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Цитата (EvilT)
хм...где то я это все уже видел.. и не одну сотню раз... включая текстуры из бесплатного пакета=)

Да, с текстурами у меня проблема, поэтому приходится покупать или использовать бесплатные. Но модельки в большинстве мои собственные.

Цитата (EvilT)
ну систем шок и халфа еще ладно, что то большее похоже на киберпанк, но как ты сюда приплел Мист? я остаюсь в недоумении=))

Игра будет похожа на мист не по стилистике, а по геймплею, например некоторые загадки на починку механизмов будут похожи и т.д.

Цитата (Ordan)
Отличная графика.

Спасибо, вот ещё скрины:


Сообщение отредактировал Irondust - Среда, 17 Апреля 2013, 11:05
IrondustДата: Среда, 17 Апреля 2013, 09:50 | Сообщение # 93 | Тема: [3D] Exterios - FPS/Horror/Quest (демо)
участник
Сейчас нет на сайте
Итак, наконец-то я созрел до анонса своего нового проекта.

2127 год. Человечество практически полностью ушло в виртуальную реальность, поручив весь физический труд машинам. Одной из самых приоритетных задач науки стало достижение бессмертия и вечной жизни в киберпространстве. Слияние человеческого разума и тела машины — вот объект изучения главной исследовательской базы Exterios, расположенной глубоко под землёй, в недрах земной коры на глубине более 3000м.
23 сентября в 04:27 с базой была потеряна связь. Главный и запасной лифты, ведущие с базы на поверхность прекратили функционирование. Персонал базы оказался заперт внутри, и до сих пор об их судьбе ничего не известно.
Вы играете за одного из добровольцев для проведения экспериментов над мозгом с целью пересадки сознания в кибернетическое тело. Симуляция завершилась неудачно, вы находились в камере восстановления. На момент инцидента вы спали, и были выкинуты вместе с камерой в комнате с мусором. Теперь вам предстоит узнать, что же случилось на базе и попытаться выбраться живым.

Жанр игры: FPS, Quest, Horror
На каком движке/конструкторе: Unity3D
В каком пространстве: 3D
Какой вид в игре: от первого лица
Какие есть похожие игры: System Shock 2, Myst, Half Life
Какой Язык Пр. используется в игре: C#
Для какой платформы:(Windows, Linux, Web, Android)
Предоставление исходного кода игры: Не требуется
Какой тип лицензии распространения: Коммерческая
Сроки разработки: Разработка началась в декабре, планируется к выходу зимой-весной 2014
Состав имеющейся команды: Я один

Скрины:


Update 28.05.2013
Теперь можно попробовать альфа версию игры! Скачать!
Для прохождения доступно первые пять уровней, и пока ещё много багов. Все паззлы на английском, поэтому у кого с ним проблемы или для тех кто не хочет заморачиваться я наишу прохождение паззлов


Сообщение отредактировал Irondust - Вторник, 28 Мая 2013, 18:39
IrondustДата: Пятница, 12 Апреля 2013, 12:41 | Сообщение # 94 | Тема: Выполнить функцию из другого скрипта
участник
Сейчас нет на сайте
Напиши свой SendMessage, делов то. В него запихни Find(), GetComponent, и собственно саму команду
IrondustДата: Вторник, 09 Апреля 2013, 09:51 | Сообщение # 95 | Тема: Blender ->Unity3D
участник
Сейчас нет на сайте
Нужно смотреть настройки импорта в юнити, там можно увидеть, есть анимация или нет.
IrondustДата: Пятница, 05 Апреля 2013, 12:38 | Сообщение # 96 | Тема: Действительно ли Falco выплачивает деньги?
участник
Сейчас нет на сайте
Фалко, вам нужно с сайтом что-то делать... Дизайн там очень деревянный.
IrondustДата: Четверг, 28 Февраля 2013, 07:51 | Сообщение # 97 | Тема: Unity 3D вопрос..
участник
Сейчас нет на сайте
Разу уж такая тема, задам вопрос про андроиды. На сайте юнити про лицензия стоит 1500, а для андроида и остальных платформ есть инди и про лицензии, соответственно 400 и 1500. Если я куплю обычную про, и андроид за 400, то смогу ли я пользоваться функциями про на андроиде? Или придётся к обычной про покупать ещё и андроид про, итого 1500+1500 = 3000? Так то дороговато выходит
IrondustДата: Вторник, 15 Января 2013, 12:35 | Сообщение # 98 | Тема: Мой тестовый генератор подземелий.
участник
Сейчас нет на сайте
Работал над генератором подземелий для обучения, чуть больше недели. Результаты вот:



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

Код
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class LevelGenerator : MonoBehaviour {
    public int blockSize;
    private int size = 5;
    private Cell[,] grid;
    private GameObject[] cubes;
    private class Block {
    public int startX, endX, startY, endY, bdirection;
    public bool  roomPlaced;
    public bool[] corridorPlaced;    
    public float RandomNumber;    
    public Block parentBlock, twinBlock;    
    }
    int splitIterations = 0;
    private List<Block> blocks = new List<Block>();
       
    public GameObject wallPrefab, borderPrefab;
    private Block startBlock = new Block();
    public enum LevelSize {tiny = 10, small = 20, medium = 50, large = 80, huge = 160}
       
    public LevelSize levelSize = LevelSize.medium;
       
       
    public float squarity = 0.4F;
       
    // Use this for initialization
    void Start () {
        
    }
    public void ClearCubes () {
     foreach( GameObject c in cubes){
      Destroy(c);
     }
    }
       
    public void StartGeneration () {
     StopAllCoroutines();
     blocks.Clear();
     startBlock = new Block();
     size = (int)levelSize;
        
     grid = new Cell[size,size];
     cubes = new GameObject[size*size];
    for (int i = 0; i<size; i++){
      for (int j = 0; j<size; j++){
      grid[i,j] = new Cell();
      grid[i,j].type = Cell.Type.wall;    
     }
     }
     startBlock.startX = 0;
     startBlock.startY = 0;
     startBlock.endX = size;
     startBlock.endY = size;
     startBlock.RandomNumber = Random.Range(0.0F, 100.0F);
     startBlock.parentBlock = new Block();
     SplitPrepare();
        
     StartCoroutine(WaitForCalc());
    }
       
    void SplitPrepare () {
        
     switch (levelSize){
     case LevelSize.tiny:
     splitIterations = 2;
     break;
     case LevelSize.small:
     splitIterations = 3;
     break;    
     case LevelSize.medium:
     splitIterations = 4;    
     break;
     case LevelSize.large:
     splitIterations = 5;    
     break;
     case LevelSize.huge:
     splitIterations = 7;    
     break;    
     }
        
     float sizeOfMassive = Mathf.Pow(2.0F,splitIterations);
        
     SplitLevel(startBlock, splitIterations);
    }
       
       
    void SplitLevel (Block bTS, int iter) {
        
        
     int blockN=-1;
        
        
        
     if(iter>1){    
     Block[] pro = Splitting(bTS, iter-1);    
     foreach (Block b in pro){
         
          
       SplitLevel(b,iter-1);
          
          
     }
     }
        
        
    }
       
       
    Block[] Splitting (Block splitBlock, int iter) {
        
     int direction = Random.Range(0,2);
     int position;
        
     Block[] retBlock = new Block[2];
     int pogr, kl;
     int length = splitBlock.endY-splitBlock.startY;
     int width = splitBlock.endX-splitBlock.startX;
     if(direction==0){
         
          
         
      kl = blocks.Count;    
      for (int l = 0; l<kl; l++){
        if(splitBlock.RandomNumber==blocks[l].RandomNumber){
           
           
        blocks.RemoveAt(l);
        kl--;
        }
       }
       pogr = (int)(width*squarity);
      position = Random.Range(splitBlock.startX+pogr, splitBlock.endX-pogr);
         
      for (int i = splitBlock.startY; i<splitBlock.endY; i++){
       grid[position,i].isBorder = true;
      }
         
      retBlock[0] = new Block{ endX = position, endY = splitBlock.endY, startX = splitBlock.startX, startY = splitBlock.startY, RandomNumber = Random.Range(0.0F, 100.0F),  parentBlock = splitBlock,  corridorPlaced = new bool[splitIterations-1], bdirection = direction};
      retBlock[1] = new Block{startX = position, endX = splitBlock.endX,startY = splitBlock.startY, endY = splitBlock.endY, RandomNumber = Random.Range(0.0F, 100.0F),parentBlock = splitBlock, corridorPlaced = new bool[splitIterations-1], bdirection = direction};
       retBlock[0].twinBlock = retBlock[1];
      retBlock[1].twinBlock = retBlock[0];
       blocks.Add(retBlock[0]);
       blocks.Add(retBlock[1]);
         
         
         
     }
        
     else {
         
      kl = blocks.Count;    
      for (int l = 0; l<kl; l++){
        if(splitBlock.RandomNumber==blocks[l].RandomNumber){
            
        blocks.RemoveAt(l);
        kl--;
        }
       }    
           
       pogr = (int)(length*squarity);    
      position = Random.Range(splitBlock.startY+pogr, splitBlock.endY-pogr);
         
      for (int i = splitBlock.startX; i<splitBlock.endX; i++){
       grid[i,position].isBorder = true;
      }
      retBlock[0] = new Block{startX = splitBlock.startX, endX = splitBlock.endX, startY = splitBlock.startY, endY = position, RandomNumber = Random.Range(0.0F, 100.0F), parentBlock = splitBlock, corridorPlaced = new bool[splitIterations], bdirection = direction};
      retBlock[1] = new Block{startX = splitBlock.startX, endX = splitBlock.endX, startY = position, endY = splitBlock.endY, RandomNumber = Random.Range(0.0F, 100.0F), parentBlock = splitBlock, corridorPlaced = new bool[splitIterations], bdirection = direction};
      retBlock[0].twinBlock = retBlock[1];
      retBlock[1].twinBlock = retBlock[0];    
       blocks.Add(retBlock[0]);
       blocks.Add(retBlock[1]);
         
         
        

        
     }
         
        
     return retBlock;
    }
       
IEnumerator WaitForCalc () {
     yield return new WaitForSeconds(0.5F);
     PlaceRooms();
     yield return new WaitForSeconds(0.5F);
     BuildCorridors();
     yield return new WaitForSeconds(0.5F);
     BuildLevel ();
        
        
    }    

       
void BuildCorridors () {
     foreach(Block jB in blocks){
      BuildCorridor(jB,splitIterations-2);
     }
        
    }
       
void PlaceRooms () {
        
     for (int u = 0; u<blocks.Count;u++){
         
      int length = (blocks[u].endY-blocks[u].startY)/2;
      int width = (blocks[u].endX-blocks[u].startX)/2;
         
         
          
      int positionX = width+blocks[u].startX;
      int positionY = length+blocks[u].startY;
         
      int roomSizeFinalX = (int)(width*Random.Range(0.65F,0.8F));
      int roomSizeFinalY = (int)(length*Random.Range(0.65F,0.8F));
      if(roomSizeFinalX==0)roomSizeFinalX=1;
      if(roomSizeFinalY==0)roomSizeFinalY=1;
        
      for (int i = 0; i<roomSizeFinalX;i++){
       for (int j = 0; j<roomSizeFinalY;j++){
           
       grid[positionX+i, positionY+j].type = Cell.Type.room;
       grid[positionX-i, positionY-j].type = Cell.Type.room;
       grid[positionX+i, positionY-j].type = Cell.Type.room;
       grid[positionX-i, positionY+j].type = Cell.Type.room;
         }
      }
          
         
        
          
     }
        
    }    
       
void BuildLevel () {
     int k = 0;
     for (int i = 0; i<size; i++){
      for (int j = 0; j<size; j++){
          
      if(grid[i,j].type == Cell.Type.room  || grid[i,j].type==Cell.Type.corridor){
       cubes[k] = Instantiate(borderPrefab,new Vector3(i*blockSize,0.0F,j*blockSize),Quaternion.identity) as GameObject;
          
       }
       else {
       cubes[k] = Instantiate(wallPrefab,new Vector3(i*blockSize,0.0F,j*blockSize),Quaternion.identity) as GameObject;    
       }
       grid[i,j].number = k;
       k++;
     }
     }
        
     for (int i=1; i<size-1; i++){
      for (int j = 1; j<size-1;j++){
       if(grid[i,j].type == Cell.Type.wall){
        if(checkNe(i,j)){
         Debug.Log("destroy");
         Destroy(cubes[grid[i,j].number]);
        }
           
           
       }
      }
     }
    }
       
bool checkNe (int i, int j){
     bool[] ne = new bool[8];
     ne[0] = grid[i,j+1].type==grid[i,j].type;
     ne[1] = grid[i,j-1].type==grid[i,j].type;
     ne[2] = grid[i+1,j+1].type==grid[i,j].type;
     ne[3] = grid[i+1,j-1].type==grid[i,j].type;
     ne[4] = grid[i+1,j].type==grid[i,j].type;
     ne[5] = grid[i-1,j+1].type==grid[i,j].type;
     ne[6] = grid[i-1,j-1].type==grid[i,j].type;
     ne[7] = grid[i-1,j].type==grid[i,j].type;
     bool neA=true;
     for (int o = 0; o<8; o++){
      if(!ne[o]){
       neA = false;
       break;
       }
      }
     return neA;
    }
       
void BuildCorridor (Block joinBlock, int iteration) {
     bool going=true;
     int nedost=0;
     if(iteration>=0){
     if(!joinBlock.corridorPlaced[iteration]){
     ///Building corridor
     if(joinBlock.bdirection == 0){
           
        int length = ((joinBlock.endY -  joinBlock.startY)/2);
        int corY = (length+joinBlock.startY) + (int)(length*Random.Range(-0.3F,0.3F));
        if(joinBlock.startX<=joinBlock.twinBlock.startX){
         //right
         nedost = joinBlock.endX;
        }
        else {
         //left
         nedost = joinBlock.twinBlock.endX;
        }
        going = true;
        int i = 0;
        while (going&&(nedost+i)<size) {
            
         if(grid[nedost+i,corY].type == Cell.Type.wall){
         grid[nedost+i,corY].type = Cell.Type.corridor;
         i++;
         }
         else {
          going = false;
         }
         }
            
            
        i=1;
        going = true;
        while (going&&(nedost-i)>=0) {
         if(grid[nedost-i,corY].type == Cell.Type.wall|| grid[nedost-i,corY].type == Cell.Type.corridor){
         grid[nedost-i,corY].type = Cell.Type.corridor;
          i++;
         }
         else {
          going = false;
         }
         }
         }
       else {
        int width = ((joinBlock.endX -  joinBlock.startX)/2);
        int corX = (width+joinBlock.startX) + (int)(width*Random.Range(-0.4F,0.4F));
        if(joinBlock.startY<=joinBlock.twinBlock.startY){
         //up
         nedost = joinBlock.endY;
        }
        else {
         //down
         nedost = joinBlock.twinBlock.endY;
        }
        int i = 0;
        going = true;
        while (going&&(nedost+i)<size) {
            
         if(grid[corX,nedost+i].type == Cell.Type.wall || grid[corX,nedost+i].type == Cell.Type.corridor){
         grid[corX,nedost+i].type = Cell.Type.corridor;
         i++;
         }
         else {
          going = false;
         }
         }
            
            
        i=1;
        going = true;
        while (going&&(nedost-i)>=0) {
         if(grid[corX,nedost-i].type == Cell.Type.wall){
         grid[corX,nedost-i].type = Cell.Type.corridor;
          i++;
         }
         else {
          going = false;
         }
         }
       }
          
     ///Building/     
     joinBlock.corridorPlaced[iteration] = true;
     joinBlock.twinBlock.corridorPlaced[iteration] = true;    
     }
        
         
       
    BuildCorridor(joinBlock.parentBlock, iteration-1);    
     }
    }    

       
       
}

public class Cell  {
    public enum Type {clear, wall, room, entrance, corridor}
    public Type type;
    public bool isBorder = false;
    public int number;
}

Комментарии писать было влом, спрашивайте если что непонятно.


Сообщение отредактировал Irondust - Среда, 16 Января 2013, 09:25
IrondustДата: Вторник, 15 Января 2013, 12:19 | Сообщение # 99 | Тема: [2d] Dungelot [Dugeon crawler]
участник
Сейчас нет на сайте
http://toucharcade.com/2013/01/14/dungelot-review/
Случайно наткнулся, может уже кидали.
IrondustДата: Среда, 26 Декабря 2012, 12:58 | Сообщение # 100 | Тема: [2D]Paper Invasion (Технодемка)
участник
Сейчас нет на сайте
В общем работаю уже неделю над новым проектом, как и прошлый - вариация жанра Тавер Дефенс.
Суть проекта: дать возможность игроку самому рисовать стены и защитные укрепления, используя возможности тачскрина н планшетниках. Примерно как в играх "рисовалках".
Ссылка на веб-плеер:
Ссылка

1) Кнопка в нижнем левом углу запускает волну врагов.
2) Палитра справа выбирает типы укреплений:
Чёрный - стены, рисуете мышкой.
Оранжевый - создаёт зону, атакующую врагов.(пока не особо хорошо рабоатет)
Жёлтый - создаёт зону, замедляющую врагов
Зелёный, красный, синий, фиолетовый - разные типы башен, но пока они все вызывают только один вид.
Белый - Ластик, стирает стены, башни и зоны.
Слайдеры под палитрой показывают столько "красок" у вас осталось каждого цвета, краски даются за убийство врагов.

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


Сообщение отредактировал Irondust - Среда, 26 Декабря 2012, 12:59
Форум игроделов » Записи участника » Irondust [137]
Поиск:

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