Manually play or better website?

Deciding if I should make the game playable via person or show better stats on the website.

Overview

Let me tell you a story about an IT student that is making a game (to an extent). This person is having somewhat of a hard time working out what to actually implement. He has an idea which is cool, but doesn’t have enough time to both ideas in a good way, or at least not this weeks priority. Well, this person is me, and I want to tell you about my plannings for the nest week. I need to decide on how to take my project, weather to spend more time in the ability of the game being used or graphics to show what occurred. And most importantly, what I need to do to actually finish this.

What was completed

As the title suggested, I have two things that I need to decide between. The first option is the ability to manually play the game (ie not make it just for AI), and the other is to show data in fancy ways (ie sorting and many views). Allowing the ability to play the game as a human can make the project more interesting because it isn’t just a program but an actual game. I can even make it work in the browser, this is in theory simple as I can have monorepo with code and logic. If I want the game to be mainly run on a server and just have the visualization, it is slightly harder, but if I go this way, I probably will just make it run on client and show the actions (so way slower but more cool).

However, on the other side, I just intended this website to be an alternative to matplotlib so I can have some interactive things (and use github pages to host as I feel nice). This means that it “can” work as a method to manually play but decent UI needed. That is why my main issue with it is that I have to have a good UI, and that's harder than just some graph as all that is seen. If I spend more time on showing data (vs planing), I can try and show more graphs and do fancy queries (ie can have correlations). To be fare, I need to do more on the actual project to know what can be shown.

There are still many things I have to do before spending more time on either. I need to improve the map, which can include path finding and random actions. I also want to provide some sort of benefits for districts as it would make some interesting graphs. My main issue is that I try to make everything perfect or very well, and I don’t want to submit something that isn’t that good (esp as presenting needs goodness).

As I said earlier, Python’s method of showing data wasn’t what I wanted, and when I found out about this React library and saw how easy it is to set up website, it felt a good thing to try. While I was thinking of adding interactivity to the window for Python’s version (last assignment), I have kept this as a server project for now (as bun is very good and less vars to worry about - where and slow).

Reflection

Well what is the purpose of each?

Well, I originally wanted to create data and show the data somewhere. I saw that there were cool visualizations that browsers can do, so I did a bit of searching until I found Tremor. I just needed to make a basic React and Tailwind app (used Next.JS as already used it, so familiar), and then I shared types from the game generation. In many ways I haven’t changed that much from my old concept, but now I am doing a slightly different approach (of more data than learning). I also initially decided to make it automatic, which is not that much user game.

How do you feel about being able to achieve this?

I feel that I should be able to achieve something good in the time frame left. Creating minimum of something is possible, and I need to focus on the important steps. However, I think that in some ways i have been a bit ambitious because I planned so much more than I think I can make in a timely manner. I am trying to make a game with AI, possibly allow interaction, and a website to show the stats. I believe that I will be able to complete one of these paths well, just need to choose very quickly.

Is there a chance you will work on this after the project is due?

Because I have been a little ambitious with my wanting, I will try and finish this later. To do this, I have decided to keep the submitted code on my school github, and copy it all to my personal one. Over there, I can continue the project. This is where I might decide to make it a browser game with canvas or something. Noting is decided as I can finish it all and now want to look at it again, but as I said in web dev post, I have put lots of effort into this, so I want to have some way of showing it (kinda not going to use that github account unless has to). For context, I made the separate github account because I wanted to make repo for my assignments, but didn’t want to clutter my main with them (this was a while ago, I may not do this with today's mindset).