• 전략게임 개발
    • 이런 형태의 전략게임은 어떻게 만들까?.
    • 필요한 기능들
      • unit object
        • player
        • enemy
          • 움직이는 적 유닛
          • 움직이는 않는 적 유닛
      • 유닛 컨트롤 오브젝트
        • 마우스를 드레그해서 유닛을 선택
          • 빨간색으로 사각형을 그려준다
          • 원 모양으로 유닛선택을 표시해준다
          • player의 hp 를 표시해준다
      • 뷰의 이동
        • 룸이 뷰의 크기보다 클때 뷰를 이동시킨다.
      • player 유닛 이동시키기
        • 장애물 회피하여 이동하기
        • 목표물에 도착하지 못할것을 예상하여 자동으로 멈추기
        • 유닛들이 서로 겹칠 때 위치를 떨어트려놓기
      • player 유닛의 공격 설정
        • 공격 obj 생성
    • 무엇부터 만들까?.
      • 유닛부터 만들자.
        • player 유닛 만들기.
        • 적 유닛 만들기.
          • 움직이는 적유닛.
          • 움직이지 않는 적유닛.
        • 유닛을 이동하게 하자.
          • 유닛 하나를 선택해서 이동시켜보자.
          • 마우스를 드레그해서 유닛을 선택하자.
            • 빨간색으로 선택영역을 그려준다.
            • 선택된 유닛을 표시해준다.
            • 유닛의 hp 바를 표시해준다.
            • player 유닛을 이동하게 하자.
              • 장애물 회피하여 이동하기
              • 목표물에 도착하지 못할것을 예상하여 자동으로 멈추기
              • 유닛들이 서로 겹칠 때 위치를 떨어트려놓기
              • 유닛들이 도착할 위치를 미리 지정하고 처리하기
        • 유닛이 공격하게 하자.
          • player 유닛이 공격하게 하자.
            • 적에게 데미지를 주자.
              • 공격에 필요한 변수들을 선언해 주자
              • 목표물을 지정해 주지 않았을 때.
                • 공격 범위 안에 들어오면 공격하게 하자.
              • 공격 effect를 구현하자.
              • 유닛이 파괴될때 이펙트를 구현하자.
              • 총알 오브젝트를 처리하자.
                • 총알의 생성
                • 총알의 draw 그리고 이펙트를 처리하자
                  • 이펙트를 처리할 오브젝트를 생성
                • 총알의 파괴
                  • 데미지 이펙트 생성
          • 적 유닛이 공격하게 하자.
            • 공격 범위 안에 들어오면 공격하게 하자.
          • ------------------------------
          • 목표물이 없을 때
            • 가까운 유닛을 검색한다.
            • 목표물이 공격범위안에 들어오면 target 지정한다.
          • 목표물이 있을 때
            • 공격지정하고.
            • 목표물을 향해 총알을 발사한다.
            • 공격범위를 벗어나면 목표물을 해제한다.
      • 미니맵을 만들자.
        • 미니맵에서 드레그해서 뷰를 이동시키기.
        • 미니맵에서 선택된 유닛 이동시키기.
  • Pillage & Plunder
    • Sprites.
    • Sounds.
    • Backgrounds.
    • Paths.
    • Scripts.
    • Fonts.
    • Time Lines.
    • Objects.
      • obj_control
      • obj_sound
      • obj_player_manager B+
      • obj_ai_manager A
      • obj_shroud A
      • obj_minimap A
      • obj_cursor A
      • obj_cursor_menu A
      • obj_moveindicator B+
      • obj_buildcircle B+
      • obj_sightcircle_32 A
      • obj_sightcircle_96 A
      • obj_sightcircle_128 A
      • obj_sightcircle_160 A
      • obj_sightcircle_192 A
      • obj_sightcircle_224 A
      • obj_sightcircle_256 A
      • obj_sightcircle_320 A
      • obj_mapfeature un
      • obj_free A
      • obj_impassable A
      • obj_impassable_water
      • obj_targeter
      • obj_node
      • obj_blueprint_parent A
        • obj_blueprint_parent96
        • obj_blueprint_parent96*128
        • obj_blueprint_parent128
        • obj_blueprint_parent128*96
      • obj_revealer
      • obj_mineworker
      • obj_returnworker
      • obj_good_parent
      • obj_evil_parent
      • building
        • obj_building_parent 0
        • obj_building_mask_parent 0
        • obj_building_ally_parent 0
        • obj_building_enemy_parent 0
        • obj_building_production_mask
        • obj_building_96_mask
        • obj_building_96*128_mask
        • obj_building_128*96_mask
        • obj_building_128_mask
        • obj_rubble
        • neutral
          • obj_building_neutral_parent
          • obj_building_neutral_mine
          • obj_building_neutral_tree1
          • obj_building_neutral_shrub1
          • obj_building_neutral_rock1
        • good
          • obj_building_good_parent
          • obj_building_good_castle
          • obj_building_good_house
          • obj_building_good_barracks
          • obj_building_good_tower
          • obj_building_good_smith
        • evil
          • obj_building_good_parent
          • obj_building_good_castle
          • obj_building_good_house
          • obj_building_good_barracks
          • obj_building_good_tower
          • obj_building_good_smith
        • obj_building_explosion
      • Button
        • obj_button_parent 0
        • building
          • obj_button_building_castle
          • obj_button_building_house
          • obj_button_building_barracks
          • obj_button_building_tower
          • obj_button_building_smith
        • units
          • obj_button_unit_worker
          • obj_button_unit_soldier
          • obj_button_unit_cannon
        • technology
          • obj_button_technology_weapons1
          • obj_button_technology_weapons2
          • obj_button_technology_armor1
          • obj_button_technology_armor2
      • projectiles
        • obj_projectile_soldier
        • obj_projectile_soldier_impact
        • obj_projectile_cannon
        • obj_projectile_cannon_impact
      • units
        • obj_units_parent 0
        • good
          • obj_unit_good_parent
          • obj_unit_good_worker
          • obj_unit_good_soldier
          • obj_unit_good_cannon
          • obj_unit_good_biological_dead
        • evil
          • obj_unit_evil_parent
          • obj_unit_evil_worker
          • obj_unit_evil_soldier
          • obj_unit_evil_cannon
          • obj_unit_evil_biological_dead
        • neutral
        • obj_unit_mechanical_dead
      • obj_startlocation 0
      • obj_ai_start 0
      • obj_ai_strongpoint 0
      • obj_button_mission 0
      • obj_menu_control A
      • obj_objective 0
      • obj_hud_mask A
      • obj_damage 0
      • obj_main A
    • Rooms.
  • Specials (n/a)