GithubHelp home page GithubHelp logo

monster's People

Contributors

roysrose avatar yahokuku avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

monster's Issues

Upgrade Unit Cache

UnitCache.clearAll을 하지 않고 event 처리로 변경된 데이터 판단해서 cache변경하여 속도 향상

debugging 용 UX 리팩토링

현재 채팅창에 입력하는것에 따라서 debugging 용 Uxmanager 가 변환이되고 있습니다.
(초기 porting 시에 여러부분 망가져있을 것으로 추정)

0 번 클릭시 선택 할수 있는 화면에 대한 소개가 나오고
1번~xx번까지 선택함에 따라서 화면이 바뀌는데.

누구든지 UXmanager 를 다 보지 않아도. 화면별로 쉽게 유지 보수를 할수 있게끔 리팩토링하면
bot 디버깅에 좋을것 같습니다.

기존에도 결과적으로는 같은 기능은 있지만 신규 화면을 추가하거나 하려면 한땀한땀...... 화면 만드는데도 한참이라.
이런 부분에 리팩토링이 필요합니다.

CleanUp

불필요한 소스 및 depth 제거

모듈 분리에 대한 검토

인식, 판단, 행동 부분을 모듈로 분리해서 dependency 분리에 대한 검토.

이유 : 전자가 후자에 대해서 dependency 를 가지고 있을 필요가 없다고 판단이 됨.

dependency 분리를 통해서 판단 단계에서(decision, location) 에서 계산된 것이 인식 단계에서 호출이 불가하게 함

미네랄 트릭추가 적용

테란때 컴샛때문에 미네랄 트릭 양쪽 끝은 제외 시킴.

  • 기존 미네랄 트릭과 시간 비교 후 적용 여부 판단.

오버로드 정찰

오버로드 정찰 기능 넣을것.
공격유닛을 피하는 것(업그레이드?)
공격 사거리 밖으로 빠지는것(업그레이드?)

공격용 드론은 관리

공격용 드론 workermanager 에서 지속적으로 combatworker 에서 관리하는것이 맞을지
combatmanager 에서 squad 통해서 관리하는게 맞을지

lambda 적용

소스 전반적으로 lambda 를 사용한 코드가 없음.

lambda 사용으로

  1. 성능을 올릴수 있는 부분 변경
  2. 유지보수에 용이 하게 빠른 파악 가능

lambda 의 사용은 여러 경우에 따라 속도에 안 좋은 영향을 미칠수 있으니 확인하고 진행 필요

org.monster.base 안의 클래스 리팩토링

BuildManager
BuildManagerFailureProtector
BuildOrderItem
BuildOrderQueue
ConstructionManager
ConstructionPlaceFinder
ConstructionTask

를 유지보수에 용이하게 리팩토링 해보기

PS. 과거 베이직 봇은 버그가 많아서, 버그 fix 도 많이 되어 있으며 새로운 기능들도 여렷 추가됨.
쉽지 않은 작엄임. 레거시 코드 같은 느낌도 없지않아 있어서 리팩토링이랑 구조에 관심있다면 시도

라바 manger

실제 라바를 무엇으로 변태 시키는 것이 맞는지에 대해 관리를 하는 매니져가 있어야 할 것으로 생각이 됨.
더 많은 고민이 필요할 것으로 판단되며. 해당 건은 초안을 가지고 팀원들과 리뷰도 필요하지 않을가 싶음.

아래는 관련하여 고민을 해본 내용.(슬랙과 동일)

- 유닛을 정말로 빌드 큐에 넣을 필요가 없다는 생각이 들기도 하고..
- 과거에는 돈되는대로 공격 유닛을 뽑았지만. 저그는 드론을 뽑을지 공격유닛을 뽑을지를 결정해야되는것이라서. 라바를 모로 변태 시킬지를 관리하는 놈이 하나 더 있어야 하는 구조 같기도 하고.
- 1. 다른것을 못 뽑을때는 무조건 드론을 뽑고 2. 라바가 3개인데 만들게 없으면 드론을 뽑고 3. +@ 를 통한 드론 뽑기 방식을 고려 중인데. 이것을 뮤탈 6마리를 순간 뽑아야 하는 경우등에 따라서 라바 lock 을 걸어줘야 하는 모양새도 나오겠네요. 

이것과 관련되서는 스타에 대한 이해도가 있으신분중 + 상당히 깊은 고민 + 향후에 머신 러닝 적용에 대해서도 한번 고려를 해보실 분이 한번 작업하는것도 좋을것 같습니다. 해당 건은 이슈등록하겠습니다.

판단로직에 대한 결과 강제 설정

채팅창에 입력에 따라서 StrategyBoard 의 값을 강제적으로 변경하는 기능을 추가.
기존에도 비슷한 기능이 있기는 하지만 정리되지 않았으며, 유지보수 쉽게 리팩토링 또는 새로 구축 필요

효과 예)
공격시에 하는 행동에 대한 로직 테스트중에는
공격하는 타이밍 로직에 의해 공격이 발동되지 않아도 강제로 공격을 시작시켜서 테스트 용이

효과 예2)
우리 전략에 설정에 따른 행동을 테스트 하기 위해. 해당 전략을 강제 발동.
이러한 기능이 없으면 상대 4드론에 대한 대응 로직 개발시. 실제 상대가 4드론이 되어야 인식이 되고 대응 로직이 발동.
심지어 상대 4드론 인식 로직이 버그가 있으면....... 하아.......

mineral 예측해서 드론 미리 출발하기

앞마당 먹을시에 300미네랄이 되면 드론이 출발하는것이 아니고
미네랄이 300이 될때 앞마당 해처리를 짓기 시작할수 있게 미리 가서 드론 대기 로직

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.