Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

100 Days of Code - Day Twelve #33

Merged
merged 2 commits into from
Jun 13, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions src/data/100 Days of Code - Day Twelve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
id: 24
title: 100 Days of Code - Day Twelve
publishedDate: 06/13/2024
featureImage: https://i.imgur.com/7vFLIaS.gif
tags:
- 100_days
---
## Intro
Hello Internet!

With the excitement of comment functionality out of the way, it's time to try and start something new!

For the obligatory recap, as mentioned in my [original post](https://screamintothevoid.today/blog/13) I'm working on a challenge to spend at least an hour writing code every day for the next 100 Days! Here are the rules I'm setting myself:
* Code minimum an hour every day for the next 100 days.
* Post my progress every day on my blog.

Here is my progress so far:
![60a4f4c6a2249a6b8d7195616f7ad016.png](https://i.imgur.com/Wh4MacV.png)
Lets Go!!

## What are we going to do today?
So far everything that I've been working on regarding this challenge has been pretty React/Front-End heavy, and mostly focused around this blog site. I think I want to try and change that by starting something completely new.

I started looking at some of the project ideas I had at the start of this challenge, and while I'm not sure if I'm actually going to work on this long term, the chess engine idea I had initially sounds like a lot of fun!
![tenor-1857993641.gif](https://i.imgur.com/7vFLIaS.gif)
## Chess Engine
I've spent a little bit of time in my past working on game development, doing some tutorials on Unity Game development and phaser.js.
I'm not really approaching this sort of project in that manner though, I'm thinking about this more as possibly a machine learning/AI sort of project. I'll probably keep this outside of a common game engine like Unity or Unreal Engine, since the focus is more on the development side of things.

There's a lot that I first need to do though before I start thinking about machine learning!!

## Where do we start?
When I first decided I wanted to start down this path, I literally opened up Co-pilot (Microsoft's AI), and asked it where I should start:
![38b77a3c5620040281337d8024773c46.png](https://i.imgur.com/ItpZnb0.png)
Following it's top advice, I started browsing the [Chess Programming Wiki](https://www.chessprogramming.org/Getting_Started) and their Getting Started page on what I should do first.

I'm not completely sure what language I want this to be in yet, I'm currently going back and forth between C#, Python, or a barebones C engine.
* Python is what I use in my day-to-day work, so I'm getting comfortable with Python, but really the most complex thing I've done in Python is a couple scripts that run in cron jobs
* C# is the language I'm most comfortable in, and is what I used for a few years as a full time dev. That was in a corporate sort of context with full licenses of Visual Studio and everything though, I've actually never done any personal projects in C#.
* Low level programming is the sort of thing I never get to do, and it's something I'm very interested in. Eventually one of my long term goals is to write my own operating system, and if I want to do that then I definitely need to get more comfortable with C. I'm not sure if this is the project to do that though, and I think I'd be a little in over my head if I started in C with this project.

## In the meantime
While I'm still figuring out how I want to work on this project, I think I can go ahead and create a new repo and start setting up the actual UI elements like a board and pieces! Going off of one of the other guides I was [reading](https://www.freecodecamp.org/news/simple-chess-ai-step-by-step-1d55a9266977), I'm going to use the [chessboard.js](https://chessboardjs.com/) board initially, so that I don't have to worry as much about UI stuff.
![d09ac45a52938e1153a7a9361f8073dd.png](https://i.imgur.com/uNiHeKt.png)
I decided to name the repo OpenChessEngine, because eventually I think it would be really cool to open up this project to other contributors and start to build an open source community! If you want to follow along at home, here is the [repo.](https://github.com/ppeters0502/OpenChessEngine)

I might have more updates to add later tonight, but my work is hosting a family night tonight that I have to get ready for, and I want to post this just in case I don't get more time. Thanks!



Loading