[UMC] RPG-like PvP in Wesnoth.

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderators: Forum Moderators, Developers

Forum rules
Before posting a new idea, you must read the following:
User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

[UMC] RPG-like PvP in Wesnoth.

Post by Xudo »

RPG PvP
There are a lot of interesting RPG add-ons in Wesnoth. They introduce unique character development system and range of skills, usable by right-click menu. But all of them are use cooperative Player vs Enviroment design.

I would like to use collective thought to create a critical mass of ideas to implement RPG-like PvP add-on. I think, that main problems of implementing PvP in Wesnoth is gameplay speed and shallownes of tactic.
#0 Basics
During discussion, I found that some things are not as obvious as I have expected.
Main point of gameplay will be experience management and use of artifacts.

Players will be able to participate in team pvp in Arena-like scenarios. Team setup will be 2vs2 or 3 vs 3 or even 2 vs 2 vs 2. It will depend from the scenario.
Win or loss of team will depend on right use of their class skills and artifacts.
This add-on will also feature cooperative playing without pvp. Scenarios designed in this way will be called Tales. Main goal of such maps will be solving puzzles or fighting against waves of monsters.

#1 Use experience as mana
Many RPG add-ons features special property of heroes - mana. It is energy, needed to use special skills.
The idea is: Use experience instead of mana.
Rules for getting experience stays the same.

How to level up then?
As long, as there is no AMLA, there are two obvious ways for hero improvement.
First way is completing parts of storyline. Young mage have to pass "final exam" and to choose his following way: White or Red. May be he will leave the Academy to study necromancy.
And player will participate him in this decision. One scenario "choose exam", two scenarios per way. Character will not became "necromancer" just because he kill 10 goblins and get enough talent points.
Second way is by using skills. Imagine the mage with spellbook. There is a lot of spells in it. If young mage will use fire magic a lot, then he will know more about it. Someday, he will be able to discover other fire spells. If he will burn a lot of undead, he will know, how to kill them faster with fireballs.

Players should participate in default combat. "This is not logical!" you say. In terms of storyline - may be. But in terms of gameplay, it introduces new unusual rules for combat.
As long as magicians should participate in close combat, they have to care about their survivability. In the same time, they have more powerful skills usable in ranged combat. They will deal 3 tmes more damage, than melee classes per point of experience. Though, melee classes will get more resistances. Then mage takes 3 points of damage, melee will get only 1 point. This is the basic rule for unit balancing.

Skills are divided to sevaral categories:
- regular. Cost = 1 xp. This is the basic damage/healing/mitigating/e.t.c skills, which are intended to be used very often.
- powerful single-target ones. Cost = 2 xp. They deal much more damage/healing to single target, than regular ones.
- enviromental. Cost = 4 xp. Examples are: Party healing, rain of fire/lightning/ice bullets, cleaving attacks.
There might be some skills, which are usable at no cost. But this is default case for unexpected and very special ones.

Enemy level means "complexity" of enemies. There are three categories for enemies:
- minions. (lvl 0) They are always weak and easy for players. As long as they are lvl 0, players will be unable to use even regular skills to each one. In the same time, minions might create a swarm. One minion minion death in the swarm allows players to use enviromental skill to deal massive damage.
- regular. (lvl 1) They are usually tougher than minions and require use of regular skill to defeat (in other case, they deal a little more damage, than they expected to do. In perspective this leads to defeat.) NOTE: All players are lvl 1. Always.
- elite. (lvl 2) Even if you will use regular skills, you might fail to kill elite enemies. This is the case, where you need to use powerful single-target ones.
Though, it does not mean that bosses should have lvl 2. They should challenge players with special puzzles.
For example: Boss might be lvl 0, but have a lot of minions (or weak regulars) around. To get xp for the boss, you need to kill enemies around.

What to do with experience left after enemy death?
This depends on the encounter type. If there is a lot of regulars, you can kill first one and start hack and slash chain.
If all enemies are dead, players might recover after battle: drain all xp and restore all hp.
If there is a lot of minions are left, you can use enviromental skills.
If player have a controlled minion and it is supposed to die often, then player might revive him.

This concept also helps players to predict who will be attacked by AI. This is possible because AI tend to attack enemy who will level up sooner (though, there are a lot of variable conditions).
It means, that it is make sense to create item attribute "increase max xp" in case of damage-dealer class. Workarounds with it might get me to the threat logic in Wesnoth.

#PvPProblem Should I use regular skill or it is better to wait for powerful one?
#PvPProblem Should I attack enemy player (with 1 xp) to allow him to use powerful skill in return?

#2 Reduce inventory management time
Almost all RPG add-ons introduce inventory. And it takes A LOT of time to manage it.
It is very popular feature "every single enemy drops something useless. You will sell it as soon as you get to first shop".
But you spend time to pick it up, compare with your current one, ask everyone else "do you need it?" (Though, I never saw this question in Wesnothian RPGs).
You spend time to manage vendorthrash. As long as Wesnoth is multiplayer and turn-based, you spend time of all your friends too.

Note: it is not about "I don't know how to create good inventory". It is about "I don't think, that any of present inventories suits me".

I see following ways to reduce inventory management time:
  • Separate inventory management from cooperative gameplayCreate three distinct types of scenarios: "peaceful", "cooperative" and "competitive". Latter two are obvious PvE and PvP ones. "Peaceful" one is not multiplayer one at all. It is scenario for one player, where he can customize itself. Player will be able to craft items from ingredients found in previous journeys; prepare yourself for next journey; do other time consuming things. This concept will not reduce time which player will spend on management. It will reduce time, spend by friends of this player. Which suits me too.
  • Simplify equipment interface.
    Players might want to switch their weapons and armor. There is nothing wrong in it. But their options should be limited by their choices before.
    Playing on peaceful scenarios, they will get access to "storage". This storage contains all important items. Player should think "hmm. I think that in next journey, I will find useful two-handed Staff of Demonic Fire, my one-handed Wand of Winter Ice and Shield of Protection". Quantity of choices per slot should be limited by 2.
    Why 2? Because there are 3 types of physical resistances and 3 types of magical resistances. Armor supposed to protect good from one damage type and protect bad from other types.
    #PvPProblem Should I use current weapon, which hit weakly against this armor or should I switch to other one?
  • Simplify loot
    They should not get too much important items (candidates to replace current items) in scenario. 1-2 good items per cooperative scenario per player.
    If player gets "good item" (which will replace current one) from regular enemy, it is bad design. Everything good is a reward. Why players should be rewarded for killing single regular enemy? It means, that player will never get any good items from regulars and from minions. Though, they might get ingredients from regular enemies. Ingredients might be mixed together in peaceful scenario to good items. Bosses are supposed to drop good items
#3 Restricted equipment properties.
Some addons allow player to achieve 90% resistances to everything and 100 hits per default fight. This concept does not suit me. Everything should contain bonuses and weaknesses.
Differences between items are made by custom properties like strength, stamina, dexterity, intelligence and so on.

Weapon is item, which have one or more attacks.
If attack is primary, then it should be preferred by player for dealing damage.
If attack is secondary, then it is rarily used in some special situations.
  • Primary attack with 1 strike deal base_attribute*2 damage
  • Primary attack with 2 strikes deal base_attribute*1 damage
  • Secondary attack deals 1 strike deal base_attribute*1 damage
Of course there will be exceptions.

Armor is item, which increases character resistances.
  • Heavy armor decrease movement by 2. It increase resistances by (60,15,15), (15,60,15), (15,15,60)
  • Medium armor decrease movement by 1. It increases resistances by (30,10,10), (10,30,10), (10,10,30)
  • Light armor decrease movement by 0. It decrease resistances by 0,0,0
  • All resistances from armor are physical
#4 Hack prevention
One of the big problems of storing characters in persistent variables is a security. Anyone skilled enough can edit their characters and add items, experience e.t.c. All algoritms are open to anyone too.

I can think about following ways of hack protection:
  • Validate item database on the basis of scenario.
  • Increase complexity of stored data.
  • Reduce possible advantages of super characters.
Scenarios have to be same for everyone. It means that I can use prestart event in scenario code to validate item data. Thi measure is intended to check item properties database (which is stored in era). Though, it is not panacea.

All traditional ways of storing data suppose variable "inventory" with "item slots". Their value is set to item ID or contain whole item structure.
My idea is based on storing inventory transactions. As long as any inventory actions will be performed on special maps, there will not be millions of them. Several hungreds is okay. Switching weapon or armor during the journey should not be treated as inventory transaction.
Item properties should not be simple too. Item attributes, visible for player are sum of several entities.
In addition, items of different types should be stored in one ID namespace.

If someone found a way to hack character attrbutes, he should not get too much advantages. Assume, that hacker with 1000 stamina have joined to the game. All other players have 100, 80 and 120 stamina. Game engine should notice this situation and treat 1000 stamina as 130. This is still an avantage, but is does not make character owerpowered.
Last edited by Xudo on May 3rd, 2016, 5:54 pm, edited 15 times in total.

User avatar
Dugi
Posts: 4944
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Dugi »

I am not sure what's your exact point, but why don't you just implement mana like I did in in World of Wesnoth? I have done it in lua, but exactly the same thing can be done also in WML.

What is the add-on you're trying to create? Some sort of League of Legends in-wesnoth reimplementation?

For simplicity, I think that to achieve this you might just take the load of wml tags from World of Wesnoth, slightly edit it (it currently doesn't support PvP, but it's not really hard to enable it, there are not only wizards). I am not working on it currently because it is not only my project and I don't want to do 80% of the work myself.

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Xudo »

It is not a problem to implement mana. I just want to do some workaround with this concept.

League of Legends genre named AoS (Aeon of Strife).
https://bitbucket.org/xudojnik/botg/

I saw your WML and lua and I don't like it.

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

#5 Variation of abilities

Post by Xudo »

#5 Variation of abilities
First of all, I will write here some thoughts to keep them in mind.
Some of spells used in right sequence should give better effect, than being used in any other sequence.
It might be obvious: "Fire vulnerability" before "Fire damage". To add some depth to the game, this sequences should not be obvious. Skilled and experienced players will notice "right" sequences and will use them.
Example of non-obvious sequence: "Knockback" (moves enemy character for one hex) and "Wrath of the nature" (Deal damage if enemy is in forest).

Wesnoth is about right placement units on terrain. Thats why spells should depends on terrain of the target and terrain of the caster. Examples: "Meteor", "Starfall" e.t.c can not be used in caves.
Some minions might be summoned only on specific terrain "Tentacles of the deep", "Woses", WC (Swamps?).
Terrain-depended spells should be more powerful, than uniform ones.
There might be sequences of terraforming spell and terrain-depended damaging spell. Druid-like character can use "Grow forest" and then "Wrath of the nature" (or "Summon the Wose")
Fire spells used on forest-like terrains will create damaging-over-time terrain (Burning forest) in the same time, fire spells used on water-based terrains will take no effect.

Wesnoth is a game about multiple (5-7) units on each side. Thats why minions should be very common.
It also means, that usual "warrior", "mage", "ranger" archetypes does not fit here. They are supposed to be lone adventurers.
I'm not going to allow players to control vast number of minions. 2 minion will be default value and 3 is maximum available for player (by talents, gear e.t.c.)
As an archetypes, I will choose mainline factions.
  • Lieutenant-paladin. Character able to
    * wear heavy armor without penalty
    * heal others
    * build villages and summon peasants
    * deal damage face-to-face combat
  • Necromancer-lich. Character able to
    * alter itself resistances in skeleton-like way
    * deal damage from distance
    * apply negative effects to others
    * summon ghosts and WCs
  • Elvish druid. Character able to
    * achieve high defense on forests
    * summon woses
    * grow forests
    * place a traps
    * heal others
Last edited by Xudo on July 24th, 2014, 4:56 am, edited 1 time in total.

User avatar
Heindal
Posts: 1011
Joined: August 11th, 2011, 9:25 pm
Location: Germany

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Heindal »

You might want to check Wild Peasants vs Devouring Corpses - I've already pulled off some of your suggested ideas.
It used to be some kind of playing ground for me, in order to pull off a more complex multiplayer game.
The future belongs to those, who believe in the beauty of their dreams.
Developer of: Trapped, Five Fates, Strange Legacy, Epical
Dungeonmasters of Wesnoth, Wild Peasants vs Devouring Corpses

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Xudo »

I have played some time in ArcheAge and was quite impressed with the talent system used there.
Each player can choose any three talent trees. It leads to 120 combinations of talents trees. Most of them are competitive and playable.
Now I'm trying to step back from this system to make something special.

User avatar
Ravana
Forum Moderator
Posts: 2287
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Ravana »

I can think about following ways of hack protection:
Validate item database on the basis of scenario.
Increase complexity of stored data.
Reduce possible advantages of super characters.
1) When you know how to edit variables you can edit this just as well.
2) I have got impression that this is frowned upon in wesnoth
3) Might work, however it might make even ,,Allowed'' progress impossible then

User avatar
Heindal
Posts: 1011
Joined: August 11th, 2011, 9:25 pm
Location: Germany

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Heindal »

The easiest way to prevent hacking are checksums. I'm not quite sure if Dugi found a solution for this, but as long as the checksums don't have a logical connection it is quite possible to at least prevent simple attempts to hack. But a 100% hackprevention is imho impossible.
The future belongs to those, who believe in the beauty of their dreams.
Developer of: Trapped, Five Fates, Strange Legacy, Epical
Dungeonmasters of Wesnoth, Wild Peasants vs Devouring Corpses

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Xudo »

cancelled:
original language:
cancelled:
original language:
cancelled:
original language:
cancelled:
original language:
Last edited by Xudo on November 8th, 2015, 9:42 pm, edited 2 times in total.

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

#8 Chaos mage

Post by Xudo »

cancelled:
Original language:
cancelled:
Original language:
Last edited by Xudo on November 8th, 2015, 9:44 pm, edited 3 times in total.

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

#9 Custom ladder

Post by Xudo »

#9 Custom ladder
After some thoughts, I have decided that implementation of any hack protection by WML+lua would be impractical.
I would like to implement this addon for competitive gaming. That's why, someday I will come to custom Ladder.
Assuming this all: why not implement replay validator in custom ladder?

Regular gameplay use case will consist of several steps:
  • Player logs in on the Ladder
  • Player do some actions, described in #2 Reduce inventory management time in "private office"
  • Player "downloads" his hero - file, containing persistent variables with hero shapshot
  • Player creates new game in Wesnoth multiplayer lobby and plays in it
  • Player finishes game
  • Player "submits" replay of this game
  • Site backend validates replay and, if everything is okay, refreses hero state on site
Advantages of this implementation:
Validator is "black box". Thats why I don't have to increase complexity of code and data. In the end, it is easier to support complex backend on PHP or C# (I haven't decided yet), than same thing on WML+lua.
I can develop social part of add-on as far as I want, including integration with social networks.
I will get direct contacts to players. It will help me to do independent measures to keep high retention of players.

Possible problems:
Players have uploaded different replays of single game session. There are multiple reasons of it: Someone doesn't want to update statistics of his hero (because he lose). Someone want to "add" additional outcome by editing replay file. Someone have disconnected and never came back until next morning.
original language:
Last edited by Xudo on July 24th, 2014, 4:57 am, edited 1 time in total.

User avatar
Dugi
Posts: 4944
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Dugi »

I don't want to sound aggressively, but have you actually done anything of it? Planning is fine, but you may bump into unexpected in-game limitations and end up having to change your conceptions a lot. Many of the things you're planning look quite hard to code, especially when it's necessary to avoid pitfalls like macro bloat that allow writing pretty code that isn't slow, but causes slowdowns easily. You aren't unlimited, coding it in C/C++, using just some libraries.

To avoid many of these pitfalls, don't just write down random game ideas, think (at least in your head) about the exact implementation. Don't plan ahead any macro usage except for the simplest ones (use custom events, recursion and lua-based new tags for that). Think how would the interface look and if the intended features wouldn't require way too many clicks to be comfortably played with (harpooner).

I also strongly suggest you to start coding it and think about things like ladder later. I am in doubts that you'll ever start. We've been theorycrafting World of Wesnoth for a month and all you've done was partially filling a single database.

Regarding the ladder, why are you choosing between C# and PHP? They suck both, you'll have much more use for C or C++.

I find some of the game ideas quite problematic. Heavy armour gives 60% damage resistance (further increased by other stuff?), that is like 2.5 times more life against physical damage, while medium armour is like 1.4 times more life; all of this for 1 movement point - result is more defence -> more profit from any additional defence. Classes seem to contain little variability, for example every chaos mage would end up using all of the talents and would not differ much from other chaos mages, maybe in some optimisation, because whirlwind is the basic attack, living bomb is just a niche attack, chaos rage would be used by those who can but probably everyone non-stop unless facing a strong opponent and blink is just an utility skill. As far as I was told, ArcheAge doesn't offer much replayability and is not very attractive after being completed once, so it might not be the best idea to base it on it; focus on something more replayable like DotA. The idea of terrain-limited skills would mean a drawback that Druids would avoid caves because their kind is useless there etc, rely on allies to complete cave-based quests; you aren't recruiting to get other units who will do fine there. Impossibility of good drops from weaker enemies would make players lose all motivation to bother with them, especially if they were in need of items rather than gear.

User avatar
Xudo
Posts: 561
Joined: April 3rd, 2009, 5:26 pm

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Xudo »

First of all. Do not expect anything implemented soon. It's like HL3.

Hanging around all this time I have understanded several things:
There is no problem in implementing. Only problem is time and my will.
Code can change. Concept will not. So far, I know how to implement everything I have planned.
If I would like something very special, I always can try to submit a patch.
I have no reason to hurry up. This project will add nothing to my programming experience (though, ladder can).

About World of Wesnoth:
There was too much disagreements about things to continue to work with you. Nothing personal, we just want different result.

About ladder:
I have no idea what to do to set up site+backend+database on C or C++. Absolutely no idea.
In the same time, I have 2 years of programming experience on C# and want additional project to my portfolio.
Btw, you are blaming php on the site, powered by php.

Dugi wrote: I find some of the game ideas quite problematic. Heavy armour gives 60% damage resistance (further increased by other stuff?), that is like 2.5 times more life against physical damage, while medium armour is like 1.4 times more life; all of this for 1 movement point - result is more defence -> more profit from any additional defence.
Armor will be the only way in entire add-on to increase resistance. And I would not stick to default combat with physical-only damage.
Movement points in pvp are much more important than you can imagine. In battle 6mp vs 5 mp, character with 6 mp will always have first strike. If enemy will retaliate in default way, then it ends up in 2 xp on next turn (or powerful single-target skill)
Dugi wrote:Classes seem to contain little variability, for example every chaos mage would end up using all of the talents and would not differ much from other chaos mages, maybe in some optimisation, because whirlwind is the basic attack, living bomb is just a niche attack, chaos rage would be used by those who can but probably everyone non-stop unless facing a strong opponent and blink is just an utility skill.
One character can take only one class. Class allows to use all this skills together. Variable part is not written here yet.
Dugi wrote:As far as I was told, ArcheAge doesn't offer much replayability and is not very attractive after being completed once, so it might not be the best idea to base it on it; focus on something more replayable like DotA.
I think Hearthstone will feature TBS PvP better than DotA would ever do.
Dugi wrote:The idea of terrain-limited skills would mean a drawback that Druids would avoid caves because their kind is useless there etc, rely on allies to complete cave-based quests; you aren't recruiting to get other units who will do fine there. Impossibility of good drops from weaker enemies would make players lose all motivation to bother with them, especially if they were in need of items rather than gear.
I have no idea what to do with terrain limited skills. So far, they are just a concept.

User avatar
Dugi
Posts: 4944
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: [UMC] RPG-like PvP in Wesnoth.

Post by Dugi »

Xudo wrote:First of all. Do not expect anything implemented soon. It's like HL3.
Sounds like development hell right from the start. Get it together, you'll never gonna start if you view it this way.

Even a perfectly-looking conception for a gaming project can have some significant flaws that will be very detrimental to gameplay. Sometimes small patches can fix them, sometimes it needs a heavy rewrite and changes of plans. They can be found only by being played repeatedly, so you should have the basic parts written before planning the superior features too deeply. When I was writing Legend of the Invincibles, I had specific plans that actually worked only regarding the story, the advancing and items were based on a not-at-all-ideal conception that I refined a hundred times based on feedback. It wasn't just changing some numbers and abilities. Frequently, bad features were replaced by completely new features, and these new features frequently led to many other changes.
Xudo wrote:I have no reason to hurry up. This project will add nothing to my programming experience (though, ladder can).
You're really far from truth here. Programming skill is not based on your ability to use programming languages. It's not measured by the number of commands you know in your favourite programming language or number of programming languages you know. It's all in your ability to break down problems into smaller parts, create algorithms to solve the smaller parts, design convenient data structures to process your data effectively and picture the behaviour of programs in your head. You can learn this using WML and lua as much as with C#, Java or anything else. Using WML for coding things that were more than just basic interaction (and any inventory system is more than just basic interaction) gave me a lot of programming experience and helped me a lot when I was programming in C++ later.
Xudo wrote:There was too much disagreements about things to continue to work with you. Nothing personal, we just want different result.
Yeah, I know. You see that I gave up trying to make you continue with World of Wesnoth and I am trying to encourage you to make your own add-on and lead you to avoid pitfalls. You seem to arrogantly refuse my help, though.
Xudo wrote:I have no idea what to do to set up site+backend+database on C or C++. Absolutely no idea.
Find a library for that, there is a lot of them available for anything. PHP is insanely slow and limited and C# is pretty much windows-only (and wesnoth stuff should run on all platforms), limited and much slower when compared to C/C++. Its overusage in programming today is the reason why many programs are so slow even on fast computers.
Xudo wrote:Armor will be the only way in entire add-on to increase resistance. And I would not stick to default combat with physical-only damage.
This seems to be a huge limit to variety. Indeed that with non-physical attacks available it would not be such a huge advantage, but any player can decide that look, this dude is limited to physical attacks, I'll just take heavy armour and he'll do little damage to me so that his advantage of first attack would be nearly void.
Xudo wrote:One character can take only one class. Class allows to use all this skills together.
All classes will use four of their skills together - and there will be almost no variety and there won't be any RPG-like planning, building et cetera. The possible variations are so important that you should think about them from the very start. You don't need any add-ons to have units that can level-up, use some attacks and special abilities.
Xudo wrote:I think Hearthstone will feature TBS PvP better than DotA would ever do.
It's not the best idea to expect a game to be awesome. Some games were proven by time and became long-term evergreens, others were forgotten quickly despite great plans of its authors. You can't expect in advance what will be good and what won't. GTA V was awaited by many people, longing to see the game with the highest budget ever, with an insane quantity of various features and blah blah blah, it was released, but it wasn't exceptional or innovative, all of its wide range of interesting features were practically useless and it started becoming less and less interesting from the day it was released. Diablo III was also awaited with awe and it was such a failure that Blizzard accepted that it was a failure.

User avatar
iceiceice
Developer
Posts: 1056
Joined: August 23rd, 2013, 2:10 am

Re: [UMC] RPG-like PvP in Wesnoth.

Post by iceiceice »

Quoted for truth:
Dugi wrote: Programming skill is not based on your ability to use programming languages. It's not measured by the number of commands you know in your favourite programming language or number of programming languages you know. It's all in your ability to break down problems into smaller parts, create algorithms to solve the smaller parts, design convenient data structures to process your data effectively and picture the behaviour of programs in your head.

Post Reply