Home Experiences Projects Awards Blogs
Back

Alchemy 2 Finder

Next.js Tailwind CSS TypeScript Go React D3 Tree

Description

This project implements Breadth-First Search (BFS) and Depth-First Search (DFS) algorithms to assist players of Little Alchemy 2 in finding optimal combinations of base elements to create new elements. The application presents the results as a visually engaging, animated recipe tree to enhance understanding of each algorithm’s pathfinding process.

The system is built with a Next.js (React) frontend and a Golang backend, and is fully containerized with Docker.

✅ This application has been fully deployed and can be accessed directly without local setup:

Problem Solving Steps with BFS Algorithm

Algoritma BFS pencarian pohon resep menggunakan metode rekursif. Metode rekursif akan memanggil fungsi dirinya sendiri dengan parameter yang sudah diolah. Pada setiap fungsi memasukkan semua gabungan elemen yang menghasilkan elemen tersebut yang didapat dari RecipeMap untuk memastikan pencarian dilakukan secara meluas. Akan tetapi, sebelum dimasukkan akan dipastikan terlebih dahulu tier lebih rendah dari tier parent-nya. Setiap children akan di-assign ke worker dari goroutine untuk mempercepat pencarian dengan multithreading.

Problem Solving Steps with DFS Algorithm

Algoritma DFS dalam pencarian pohon resep juga menggunakan metode rekursif, namun pendekatannya berbeda dengan BFS. Metode rekursif pada DFS akan memanggil fungsi dirinya sendiri untuk mengeksplorasi jalur pencarian secara mendalam sebelum berpindah ke jalur lainnya. Pada setiap pemanggilan fungsi, sistem akan mengambil seluruh kombinasi elemen dari RecipeMap yang dapat membentuk elemen tersebut. Namun, sebelum kombinasi tersebut ditelusuri lebih lanjut, terlebih dahulu akan diperiksa apakah tier dari elemen yang akan ditelusuri lebih rendah dari tier parent-nya, untuk mencegah pencarian yang berputar. DFS akan menelusuri satu cabang pencarian hingga ke elemen paling dasar sebelum kembali (backtrack) dan melanjutkan ke kombinasi lain yang belum dieksplorasi.

Built With

Preview

Home Page

Home

App Page

App

Elements Page

Elements

About Page

About

Author

NIM Nama Anggota Github
13523065 Dzaky Aurelia Fawwaz WwzFwz
13523091 Carlo Angkisan carllix
13523101 Barru Adi Utomo barruadi