From c413e0902e3c718ff84b34c1f086648d853c0789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Mon, 22 Mar 2021 08:49:46 +0200 Subject: [PATCH] docs: #590 add explanation for bytecode pattern (#1687) Type: docs and refactoring Co-authored-by: Subhrodip Mohanta --- bytecode/README.md | 224 +++++++++++++++++- bytecode/etc/bytecode.png | Bin 19866 -> 0 bytes bytecode/etc/bytecode.ucls | 49 ---- bytecode/etc/bytecode.urm.png | Bin 68283 -> 86123 bytes bytecode/etc/bytecode.urm.puml | 10 +- .../main/java/com/iluwatar/bytecode/App.java | 42 ++-- .../com/iluwatar/bytecode/Instruction.java | 22 +- .../com/iluwatar/bytecode/VirtualMachine.java | 26 +- .../java/com/iluwatar/bytecode/Wizard.java | 5 +- .../util/InstructionConverterUtil.java | 2 - 10 files changed, 277 insertions(+), 103 deletions(-) delete mode 100644 bytecode/etc/bytecode.png delete mode 100644 bytecode/etc/bytecode.ucls diff --git a/bytecode/README.md b/bytecode/README.md index ee3f96ed8..115f0b96a 100644 --- a/bytecode/README.md +++ b/bytecode/README.md @@ -9,18 +9,234 @@ tags: --- ## Intent -Allows to encode behaviour as instructions for virtual machine. + +Allows encoding behavior as instructions for a virtual machine. + +## Explanation + +Real world example + +> A team is working on a new game where wizards battle against each other. The wizard behavior +> needs to be carefully adjusted and iterated hundreds of times through playtesting. It's not +> optimal to ask the programmer to make changes each time the game designer wants to vary the +> behavior, so the wizard behavior is implemented as a data-driven virtual machine. + +In plain words + +> Bytecode pattern enables behavior driven by data instead of code. + +[Gameprogrammingpatterns.com](https://gameprogrammingpatterns.com/bytecode.html) documentation +states: + +> An instruction set defines the low-level operations that can be performed. A series of +> instructions is encoded as a sequence of bytes. A virtual machine executes these instructions one +> at a time, using a stack for intermediate values. By combining instructions, complex high-level +> behavior can be defined. + +**Programmatic Example** + +One of the most important game objects is the `Wizard` class. + +```java +@AllArgsConstructor +@Setter +@Getter +@Slf4j +public class Wizard { + + private int health; + private int agility; + private int wisdom; + private int numberOfPlayedSounds; + private int numberOfSpawnedParticles; + + public void playSound() { + LOGGER.info("Playing sound"); + numberOfPlayedSounds++; + } + + public void spawnParticles() { + LOGGER.info("Spawning particles"); + numberOfSpawnedParticles++; + } +} +``` + +Next, we show the available instructions for our virtual machine. Each of the instructions has its +own semantics on how it operates with the stack data. For example, the ADD instruction takes the top +two items from the stack, adds them together and pushes the result to the stack. + +```java +@AllArgsConstructor +@Getter +public enum Instruction { + + LITERAL(1), // e.g. "LITERAL 0", push 0 to stack + SET_HEALTH(2), // e.g. "SET_HEALTH", pop health and wizard number, call set health + SET_WISDOM(3), // e.g. "SET_WISDOM", pop wisdom and wizard number, call set wisdom + SET_AGILITY(4), // e.g. "SET_AGILITY", pop agility and wizard number, call set agility + PLAY_SOUND(5), // e.g. "PLAY_SOUND", pop value as wizard number, call play sound + SPAWN_PARTICLES(6), // e.g. "SPAWN_PARTICLES", pop value as wizard number, call spawn particles + GET_HEALTH(7), // e.g. "GET_HEALTH", pop value as wizard number, push wizard's health + GET_AGILITY(8), // e.g. "GET_AGILITY", pop value as wizard number, push wizard's agility + GET_WISDOM(9), // e.g. "GET_WISDOM", pop value as wizard number, push wizard's wisdom + ADD(10), // e.g. "ADD", pop 2 values, push their sum + DIVIDE(11); // e.g. "DIVIDE", pop 2 values, push their division + // ... +} +``` + +At the heart of our example is the `VirtualMachine` class. It takes instructions as input and +executes them to provide the game object behavior. + +```java +@Getter +@Slf4j +public class VirtualMachine { + + private final Stack stack = new Stack<>(); + + private final Wizard[] wizards = new Wizard[2]; + + public VirtualMachine() { + wizards[0] = new Wizard(randomInt(3, 32), randomInt(3, 32), randomInt(3, 32), + 0, 0); + wizards[1] = new Wizard(randomInt(3, 32), randomInt(3, 32), randomInt(3, 32), + 0, 0); + } + + public VirtualMachine(Wizard wizard1, Wizard wizard2) { + wizards[0] = wizard1; + wizards[1] = wizard2; + } + + public void execute(int[] bytecode) { + for (var i = 0; i < bytecode.length; i++) { + Instruction instruction = Instruction.getInstruction(bytecode[i]); + switch (instruction) { + case LITERAL: + // Read the next byte from the bytecode. + int value = bytecode[++i]; + // Push the next value to stack + stack.push(value); + break; + case SET_AGILITY: + var amount = stack.pop(); + var wizard = stack.pop(); + setAgility(wizard, amount); + break; + case SET_WISDOM: + amount = stack.pop(); + wizard = stack.pop(); + setWisdom(wizard, amount); + break; + case SET_HEALTH: + amount = stack.pop(); + wizard = stack.pop(); + setHealth(wizard, amount); + break; + case GET_HEALTH: + wizard = stack.pop(); + stack.push(getHealth(wizard)); + break; + case GET_AGILITY: + wizard = stack.pop(); + stack.push(getAgility(wizard)); + break; + case GET_WISDOM: + wizard = stack.pop(); + stack.push(getWisdom(wizard)); + break; + case ADD: + var a = stack.pop(); + var b = stack.pop(); + stack.push(a + b); + break; + case DIVIDE: + a = stack.pop(); + b = stack.pop(); + stack.push(b / a); + break; + case PLAY_SOUND: + wizard = stack.pop(); + getWizards()[wizard].playSound(); + break; + case SPAWN_PARTICLES: + wizard = stack.pop(); + getWizards()[wizard].spawnParticles(); + break; + default: + throw new IllegalArgumentException("Invalid instruction value"); + } + LOGGER.info("Executed " + instruction.name() + ", Stack contains " + getStack()); + } + } + + public void setHealth(int wizard, int amount) { + wizards[wizard].setHealth(amount); + } + // other setters -> + // ... +} +``` + +Now we can show the full example utilizing the virtual machine. + +```java + public static void main(String[] args) { + + var vm = new VirtualMachine( + new Wizard(45, 7, 11, 0, 0), + new Wizard(36, 18, 8, 0, 0)); + + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("GET_HEALTH")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("GET_AGILITY")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("GET_WISDOM")); + vm.execute(InstructionConverterUtil.convertToByteCode("ADD")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 2")); + vm.execute(InstructionConverterUtil.convertToByteCode("DIVIDE")); + vm.execute(InstructionConverterUtil.convertToByteCode("ADD")); + vm.execute(InstructionConverterUtil.convertToByteCode("SET_HEALTH")); + } +``` + +Here is the console output. + +``` +16:20:10.193 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed LITERAL, Stack contains [0] +16:20:10.196 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed LITERAL, Stack contains [0, 0] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed GET_HEALTH, Stack contains [0, 45] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed LITERAL, Stack contains [0, 45, 0] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed GET_AGILITY, Stack contains [0, 45, 7] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed LITERAL, Stack contains [0, 45, 7, 0] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed GET_WISDOM, Stack contains [0, 45, 7, 11] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed ADD, Stack contains [0, 45, 18] +16:20:10.197 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed LITERAL, Stack contains [0, 45, 18, 2] +16:20:10.198 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed DIVIDE, Stack contains [0, 45, 9] +16:20:10.198 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed ADD, Stack contains [0, 54] +16:20:10.198 [main] INFO com.iluwatar.bytecode.VirtualMachine - Executed SET_HEALTH, Stack contains [] +``` ## Class diagram + ![alt text](./etc/bytecode.urm.png "Bytecode class diagram") ## Applicability + Use the Bytecode pattern when you have a lot of behavior you need to define and your game’s implementation language isn’t a good fit because: -* it’s too low-level, making it tedious or error-prone to program in. -* iterating on it takes too long due to slow compile times or other tooling issues. -* it has too much trust. If you want to ensure the behavior being defined can’t break the game, you need to sandbox it from the rest of the codebase. +* It’s too low-level, making it tedious or error-prone to program in. +* Iterating on it takes too long due to slow compile times or other tooling issues. +* It has too much trust. If you want to ensure the behavior being defined can’t break the game, you need to sandbox it from the rest of the codebase. + +## Related patterns + +* [Interpreter](https://java-design-patterns.com/patterns/interpreter/) ## Credits diff --git a/bytecode/etc/bytecode.png b/bytecode/etc/bytecode.png deleted file mode 100644 index 31b6bc6edba64cfb51910e5d2c5322be46e7c075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19866 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

`G1h3pdcwAMtsKKi=qQrS$#qHo8o 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 D@r6J8 diff --git a/bytecode/etc/bytecode.ucls b/bytecode/etc/bytecode.ucls deleted file mode 100644 index 3ec390458..000000000 --- a/bytecode/etc/bytecode.ucls +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bytecode/etc/bytecode.urm.png b/bytecode/etc/bytecode.urm.png index 82036a78a9b1f87bc89556c63fa401ab3a9d99a6..51335fa0a4b40a73957b56e79805aa9aed7e4cd1 100644 GIT binary patch literal 86123 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 g$fF{EFHs - wizards : Wizard[] + VirtualMachine() + + VirtualMachine(wizard1 : Wizard, wizard2 : Wizard) + execute(bytecode : int[]) + getAgility(wizard : int) : int + getHealth(wizard : int) : int + getStack() : Stack + getWisdom(wizard : int) : int + getWizards() : Wizard[] + - randomInt(min : int, max : int) : int + setAgility(wizard : int, amount : int) + setHealth(wizard : int, amount : int) + setWisdom(wizard : int, amount : int) @@ -45,7 +47,7 @@ package com.iluwatar.bytecode { - numberOfPlayedSounds : int - numberOfSpawnedParticles : int - wisdom : int - + Wizard() + + Wizard(health : int, agility : int, wisdom : int, numberOfPlayedSounds : int, numberOfSpawnedParticles : int) + getAgility() : int + getHealth() : int + getNumberOfPlayedSounds() : int @@ -54,6 +56,8 @@ package com.iluwatar.bytecode { + playSound() + setAgility(agility : int) + setHealth(health : int) + + setNumberOfPlayedSounds(numberOfPlayedSounds : int) + + setNumberOfSpawnedParticles(numberOfSpawnedParticles : int) + setWisdom(wisdom : int) + spawnParticles() } diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/App.java b/bytecode/src/main/java/com/iluwatar/bytecode/App.java index 4d41fe6b9..f76a8e6a4 100644 --- a/bytecode/src/main/java/com/iluwatar/bytecode/App.java +++ b/bytecode/src/main/java/com/iluwatar/bytecode/App.java @@ -49,33 +49,21 @@ public class App { */ public static void main(String[] args) { - var wizard = new Wizard(); - wizard.setHealth(45); - wizard.setAgility(7); - wizard.setWisdom(11); + var vm = new VirtualMachine( + new Wizard(45, 7, 11, 0, 0), + new Wizard(36, 18, 8, 0, 0)); - var vm = new VirtualMachine(); - vm.getWizards()[0] = wizard; - - String literal = "LITERAL 0"; - - interpretInstruction(literal, vm); - interpretInstruction(literal, vm); - interpretInstruction("GET_HEALTH", vm); - interpretInstruction(literal, vm); - interpretInstruction("GET_AGILITY", vm); - interpretInstruction(literal, vm); - interpretInstruction("GET_WISDOM ", vm); - interpretInstruction("ADD", vm); - interpretInstruction("LITERAL 2", vm); - interpretInstruction("DIVIDE", vm); - interpretInstruction("ADD", vm); - interpretInstruction("SET_HEALTH", vm); - } - - private static void interpretInstruction(String instruction, VirtualMachine vm) { - vm.execute(InstructionConverterUtil.convertToByteCode(instruction)); - var stack = vm.getStack(); - LOGGER.info(instruction + String.format("%" + (12 - instruction.length()) + "s", "") + stack); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("GET_HEALTH")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("GET_AGILITY")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 0")); + vm.execute(InstructionConverterUtil.convertToByteCode("GET_WISDOM")); + vm.execute(InstructionConverterUtil.convertToByteCode("ADD")); + vm.execute(InstructionConverterUtil.convertToByteCode("LITERAL 2")); + vm.execute(InstructionConverterUtil.convertToByteCode("DIVIDE")); + vm.execute(InstructionConverterUtil.convertToByteCode("ADD")); + vm.execute(InstructionConverterUtil.convertToByteCode("SET_HEALTH")); } } diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/Instruction.java b/bytecode/src/main/java/com/iluwatar/bytecode/Instruction.java index 52b6e325a..ad16fb7f2 100644 --- a/bytecode/src/main/java/com/iluwatar/bytecode/Instruction.java +++ b/bytecode/src/main/java/com/iluwatar/bytecode/Instruction.java @@ -33,17 +33,17 @@ import lombok.Getter; @Getter public enum Instruction { - LITERAL(1), - SET_HEALTH(2), - SET_WISDOM(3), - SET_AGILITY(4), - PLAY_SOUND(5), - SPAWN_PARTICLES(6), - GET_HEALTH(7), - GET_AGILITY(8), - GET_WISDOM(9), - ADD(10), - DIVIDE(11); + LITERAL(1), // e.g. "LITERAL 0", push 0 to stack + SET_HEALTH(2), // e.g. "SET_HEALTH", pop health and wizard number, call set health + SET_WISDOM(3), // e.g. "SET_WISDOM", pop wisdom and wizard number, call set wisdom + SET_AGILITY(4), // e.g. "SET_AGILITY", pop agility and wizard number, call set agility + PLAY_SOUND(5), // e.g. "PLAY_SOUND", pop value as wizard number, call play sound + SPAWN_PARTICLES(6), // e.g. "SPAWN_PARTICLES", pop value as wizard number, call spawn particles + GET_HEALTH(7), // e.g. "GET_HEALTH", pop value as wizard number, push wizard's health + GET_AGILITY(8), // e.g. "GET_AGILITY", pop value as wizard number, push wizard's agility + GET_WISDOM(9), // e.g. "GET_WISDOM", pop value as wizard number, push wizard's wisdom + ADD(10), // e.g. "ADD", pop 2 values, push their sum + DIVIDE(11); // e.g. "DIVIDE", pop 2 values, push their division private final int intValue; diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/VirtualMachine.java b/bytecode/src/main/java/com/iluwatar/bytecode/VirtualMachine.java index 526a8a377..ee223b5d8 100644 --- a/bytecode/src/main/java/com/iluwatar/bytecode/VirtualMachine.java +++ b/bytecode/src/main/java/com/iluwatar/bytecode/VirtualMachine.java @@ -24,12 +24,15 @@ package com.iluwatar.bytecode; import java.util.Stack; +import java.util.concurrent.ThreadLocalRandom; import lombok.Getter; +import lombok.extern.slf4j.Slf4j; /** * Implementation of virtual machine. */ @Getter +@Slf4j public class VirtualMachine { private final Stack stack = new Stack<>(); @@ -37,12 +40,21 @@ public class VirtualMachine { private final Wizard[] wizards = new Wizard[2]; /** - * Constructor. + * No-args constructor. */ public VirtualMachine() { - for (var i = 0; i < wizards.length; i++) { - wizards[i] = new Wizard(); - } + wizards[0] = new Wizard(randomInt(3, 32), randomInt(3, 32), randomInt(3, 32), + 0, 0); + wizards[1] = new Wizard(randomInt(3, 32), randomInt(3, 32), randomInt(3, 32), + 0, 0); + } + + /** + * Constructor taking the wizards as arguments. + */ + public VirtualMachine(Wizard wizard1, Wizard wizard2) { + wizards[0] = wizard1; + wizards[1] = wizard2; } /** @@ -57,6 +69,7 @@ public class VirtualMachine { case LITERAL: // Read the next byte from the bytecode. int value = bytecode[++i]; + // Push the next value to stack stack.push(value); break; case SET_AGILITY: @@ -107,6 +120,7 @@ public class VirtualMachine { default: throw new IllegalArgumentException("Invalid instruction value"); } + LOGGER.info("Executed " + instruction.name() + ", Stack contains " + getStack()); } } @@ -133,4 +147,8 @@ public class VirtualMachine { public int getAgility(int wizard) { return wizards[wizard].getAgility(); } + + private int randomInt(int min, int max) { + return ThreadLocalRandom.current().nextInt(min, max + 1); + } } diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/Wizard.java b/bytecode/src/main/java/com/iluwatar/bytecode/Wizard.java index 4db97f119..ce62b276a 100644 --- a/bytecode/src/main/java/com/iluwatar/bytecode/Wizard.java +++ b/bytecode/src/main/java/com/iluwatar/bytecode/Wizard.java @@ -23,6 +23,7 @@ package com.iluwatar.bytecode; +import lombok.AllArgsConstructor; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -31,16 +32,15 @@ import lombok.extern.slf4j.Slf4j; * This class represent game objects which properties can be changed by instructions interpreted by * virtual machine. */ +@AllArgsConstructor @Setter @Getter @Slf4j public class Wizard { private int health; - private int agility; private int wisdom; - private int numberOfPlayedSounds; private int numberOfSpawnedParticles; @@ -53,5 +53,4 @@ public class Wizard { LOGGER.info("Spawning particles"); numberOfSpawnedParticles++; } - } diff --git a/bytecode/src/main/java/com/iluwatar/bytecode/util/InstructionConverterUtil.java b/bytecode/src/main/java/com/iluwatar/bytecode/util/InstructionConverterUtil.java index 196d2b55d..ab7643129 100644 --- a/bytecode/src/main/java/com/iluwatar/bytecode/util/InstructionConverterUtil.java +++ b/bytecode/src/main/java/com/iluwatar/bytecode/util/InstructionConverterUtil.java @@ -73,6 +73,4 @@ public class InstructionConverterUtil { return false; } } - - }