Not signed in (Sign In)

Vanilla 1.1.9 is a product of Lussumo. More Information: Documentation, Community Support.

    •  
      CommentAuthorMadball (Advanced Member)
    • CommentTimeFeb 24th 2012 edited
     
    I`m making a game... It supposed to have 6 levels in 1st release, but i only came up with 3 levels and 1 level idea. Can you help me finishing 2 (3) levels? I`m afraid i won`t publish the game otherwise.

    Warning: you are not forced to read everything. Read until you think you know enough.

    It`s a tile based strategy game. You fight against 1 opponent, and you need to reduce his health to 0.
    What i want from levels is being puzzling. You need to find the weakness of the opponent or think of the most successful strategy.

    Every beginning of a turn, you MP is restored to max.
    You can click tiles to move, up to MP tiles per turn.
    You can use abilities on yourself, your enemy and tiles, only 1 ability per turn.
    Abilities used on yourself and enemy can be else changing (instant change of stat), buffs (chages, but restores after some turns) or mixed.
    You can`t manipulate MaxHP and MaxEP. HP and EP can`t be higher than max. When buffs applied to HP and EP, they reduce them every turn, and don`t restore

    Enemy has 10 DEF. I buff it down by 5 for 2 turns.
    Turn 0: 10 DEF
    Turn 1: 5 DEF
    Turn 2: 5 DEF
    Turn 3: 10 DEF

    Enemy has 100 HP. I buff it down by 5 for 2 turns.
    Turn 0: 100 HP
    Turn 1: 95 HP
    Turn 2: 90 HP
    Turn 3: 90 HP

    When your target is tile, ability buffs tile for some turns. They do nothing by thmselves, but there are 3 triggers:
    0. Enter. When you enter a tile, some stat gets changed. If it was used on tile you are standing on, it doesn`t count.
    1. Stay. When you end a turn staying on a tile, some stat gets changed.
    2. Leave. When you leave a tile, some stat gets changed. If buff from tile you`re staying on is depleted, it doesn`t count.
    When you are done, you can click "End turn" and turn will pass to your opponent.


    Each character has following stats:
    HP: health points (what to describe?) (100 average)
    EP: energy points, used to use skills (100 average)
    MP: how many tiles you can move per turn (4 average)
    ATK: attack, added to dealt damage of physical hits (5-10 average)
    DEF: defence, decreased from recieved damage of physical hits (5-10 average)
    AGI: agility, chance of dodging or critting an attack (5-10 average) (may be raised to 50 average using certain abilities)
    INT: intellect, added to dealt magic damage, incoming magic damage is multiplies by (1-INT/45) (5-10 average)
    There is also distance stat, the distance between characters. You can only decrease it, and when you do, enemy moves, not you.
    You can use up to 11 register variables, which are your very and fully own. Initially they are 0s. Use them wisely!

    NOTE: all stats but HP, MP and AGI are just suggestions. Use them as you like.

    it may be:
    1. an awesome and (or) puzzling idea,
    2. an enemy with some weakness,
    3. a complete level,
    4. something else, just make sure it fits the theme and is worth playing,

    but it must contain:
    1,4: a proper explanation.
    3: the map(optional), the player stats and abilities, the enemy AI and the unlockable (see "Note")
    2,3: the enemy AI.


    * When you complete a mission, you unlock a new character. Initially it`s the player`s one, but you may make your own. You can use them to pass another missions you`ve completed (for fun) or in multiplayer mode (there is one!).
    * No max size of level. There is a min size of 9, thought.

    I will try to convert your thoughts as exact as possible, but if you want to aid me a bit, the level code itself contains:

    Map. Some bits and positions of both characters. Each bit is 0(A) for empty, unwalkable, static and uninteractive tile, 1(B) for opposite.

    AAABBBAAA
    AABBBBBAA
    ABBBBBBBA
    BBBBBBBBB
    BBBBBBBBB
    BBBBBBBBB
    ABBBBBBBA
    AABBBBBAA
    AAABBBAAA
    Player: X=0, Y=4
    Enemy: X=8, Y=4

    Player. Name, stats and abilities.
    _Ability. Name, description, cooldown(You can use once in X turns), conditions, actions, crit actions.
    _Condtions. Pairs of value. Ability is only used if for each pair first value is more or equal to the second one. You can use any functions, as well as stats (even the _distance).
    _Actions. 3 types:
    __1. Change (or increment). Increases value by a given amount.
    __2. Buff. I explained it. Only left to note that buff`s action happens in the beginning of you turn.
    __3. Debuff. Buffs casted on opponent. Debuff`s action happens in the beginning of enemy`s turn.
    _Crit actions. Same as actions, but they happen when you commit a critical hit (based on AGI).
    Same for unlockable character code.
    Next is enemy`s stats.
    Then AI
    _AI code is split into action groups. AI can perform only 1 action from one group per turn (like player`s abilities).
    __Each action from action groups contains:
    ___Can the player dodge it or not.
    ___Conditions, actions and crit actions, same as player`s.
    _You can decrease distance to walk towards player, you can`t increase it thought.


    Ask, please, if you don`t understand something (and want to understand).
    Remember: you are not forced to read it all (I am not forced to write it either).

    Huge thanks to Xyuzhg for his awesome function function!

    I could do this by myself, but I don`t think you can explain this function to me.
    I`d like to have some change... Min/max function (Y`know, if enemy wants to keep 2 tile distance it`s tricky). Or formula to use without actually adding them.
    In exchange, you can remove X and Y. I made my own variable parser.


    If you want too much, i can:
    * Submit a demo version
    * Tell the base code syntax so you can make a complete level-----------------
    LD35!
    • CommentAuthorXyuzhg (Moderator)
    • CommentTimeFeb 25th 2012 edited
     
    Hey, this sounds great!
    I'll gladly help. I can clean up my custom function and add the floor() and ceil() functions into it, if you still need my help here.
    Of course, I can also help in making the levels.
    ---
    OK, I've decided to upgrade my math function.
    Might take me a while, but it should be much more complete after this.-----------------
    Hopefully PA is inconsistent.
    •  
      CommentAuthorMadball (Advanced Member)
    • CommentTimeFeb 25th 2012
     
    @Xyuzhg: thank you. And, floor and ceil... floor(X)=X-X%1, ceil(X)=X+(1-X%1)%1. You don`t need to add them! (Did you understand?)-----------------
    LD35!
    •  
      CommentAuthorTapir
    • CommentTimeFeb 26th 2012 edited
     
    A top-view turn-based tile-based game?
    It would be big game project.

    Generally such games need many graphics effects. This is still the weak point of CIE.
    There is a buff feature in planning, just as the buffs you mentioned above.

    How can we make some help?
    I always want to make but never made such type games before.
    There will be many logic in programming for this game.

    Maybe you can make a simple demo first.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorMadball (Advanced Member)
    • CommentTimeFeb 26th 2012
     
    "Generally such games need many graphics effects."- then we should be able to edit them. Too difficult.
    "There is a buff feature in planning" - o_O
    "There will be many logic in programming for this game." - Wat? I already made the programming.
    "Maybe you can make a simple demo first." - Aye. -----------------
    LD35!
    •  
      CommentAuthorTapir
    • CommentTimeMar 2nd 2012
     
    yes, “Min/max algorithm” is a usual AI algorithm in chess games.
    Generally, recursive function will be used in the implementation.
    The basic implementation are almost the same, but for different games, to make a smartest AI, some special details should be considered.

    Generally, you need situation analysis function, this function will return number value.
    For example, for this game, if the AI bot can go 2 tiles each step, then there are 4 choices for the first step, for each the 4 choices, there are 4 choices for the second step.
    For each of the 4 choices for the first step, their value is the minimum value of 4 choices of the second step.
    After the values for the 4 choices for the first step are calculated, select the maximum one to go.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorMadball (Advanced Member)
    • CommentTimeMar 2nd 2012
     
    @Tapir: I didn`t twig.-----------------
    LD35!
    •  
      CommentAuthorTapir
    • CommentTimeMar 2nd 2012 edited
     
    oh, sorry, I describe it wrong.

    wikipedia has a good explanation: http://en.wikipedia.org/wiki/Minimax...

    Generally, you need a situation analysis function, this function will return number value.
    For example, for this game, if the AI bot can go 2 tiles each step, then there are 4 choices for you. For each the 4 choices, there are 4 choices for the opponent.
    For each of your 4 choices, their value is the minimum (for you) value of opponent's 4 choices .
    After the values for your 4 choices are calculated, select the maximum one to go.

    This is for one step. There are 4x4=16 callings of the situation analysis function.
    to make the AI smarter, generally, more steps are needed, but the callings of the situation analysis function will increase very much.
    To make it is possible calculate more steps, the situation analysis function should be more optimized.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorTapir
    • CommentTimeMar 2nd 2012
     
    Here is the post-mortem of the Google AI contest 2010 winner: http://a1k0n.net/2010/03/04/google-a...
    And 2011: http://xathis.com/posts/ai-challenge...
    The 2010 one is simple 1vs1, the 2011 one is 6vs6. For study purpose, the 2010 one is recommended.
    His code is here: https://github.com/a1k0n/tronbot/
    You can use git to get the repository or downlaod the latest revision here: https://github.com/a1k0n/tronbot/dow...
    It is written with c language.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorMadball (Advanced Member)
    • CommentTimeMar 2nd 2012 edited
     
    I still don`t twig. And i don`t need a complicated AI. Reasons:
    AI is used when player and enemy are in the same conditions, isn`t it? They aren`t.
    Good idea gets more cookies.
    Enemy doesn`t have abilities by itself, they are determined to AI. Good AI shall be "Set enemy`s health to 0".

    ...what did your brain did to my min/max request?.. *sob* ...i just asked to make these functions... ...in the z=f(x,y) function... *sob**sob*-----------------
    LD35!
    •  
      CommentAuthorTapir
    • CommentTimeMar 3rd 2012
     
    :)-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard