Difference between revisions of "Patreon Exclusive Content"
(→SlideFucker 3000) |
(→SlideFucker 3000) |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
== SlideFucker 3000 == | == SlideFucker 3000 == | ||
− | In this series Chili endeavors to create an AI agent in C++ that can solve a classic puzzle game (8/15/24 sliding puzzle). This agent will not only solve the base problem, but will also be able to use computer vision to read the puzzle state from the screen (with OpenCV), and use input automation to enter the solution into the game (with AutoIt). There will be no reversing/process manipulation involved; the agent will be required interact with the game just as a human user would. | + | In this series Chili endeavors to create an AI agent in C++ that can solve a classic puzzle game (8/15/24 sliding puzzle). This agent will not only solve the base problem, but will also be able to use computer vision to read the puzzle state from the screen (with [http://opencv.org OpenCV]), and use input automation to enter the solution into the game (with AutoIt). There will be no reversing/process manipulation involved; the agent will be required interact with the game just as a human user would. |
+ | Check out the [https://www.youtube.com/watch?v=ugujLVv_k2E Mission Statement video] for more infos. | ||
+ | |||
{| style="border:1px solid grey;border-collapse:collapse;width=100%;" | {| style="border:1px solid grey;border-collapse:collapse;width=100%;" | ||
Line 44: | Line 46: | ||
| style="border:1px solid grey;"|3 | | style="border:1px solid grey;"|3 | ||
| style="border:1px solid grey;"|Board Position Class | | style="border:1px solid grey;"|Board Position Class | ||
− | | style="border:1px solid grey;"|May | + | | style="border:1px solid grey;"|May 17, 2017 |
| style="border:1px solid grey;"|55:19 | | style="border:1px solid grey;"|55:19 | ||
| style="border:1px solid grey;"|$2 | | style="border:1px solid grey;"|$2 | ||
| style="border:1px solid grey;"|NO | | style="border:1px solid grey;"|NO | ||
|- style="background-color:#333;color:#c1c1c1;" | |- style="background-color:#333;color:#c1c1c1;" | ||
− | | style="border:1px solid grey;padding:8px;" colspan="6" | In this video Chili finishes the board capture by parsing the | + | | style="border:1px solid grey;padding:8px;" colspan="6" | In this video Chili finishes the board capture by parsing the positions of the tiles on the board. We create a new data type <code>BoardPosition</code> that will form the core of the AI solver, storing captured/explored board positions and providing a suite of fundamental operations thereon. At the end of this video, there is a brief discussion on the AI routine (A* heuristic search) that we will be using to solve the problem, setting the stage for Part 4. |
+ | |- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;" | ||
+ | | style="border:1px solid grey;"|4 | ||
+ | | style="border:1px solid grey;"|A* Move Sequence Search | ||
+ | | style="border:1px solid grey;"|May 27, 2017 | ||
+ | | style="border:1px solid grey;"|1:17:37 | ||
+ | | style="border:1px solid grey;"|$2 | ||
+ | | style="border:1px solid grey;"|NO | ||
+ | |- style="background-color:#333;color:#c1c1c1;" | ||
+ | | style="border:1px solid grey;padding:8px;" colspan="6" | In this video Chili implements the A* heuristic search algorithm to find optimal solutions for the sliding tile puzzle game. Mistakes! They were made! Bugs were also eliminated with extreme prejudice. But just when you think you're out... they pull you back in! | ||
+ | |- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;" | ||
+ | | style="border:1px solid grey;"|5 | ||
+ | | style="border:1px solid grey;"|Completing A* Solver with Divide-and-Conquer | ||
+ | | style="border:1px solid grey;"|Aug 31, 2017 | ||
+ | | style="border:1px solid grey;"|1:05:30 | ||
+ | | style="border:1px solid grey;"|$2 | ||
+ | | style="border:1px solid grey;"|NO | ||
+ | |- style="background-color:#333;color:#c1c1c1;" | ||
+ | | style="border:1px solid grey;padding:8px;" colspan="6" | In this video we modify the solver to break the problem down into smaller sub-problems. We do this with a sexy heuristic functor system that allows us to swap out different functors, as well as a sub-problem mapper. The is the last video on the AI solver logic. | ||
+ | |- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;" | ||
+ | | style="border:1px solid grey;"|6 | ||
+ | | style="border:1px solid grey;"|Desktop Automation | ||
+ | | style="border:1px solid grey;"|Oct 22, 2017 | ||
+ | | style="border:1px solid grey;"|17:13 | ||
+ | | style="border:1px solid grey;"|$2 | ||
+ | | style="border:1px solid grey;"|NO | ||
+ | |- style="background-color:#333;color:#c1c1c1;" | ||
+ | | style="border:1px solid grey;padding:8px;" colspan="6" | In the last video of the series, we take our puzzle solution and use it to control the desktop pointer and automatically input the solution into the puzzle at high speed. | ||
|} | |} | ||
Line 155: | Line 184: | ||
| style="border:1px solid grey;"|Dec 28, 2016 | | style="border:1px solid grey;"|Dec 28, 2016 | ||
| style="border:1px solid grey;"|1:22:00 | | style="border:1px solid grey;"|1:22:00 | ||
− | | style="border:1px solid grey;"|$ | + | | style="border:1px solid grey;"|$2 |
− | | style="border:1px solid grey;"| | + | | style="border:1px solid grey;"|No |
|- style="background-color:#333;color:#c1c1c1;" | |- style="background-color:#333;color:#c1c1c1;" | ||
| style="border:1px solid grey;padding:8px;" colspan="6" | In this video Chili reacquaints himself with TASM and x86 assembly, going over the basics of setting up a .asm source file, and calling some system services (BIOS int 10h, int 16h, DOS int 21h). We then mess with some looping and counting, defining some global data and getting pointers (offsets), and then we go all the way in and do some real calculations, fucking shit up real good along the way. But debug.exe has got our back, and we squash the bugs while also showing you guys the machine code being executed instruction by instruction by the CPU, and how it affects the state of the registers and RAM. [[ASM and Chill with Chili 1|Click here for the page for this tutorial.]] | | style="border:1px solid grey;padding:8px;" colspan="6" | In this video Chili reacquaints himself with TASM and x86 assembly, going over the basics of setting up a .asm source file, and calling some system services (BIOS int 10h, int 16h, DOS int 21h). We then mess with some looping and counting, defining some global data and getting pointers (offsets), and then we go all the way in and do some real calculations, fucking shit up real good along the way. But debug.exe has got our back, and we squash the bugs while also showing you guys the machine code being executed instruction by instruction by the CPU, and how it affects the state of the registers and RAM. [[ASM and Chill with Chili 1|Click here for the page for this tutorial.]] | ||
Line 164: | Line 193: | ||
| style="border:1px solid grey;"|Jan 3, 2017 | | style="border:1px solid grey;"|Jan 3, 2017 | ||
| style="border:1px solid grey;"|1:27:42 | | style="border:1px solid grey;"|1:27:42 | ||
− | | style="border:1px solid grey;"|$ | + | | style="border:1px solid grey;"|$2 |
| style="border:1px solid grey;"|No | | style="border:1px solid grey;"|No | ||
|- style="background-color:#333;color:#c1c1c1;" | |- style="background-color:#333;color:#c1c1c1;" |
Latest revision as of 00:41, 11 June 2018
Patrons of Planet Chili have access to exclusive content produced in appreciation of your support. These videos are unlocked by using the Chili Bucks that you receive for your pledges (every $1 pledged earns one Chili Buck). There are also about 1.5 ~ 2 bonus videos per month that are automatically unlocked for active patrons (Chili Bucks can be spent to unlock back issues of these videos).
These videos are less produced and scripted than the main tutorial series. They generally take the form of candid views into Chili messing with stuff he is interested in, rather than detailed tutorials. The main reason for this is time constraints: if the Patreon content were as work-intensive as the mainline stuff, the tutorials would crawl to a stop, and that would run counter to the spirit of this Patreon.
SlideFucker 3000
In this series Chili endeavors to create an AI agent in C++ that can solve a classic puzzle game (8/15/24 sliding puzzle). This agent will not only solve the base problem, but will also be able to use computer vision to read the puzzle state from the screen (with OpenCV), and use input automation to enter the solution into the game (with AutoIt). There will be no reversing/process manipulation involved; the agent will be required interact with the game just as a human user would. Check out the Mission Statement video for more infos.
# | Topic | Release Date | Runtime | Cost | Bonus |
0 | Announcement / Overview | Apr 29, 2017 | 5:49 | $0 | FREE |
In this video Chili delivers the SlideFucker 3000 mission statement and outlines the main phases of development. | |||||
1 | Color Filtering / Thresholding / Contour Detection | Apr 29, 2017 | 58:18 | $2 | NO |
In this video Chili gets the ball rolling by writing some code that processes a desktop screenshot to detect the game region and then to subsequently detect the individual sliding tiles therein. Tons of OpenCV shenanigans, with more to come ;) | |||||
2 | Digit Recognition with KNN Classifier | May 6, 2017 | 1:20:00 | $2 | NO |
In this video Chili gets a k-nearest neighbor classifier trained up on the image data of our digits, and then refactors the recognition code into a neat class for recognizing the digits on puzzle tiles and converting them to integer values. | |||||
3 | Board Position Class | May 17, 2017 | 55:19 | $2 | NO |
In this video Chili finishes the board capture by parsing the positions of the tiles on the board. We create a new data type BoardPosition that will form the core of the AI solver, storing captured/explored board positions and providing a suite of fundamental operations thereon. At the end of this video, there is a brief discussion on the AI routine (A* heuristic search) that we will be using to solve the problem, setting the stage for Part 4.
| |||||
4 | A* Move Sequence Search | May 27, 2017 | 1:17:37 | $2 | NO |
In this video Chili implements the A* heuristic search algorithm to find optimal solutions for the sliding tile puzzle game. Mistakes! They were made! Bugs were also eliminated with extreme prejudice. But just when you think you're out... they pull you back in! | |||||
5 | Completing A* Solver with Divide-and-Conquer | Aug 31, 2017 | 1:05:30 | $2 | NO |
In this video we modify the solver to break the problem down into smaller sub-problems. We do this with a sexy heuristic functor system that allows us to swap out different functors, as well as a sub-problem mapper. The is the last video on the AI solver logic. | |||||
6 | Desktop Automation | Oct 22, 2017 | 17:13 | $2 | NO |
In the last video of the series, we take our puzzle solution and use it to control the desktop pointer and automatically input the solution into the puzzle at high speed. |
Chili Fucks Unreal Engine 4
This series chronicles Chili's journey through the atrociously-documented world of Unreal Engine 4 C++ development. It is not a tutorial per ce, but rather a candid look at how someone might go about learning a new platform. Expect many expletives. Episodes of this series are currently being offered gratis to active Patrons as a Patreon perk at the time of their release.
# | Topic | Release Date | Runtime | Cost | Bonus |
1 | Project Setup / Inherit & Extend Actor | Oct 9, 2016 | 42:54 | $2 | YES |
In this video Chili takes his first steps into the world of UE4 C++ dev, tackling the first official tutorial. We learn how to expose ourselves to UE4. Cones will hover and burn. Original Tutorial Link | |||||
2 | Extend Pawn / User Input / Attach Components | Nov 1, 2016 | 48:27 | $2 | YES |
This video covers extending the Pawn class to create a user agent, and implementing keyboard controls for the pawn. We also create components and attach them to the Pawn. Original Tutorial Link | |||||
3 | Timers / Blueprint-C++ Interop Scripting | Nov 16, 2016 | 55:18 | $2 | YES |
This video covers the topic of exposing C++ member functions to the UE4 Blueprint scripting engine so that they may either be called or implemented in Blueprints. We also do said calling and implementing inside of Blueprints (this is not C++, Chili does not approve). The tutorial also covers using UE4 timers. Original Tutorial Link | |||||
4 | Cameras / TArray<> | Nov 24, 2016 | 39:52 | $2 | YES |
In this video we create some cameras, attach them to shit, switch between them, and move them the fuck around. We also check out the UE4 TArray<> container class and how it can be exposed to / manipulated from the editor environment. Original Tutorial Link | |||||
5 | Logging / Map & Game Mode / Mouse / Jumping / Importing & Adding Rigged Mesh | Dec 14, 2016 | 1:09:01 | $2 | YES |
This video is the first part of a multi-part miniseries covering the official C++ FPS tutorial for UE4. In this video we do a bunch of setup bullshit, fool around with logging, do some input mapping bullshit featuring the mouse and some jump controls, and import and attach a rigged mesh to our Character, who looks like a half-starved Michelin Man for fucks sake. Original Tutorial Link | |||||
6 | Spawning Actors Dynamically / Projectile / Collision Physics | Jan 9, 2017 | 41:50 | $2 | YES |
This video is the second part of a multi-part miniseries covering the official C++ FPS tutorial for UE4. In this video we implement the action of shooting a projectile. Topics covered include dynamic spawning of actors, setting up projectile motion, and setting up physics collisions. Original Tutorial Link | |||||
7 | Character Mesh Animation | Feb 21, 2017 | 41:33 | $2 | YES |
[State Machine] This video is the third (final) part of a multi-part miniseries covering the official C++ FPS tutorial for UE4. In this video we implement the animation of the first person mesh using the state machine animation system. State machines are dope shit. Original Tutorial Link | |||||
8 | Applying forces / Camera attachment / Detecting collision and communicating between actors | Apr 10, 2017 | 1:24:08 | $2 | YES |
[Ball Toucher] In this video we Free Chili! We go off the rails and do some creative experimentation alone. The idea is to create a simple rolling ball game where you have to collect a number of items. Ball is moved by applying forces, causing it to roll. The camera is stabilized using sockets and the spring arm component. We also deal with handling overlap events between actors and communication between actors. It's good shit. |
ASM and Chill with Chili
This series features Chili messing around x86 assembly programming while thinking out loud and giving various narrations and sporadic explanations. We will start off with 16-bit DOS assembly under TASM/DOSBox, and then perhaps move onto some supervisor mode (operating systems programming) stuff under MASM 32-bit x86 or x64 via VirtualBox.
This is not a full-fledged hold-your-dick-and-wipe-your-ass tutorial series like the Beginner C++ stuff, but there are explanations given along the way and some links to useful material. Any questions you have can be answered by asking on the forum or the Discord.
# | Topic | Release Date | Runtime | Cost | Bonus |
1 | simple source setup / building COM files / system interrupt services / basic computations / debugging with debug.exe | Dec 28, 2016 | 1:22:00 | $2 | No |
In this video Chili reacquaints himself with TASM and x86 assembly, going over the basics of setting up a .asm source file, and calling some system services (BIOS int 10h, int 16h, DOS int 21h). We then mess with some looping and counting, defining some global data and getting pointers (offsets), and then we go all the way in and do some real calculations, fucking shit up real good along the way. But debug.exe has got our back, and we squash the bugs while also showing you guys the machine code being executed instruction by instruction by the CPU, and how it affects the state of the registers and RAM. Click here for the page for this tutorial. | |||||
2 | Functions and Stack Management | Jan 3, 2017 | 1:27:42 | $2 | No |
In this video Chili takes us on a magic carpet ride through the enchanting world of managing stack frames and calling functions. You'll never want to go back to high-level languages again where this stuff is all taken of you. Why would you, when you're having so much fun???!!! Click here for the page for the first tutorial of this series (contains download link). Contact Chili over Patreon to exchange CBuck$ for the unlock today! | |||||
3 | Segment:Offset Addressing & Video Memory | Feb 5, 2017 | 38:02 | $2 | No |
We learn about the weird wild world of x86 segment addressing (different pointers point to the same location in memory??? absurd!) and we draw dumb rectangles on the screen by pokin around in video memory. Also, rep stosw is pretty cool.
|