20241031 - some thoughts on what happened here

betcha didn't expect this to be updated huh? whilst I've been updating this site in other areas, this 'current project' page has remained a bit of an eyesore and a bit embarrassing. a lot of factors went into the momentum here falling apart. I got very caught up in optimising and smoothing out the program itself, when I think I really just needed to move a bit faster and be a bit more slapdash until I had something that supported my actual vision. perfectionism is a much deadlier beast than I was expecting.
in addition, I think these long blog posts also contributed to that project paralysis. I definitely found myself spending more time writing these long progress posts than I did making any real progress. which is obviously a problem lol. I spoke with a friend about this and they suggested the solution to be shorter blog posts, often attached to a picture or idea. with nothing else to go off, I reckon thats a great plan.
I still feel a pang of guilt for never finishing this, and adding it to the pile of unfinished art pieces that mount up about me as time goes by, but this project certainly isn't dead. just. no longer a priority.

20240313 - bold of you to assume I never stopped thinking about this.

I wanted to try making this post without mentioning that it's been about five weeks since I last updated the site. the problem is I'm not sure how else to start. and I don't even have a reason as to why its been so long. I can't think of anything egregious that would've stopped me from working on this (outside of a cold I had for a few weeks that I suspect snuck its way in while I was recovering from covid). I haven't been glued to any screens nor have I been booking in so much social stuff I haven't had any freetime in between. so really I must have just been busy having a good time. you would not believe the amount of good times there are to be had in this city.

but despite such good times, I didn't make *zero* progress. behold! a new layout! pic2
pretty different huh? five weeks comes with a lot of change. but as different as this is, I repurposed a lot of the code I'd already written. which is not as good as it sounds, because just copy and pasting the line that draws the hexagon over and over again feels pretty sloppy. pic2
I think this speaks a lot to my inexperience with programming, because I firmly believe there must be some way so make this all one function that activates every time you click a button, but I have no idea how to make that work. and so for now this is my workaround for my lack of knowledge.

its something I've talked about before but revelations of my lack of knowledge have been something of a theme these past few months. when I moved over here, I tried to solve a problem; my lack of discipline, by bringing over only stuff I needed, and nothing (or at least, very few things) that would distract me. what I didn't know then was that, apparantly, I can find a good time just about anywhere, and that it's often my wont to seek out a good time, irrespective of if it comes from a video game or from a walk in the gardens. and so my lack of knowledge continues, because as it turns out, it actually doesn't matter how many artificial barriers I place between me and a good time, because without spending much effort at all, I'll find my way back to that kind of behaviour. which sounds like I hate fun, but I promise that isn't the case.

it's more a question of balance that I'm asking. I recognise I have a great capacity for chillaxing, possibly one of the greatest capacities. but the sum of me is not merely chillaxing, and so the path I have to follow is one of developing my ability to work hard and with discipline, and balance that with my already honed sense of a good time.

enough of this pontificating! I'm here to talk about the program I'm writing.

I realised in putting this together that, as a program and not a table of physical tiles, the functionality of a hex to decide randomly what colour its going to be whenever unhidden is kind of dumb. in future there will be cards that allow you to peek at, and then hide, certain tiles. as well as being able to rehide tiles and lose paths that've been made. this obviously wouldn't work if the tile changes every time its hidden, so now... pic2
the colours remain the same! the colour of each is decided on the startup of the program, but I'll be adding a reset button to recover everything, AND shuffle around each tile's data, so you don't have to quit out of the game every time, which is very annoying even for testing. sadly that meant I had to shelve all the logic I'd written for the tiles to pull random options out of an array. but I found a way to reuse that pretty quickly. pic2
I'm pressing that 'EQU' button over and over again here, which is putting "cards" from the deck (thats where it says DP) into the "discard" (which is where you can see the most recently drawn card). I really like the visual of this at the moment, as simple as it is, and makes it feel a bit more like a game. soon I hope to have a few more decks to pull from, for each kind of card in the game, as well as a way to actually hold the equipment cards in your hand. which might not even be necessary if this is a collaborative game actually. could equipment be a shared pool? or do I want to take a more Munchkin approach here and make it more about fighting your opponents? in my mind this game is something I'd like to play with my partner, who *hates* compeditive games, so maybe there is a collaborative solution here.

before I was really serious about creative work, I always pictured the process of making something to be one of working toward an end goal. you have a vision, and move forward unerringly toward that vision, and from the finished piece's perspective, you get ever closer to it. but now I think the act of making something is more like making all these little decisions and movements with the finished piece, like a dance, bringing the finished piece along with you. and where you end up might not be the destination you first invisioned. but a vision is more just a guide, and merely informs that this project is a digital board game, and not a performance of slam poety.

this idea, of having a vision of the outcome, but only being able to participate in time as slices and thus having to make all these micro decisions towards that goal. this mirrors a lot of what I've been talking about in the making of decisions in my day to day towards larger goals. its funny. I've heard so many people and seen so much art describing ones 20s as 'the time you think its all over and you'll figure it out but you won't know that until you're out of it'. but despite that they're all probably right, I can't help but think because of all these discoveries around a lack of discipline and a lack of talent that oH GOD ITS ALL OVER ILL NEVER FIGURE IT OUT MY LIFE IS WASTED. incredible. makes me scared for my *literally inevitable* midlife crisis (I misspelt that as midnight crisis and colin thompson told me not to disregard typos so I'll record it here) that I am going to experience in both irony and sincerity as it happens.

as far as I can tell, the best thing I can do, both in this project and in my life at large, is just make decisions and move forward. because I'm going to end up somewhere either way, and when it comes time to call it finished, I'd rather have put in the effort.

20240202 - you know what makes it hard to keep up with your programming goals? covid!

yup its true, came down with the spicy cough. or at least, came down with *a* sickness and tested positive for covid with a rat test. I think its incorrect to say "rat test", like I'm pretty sure rat stands for rapid action TEST but whatever. anyways I heard that rats sometimes throw positives for regular colds. idk. I was knocked on my ass for like a week, which is a crying shame. but no matter! we continue despite! this may just be a bit of a shorter post this week. but the accountability buddy shall live and so shall this project. I'm also embarking on a short few writing projects to warm up for writing a short story for a group I'd like to join. I'll be running this parallel to programming a singleplayer version of the game. which means there'll be a lot of work going down over the next few weeks. but it will certainly be worth it. I'm also going to try and keep more of a day to day, graph like record of a few things I'd like to keep a track of. you might end up seeing that, you probably wont. regardless, if there's something cool or something I'm proud of I have to show you there, I'll be sure to mention it. I think that's it from me today. like I said before, pretty short, but hopefully there will be plenty of progress next week.

20242101 - yeah I'ma be straight with you this is not going so well

I guess it's a good thing that I'm making this post on the correct day? look I want to talk about the project I really do, but the sad fact is that of the times during this week I spent working (a number I think I have to keep a much closer eye on) I really only managed to clean up some code and accidentially delete the player changing function... I'm not happy about it either I promise. so this particular entry is going to be a bit more diary like than usual. I also want to talk about a bit of the things I have been thinking through this week, but we'll get to that.

firstly, what exactly did I do this week? well the fact that I am having to open up the code to tell you that should be all the information you need to know. I know I shouldn't've done it but I feel a need to clean up the program and make it more efficient. I didn't talk about it last time but I was just copy and pasting all of the 'create button' functions, as well as making variables for every single different individual button value and it was all very inefficient. to be honest I have come to realise that my code is just going to BE inefficient until I learn more ways to make it run better, and that I should be focussing on actually finishing the project, but I feel like the clean ups and edits are also important for learning.

perhaps the really important thing here is a balance between making improvements to the project and actually making the project.

and if I were to look on the bright side of things, all this fiddiling around in the program has taught me a fair few things. like how, when I implement the card piles, I can store a variable I remove from the 'deck' array and then add it to the 'discard' array. and then when the 'discard' needs to be shuffled back into the 'deck', I can just merge both the arrays. clever right? I also figured out that I doNT ACTUALLY WANT RANDOM ARRAYS FOR THE TILES AT ALL. in my vision for the actual game, what is beneath the tiles is set permanently when they're shuffled and dealt out. so instead of pulling randomly from an array each time a button is clicked, I'll be writing up a bit of a loop to assign each tile a random colour when the reset button is pressed, and then on click the colour is revealed/hidden.

this is not to say all this work so far has been for nothing. I'm totally going to be able to use the random array stuff for the inital reset, as well as the cards and everything.

admittedly, I am quite behind schedule. but my initial plans for the project have changed with the above revelations (that being the need to clean up as I go, and the ways that certain features have differed from their original plan due to my continued understanding of the project) and I think that I will be altering the plan here. I think that if I can get to the month with at least the SINGLEPLAYER version of this game complete I will be happy, at least for now. and I can work on the multiplayer aspect in the future.

whats the most important thing here is that I just keep going. I finish things because I say I will do them. like, motivation is obviously low but whats key is that my willpower is now going to carry until motivation picks up again. I've known this for a while, and have tried to put it into practice, and will continue to do so.

talk to you next time, for what may be the final chapter in this project (exciting!)

20240112 - easing back into consistent work.

wow it has been an intense period since I last updated. not that
was a very long time ago either! I have a lot to talk about for
sure, and I'll do my best to keep this from being too rambly hah
a.

firstly, what have I been working on?? I realise I know so much
about it and you have no idea. well, many years ago, I had a goo
d idea for a co-operative, easily travellable with, munchkin ins
pired board game. unlike many ideas I had a long time ago, I sta
nd by the fact I think it is a good idea. but now that I'm a lot
older than I was when I wrote it, I realise that what makes a ga
me truly good is not an idea, but rigourous playtesting. arguabl
y 'playtesting' is what makes anything good, as opposed to ideas
. sadly, I do not have access to a big group of people I'm frien
dly enough with to playtest a game over and over again (anymore
at least, haha) and so I was brainstorming other ways I could po
ssibly perform mass playtesting. I've also been thinking a lot a
bout getting back into programming, and thus the two ideas seeme
d made for one another. how about a digital verion of the game!
that way I can distribute it easily, can make changes quickly (e
ven if they involve new game pieces or cards), and even request
feedback from playtesters with an email address and things like
that! I reckon this is a bit genius, and so I got to work on a p
rototype game immediatelly.

this also coincides nicely with my learning of the DK30 challeng
e, which is something Day[9]Tv puts on where you just do a thing
for 30 days and track your progress. so I utilised a lot of the
methods mentioned on that site (contol inputs not outputs, break
project down into smaller and smaller goals you can keep complet
ing, have some kind of accountability buddy) and have been doing
my best to stick to them. the making and breaking down of goals
was alright, as was the use of an accountability buddy (thats th
is! hello!), but consistent inputs I set for myself I have had m
iddling success with. although that breakdown happened around th
e same time as a more general misstep by way of my whole routine
, so that's probably what explains that. depite this lapse, I ha
ve been actually impressed with the consistent progress that doi
ng something for a few hours every day without fail brings! let
me show you what I've done so far...
pic2
behold! a week's worth of work! what you're looking at here is a
grid of buttons with hexagonal sprite overlays, that you can pre
ss to go from black to "a colour" which is determined by that ar
ray thats being printed down the bottom. there's a bit of logic
to determine what colour each number refers to, with a descendin
g order of likely hood from green/yellow to blue to red. and bec
ause they are all taken from the same, diminishing list, the lik
elyhood of drawing the red tile increases as you keep uncovering
tiles. notice how I started saying tiles, because in the physica
l version of the game, there would be a board of tiles you're pl
aying on, with limited amounts of each type. I am still working
on the code to store the number and put it back when the coloure
d tile is clicked on (effectively removing the colour from it) b
ut this is fun to click on. I also need to add a bit of logic to
stop the program from crashing when you try pull from the array
when there is nothing there. although that might not necessarily
be necesarry if I add that previous logic to it. regardless, I m
ade sure to add a reset button which does this:
pic2
it resets the array and also resets the state of all the tiles.
but it does do that seperately though. once again, this is not r
eally very efficient. it could be MUCH MORE efficient. maybe ass
igning information to buttons when they are pressed that gets he
ld there, or maybe assigning a number to every button randomly u
pon the game initialising. I also added the little 'player butto
n' that will come into use later. that does this.
pic2
yeah, it goes backward. yeah, maybe I couldn't figure out how to
create an array with reversed numbers so the one function I know
works. maybe it kinda works still and I'm just gonna leave it li
ke this. anyways so there is a lot to add and now a lot I have a
dded that now needs to change because to continue programming wi
th it in this state is insane so despite the fact I am 2 "small"
features away from being on track I am really no better off than
when I started and have built my house on terrible foundations.

...

as I said it has been an intense period.