As soon as I went to college, I started an online class, so I talked about going through the Go service.

This article is the 24th day of the post-Janken of N High School (2) Advent Calendar 2020.

My name is @ kakudo415 and I graduated from N High School last year (2nd gen) and entered the Department of Mathematics, Faculty of Science and Technology, Tokyo University of Science this year. After the eight-year school refusal period, if I was enthusiastic about the real class at the university, almost all the classes went online due to the pandemic. I will write a story that solves the inconvenience that arises in that process.

Why make

One of the popular classes at the University of Science (probably) is "communication skills cultivated in Go". Originally, I would go to the classroom and actually play a game, but that is no longer the case at this time. At least in the first semester I took, the lessons were all conducted by the game record software that shared the screen with Zoom, and the students in the breakout room told the other person what they wanted to do verbally.

create

There are already a number of great game sites out there. Nevertheless, I thought that taking the inconvenient method would be troublesome (procedures, etc.) to use in an organization called a university. Then, I thought that the service created by the students would be used.

What to make

It was a web application choice for my skill. In 2021, I would like to start working on native apps. I've made some crappy web services with Go, so I started making them with full confidence.

Service overview

It's okay if the students can just play against each other, so I omitted other functions as much as possible. Specifically, an ID is assigned to each game, and you can participate in the game by entering the password that is automatically generated when the game is created. If you access the game without a password, you can not perform operations such as placing stones so that you can watch the game. The game was implemented using WebSocket. I think it's overkill to use WebSockets in board games like Go, but I decided to use it because I wanted to easily communicate from the server side to the client side.

Implementation

I made it in the following order. Instead of preventing it from moving unless everything is in place, we have made it possible to confirm some operation at each stage.

  1. Simple front-end UI
  2. Game creation UI and Haribote API
  3. Front end such as placing stones (no communication)
  4. Implemented Haribote API so that communication from the front end can be received.
  5. Bug crushing + refactoring

https://github.com/kakudo415/online-igo (It's a little disconcerting to publish the code for a service that's currently running. Please let me know if there's anything wrong with security.)

did it

Online Go

However

When I sent an email to the professor in charge, I had the opportunity to announce the service in class. Unfortunately, there seems to be some communication that causes inconvenience, so hiring in class has been postponed. (I think there are many cases where I couldn't fulfill all the orders placed by the teacher.)

The lesson is to know in advance if there is a need. (But the dilemma of needing a working prototype to propose)

At the end

The second Advent Calendar is not filled, so let's do our best to fill it with all the graduates! !! !! Tomorrow (today) is K4133's "I myself learned and look back on programming this year!" looking forward to!

N High School (1) Advent Calendar 2020 N High School (2) Advent Calendar 2020

Recommended Posts

As soon as I went to college, I started an online class, so I talked about going through the Go service.
[Fabric] I was addicted to using boolean as an argument, so make a note of the countermeasures.