How's your day/project going today?

Just a little check in thread! The flurry of activity around SpringThing has been so much fun, and it was nice hearing from people chatting about their drinks preferences.

Warning for discussion of injuries as related to hemophilia for the next two paragraphs, and like, chronic pain. You can skip to the last paragraph if you just wanna hear about project stuff!

As for my day- I woke up after having fallen back asleep after a night terror, and took it pretty slow. I had a cappuccino and a carrot muffin, plenty of water- thinking of holding back on the painkillers until I have something more substantial as a meal. My jaw’s been creaking/I had to ‘crack’ it back into place (clenching your jaw in the middle of nightmares blows) but it slipped pretty readily back into alignment, so, yay!

Overall: on a scale of 1-10, with 1 being the most lovely refreshed little wakeup you’d had on a longed for vacation, and 10 being [UNCEASING SCREAMING], I’m sitting around a 5- that’s quite good, actually, as though I’m dealing with some chronic pain from my wrist, old back/neck bleeding, and some trouble with my ankles and jaw, (my ankle gave way beneath me while trying to brush my teeth, almost chipped a damn tooth) I didn’t tear up on waking up, get slammed with nausea from the pain on opening my eyes, or immediately want a coffee and ibuprofen to take the edge off. (That’s another thing they don’t tell you about chronic pain- painkillers never really deaden it, you’re only really using them sparingly to bring it down from a 9 to a 7, if you’re having a very bad day. I very rarely have days below a 4, and typically hover around 5-7.) I do think it’s kind of funny despite dealing with severe injuries on the regular, I’m still so afraid of needles! Though, then again, bleeding for ~24 hours after a jab might put off most people too- and it’s not so bad if you’re a bit of a baby and look away.

Project wise, I’ve been thinking about opening up my portrait file- I was drawing one of the main characters in one of my new projects, and faffing around with his tattoos. It’s a lined style- so it’s taking a heinous amount of time when I’m on breaks, but I’m pretty happy with it so far even if it’s still quite sketchy. Those stabilizer toggles are so helpful! And maybe making some funky little moodboards to have some fun and get a feel for the cast while warming up my hands gently for the day’s tasks ahead. I saw one great picture on pinterest that made me want to make a moodboard for him, so, might as well for the rest of the cast. That Befunky site makes it so much easier to actually put them together- I used to sheepishly assemble them in the same art program I use and random templates from Tumblr.

6 Likes

I would definitely encourage you to pursue the artwork. Personally, i think artwork and imagery in general add depth to IF and is well worth it.

2 Likes

I’ve found it to be a really fun little inclusion in some of the games I’ve played too! I’d generally consider myself much more of an writer and artist (in that order) than a programmer or what not, so it’s familiar territory. I am doing something new with the current drawing I’ve got on hand (that is, lineart before colouring, usually I go directly into fully rendering a piece and skip an inking stage) that’s just taking a bit- to see if I like it enough to continue for other character portraits in the project. It’s mostly because Deadlock’s got tattoos in black and white, so it made more sense to line him first.

Here’s a peek at the file:


And for a more typical look at the sort of rendering I do, I suppose Sweetpea’s cover does illustrate that:

8 Likes

I’m having a lot of trouble with the IF project I’m currently working on. I had made a lot of progress the past two weeks but I’ve pretty spent this whole week trying to figure out whether what I’m trying to do is gonna be possible in the system I’m using (currently inform 7) or if it might be easier to change languages to something I don’t have to work around as much. I was exploring Dialog a bit but found it similarly had a limitation that meant a lot of work in order to get started and I’ve revisited using python. I’m still in the process of trying to figure out which will be the least difficult to use, I am happy that I have a lot of possible options to explore, there’s still ways I need to explore to get I7 to do what I want, or Dialog, I just need to spend the time to figuring it out. I’m really just hoping I can figure out something soon so I can start making progress on the game again since the I7 incarnation of it is pretty much done (it’s not a big game really).

4 Likes

Nice artwork! Would love to see the color version.

Artists I’ve worked with tend to make three passes:

  1. sketch
  2. plain coloring
  3. shaded coloring

Mainly this process is so they can show something at each stage, but it is also part of the way they work. Software like clip studio allows you to paint on one layer without going across a boundary defined in another (usually the line art). This is a huge help for coloring.

Usually the shading is the hardest part and I’ve discovered that this is truly a different skill than the drawing itself.

3 Likes

I enjoy these sorts of look-ins! I wish there would be more, honestly.

Drawing’s something I have always wanted to do, as I’ve had ideas, but I always make excuses to put it off. There is so much else to do.

Today’s been a good day. I think my Spring Thing entry was meant to be a sort of moving on from my other anagram games, not as a GBCW but as a way to say: I want to devote more energy to the next project.

I’m rolling up test cases that I’ve always wanted to look at, so that I know my tests are meaningful and that they give valuable regression checks (e.g. I want to know if stuff that should stay fixed, does.)

And so today I just found all sorts of neat stuff.

@climbingstars gave me some code years ago that I finally tweaked. One of the verbs you have to find is TRACE, but that conflicted with a testing command, and he had some Inform 6 modifications to my Inform 7 code. Today I modified things so I could find a different synonym for TRACE. Maybe it shouldn’t have taken me 9 years, but I did, and it felt good once it was done. Originally I said “boy, I’d have to be an expert to tweak that code” but now I changed it and if I’m not an expert, well, I’m not totally clueless.

There’s been a lot of that sort of code where I look at it and say “I should’ve written it better” but I’m glad I did, and I see how to fix it now.

The way I’m counting test cases is from tables e.g. code that starts “table of” and then it tracks the 1st and/or 2nd column. I started with 5000+ test cases from tables, but a lot of them were pretty clear and I’d already made tests for them. I’m down to 600 and I set the goal of getting to 0 by the end of the week. So I feel good about that. And just having a concrete number to work at means I have more motivation and willpower not to waste time. Using tables so heavily in Inform may not be the best way to code, but it’s given me a framework for writing these cases which nail down the technical stuff and (I think) free up my mind to tweak clunky game text as needed.

3 Likes

So what is it about Inform7 and Dialog do you feel is not up to the task? I’ve also been similarly struggling to find the “right” language for me, but maybe not for the same reasons as a lot of people. I’m a software engineer by trade, and I like very precise languages and good IDE and toolchain support with type completion, refactoring, and debugging.

Both Inform7 and Dialog are good choices to make Infocom-style parser games, and both are certainly capable of a lot more, but with some work. They are both very elegant in their own ways, but also both frustrating to me in their own ways.

Inform7’s natural language approach is extremely innovative and has obviously been a huge success, especially among people who are writers first. But in my mind, its strength is also its weakness. English is so damn imprecise, and also very verbose. Programming languages must be extremely precise (or they have to guess/infer) and are at their best when they are very concise (debatable).

Dialog is very well suited to interactive fiction with its nice rule declaration. The language and toolchains are new and modern which is great, and I love the way it deals with text and whitespace. But the prolog syntax can be a bit to wrap your head around, particularly when you get to traditional programming constructs like loops, conditionals, and complex logic.

Older, more traditional languages like inform6 and TADS could be good choices too, but they are not being actively developed and their toolchains are all feeling a little dated. I just don’t want to invest a lot of time learning something that isn’t growing.

So my choice? Well, I started my own development system, Kreate. It’s written in Kotlin which is a new/modern programming language that is particularly suited to creating DLSs (Domain Specific Languages). It already has a great IDE and Kotlin itself has tons of tutorials and community support, so I don’t have to worry about that aspect of it. But don’t underestimate the work it takes to write a viable parser and world model. I’ve been working for about 6 months, and feel like it’s barely good enough to have a released game (The Box). It’s still not ready for sharing, however. Probably another 6 months.

8 Likes

Hopefully, that wasn’t too off-topic either. But that is what I’ve been working on a lot lately, and even today. Plus thinking a lot about what I want my next project to be. I want to do something really big and special for the next IF Comp. I’ve been toying around with the idea of a mystery, which is part of the reason why the programming language is so important to me. I think a mystery will be a big challenge, with tons of NPC interactions.

I’ve also been fascinated by Antarctica, reading books and watching movies and specials about it. Maybe a mystery in Antarctica.

4 Likes

It’s sort of like HTML in that respect. I remember first learning about HTML. Oh wow! You can do so much so quickly! But then there were so many ways to do the same thing. Or you couldn’t quite do what you wanted.

Eventually being able to have that precision is a good thing. Inform will accept, for instance, “the dogs are plural-named” or “the dogs is plural-named” … but then it will get hung up on prepositions such as “entry 1 in my-list” vs “entry 1 of my-list.” But there’s a horizon effect that, because some words are replaceable, others should be, too.

The pluses far outweigh the minuses. But I think one sign of growing as a programmer is that you can expect stuff you wouldn’t have when you started learning a language, because you have more ambitious projects.

I suppose that’s the way with tools for programming or more visual design. I’m grateful for what’s out there, but I know it’s important to keep pushing forward.

2 Likes

Oh man, a mystery set on Antarctica sounds amazing! You should definitely write that :slight_smile:

3 Likes

With Inform 7 it’s been the limitation of the parser to two nouns, and in Dialog it’s been the mathematical limitations of only having whole numbers. Both have work arounds but it mainly just comes down to which will be less difficult to work around, and if those work arounds will create problems down the road. As I’ve mentioned this project is mainly done except this last bit so it’s less about if the work around will mess up the project going forward but more so that I want to use this project as a sort of jumping off point for more complex games so it would help a lot to have a solution that won’t create hiccups down the road.

The syntax elements of both inform and dialog don’t really bother me much. My only real gripe with Inform is that finding out what specific syntax it wants is a little difficult due to the documentation, it’s great in many ways but it doesn’t lend itself to quickly answering those questions of do I need an ‘of’ or ‘in’ as @aschultz points out. I actually really like Dialog’s approach as I find Prolog very fascinating though I haven’t used it myself, only seen tutorials on it, I think I’d actually love the language if it just wasn’t for the limitation on numbers.

4 Likes

Interesting. That gives me some things to think about. When creating Kreate, I followed Informs lead of having a “noun” and a “second noun” but honestly I regretted it almost immediately. I may revisit that and have no limitations. Really, I was deferring to the wisdom of others, and I can see how it simplifies some things, but making it unbounded might end up being simpler in the end.

Also, interesting about the whole numbers in Dialog. I know Linus puts limitations on the language based on the back ends he supports like z-code. Might be worth chatting with him in this forum to underand more about the root of that.

I agree that the Dialog/Prolog syntax is cool. In fact, I’ve written a couple of games in Dialog, one of which I made open source here, and overall I found it pretty easy to pick up. The docs are great. But it was when I started really trying to do some complex things, with more advanced game mechanics that I started to long for my good old imperative programming. But that may have more to do with me being a curmudgeon than anything else. :slight_smile:

4 Likes

Perhaps I’ll ask them at some point, I know it was mentioned in the docs that better arithmetic capabilities could be a future improvement but I understand they also wanted to keep things kind of light weight. I’ll probably wait to pester them until I’ve had a go at it myself with some possible work around that I’ve been suggested.

I definitely feel like going unbounded is a better decision, especially because it helps get around the other sort of problem I had with inform which is that it’s parser is also too object focused, as in you have to have at least one of your two nouns be an object. And again while there are sort of work around for this having that freedom from the get go is really nice, and design decisions like that can really impact what sort of games your system lends itself to.

3 Likes

I’ve had a lovely day off with my family. Bracing myself to sort out the last 2500 lines of the Ukrainian translation of the Budacanta demo (I hate smart quotes, they are not as smart as they think they are).

3 Likes

I’m working on my TALP jam entry and running into the oddest “problem”:

I recently got a tenkeyless keyboard and every time I try to type a “+” I wind up pressing the page down key instead.
The bit that’s strange is that my laptop doesn’t have a “+” key in that position either. I haven’t used a full size keyboard in almost 10 years.

Muscle memory is weird.

2 Likes

Well, “today” may be outdated (maybe we should have a weekly topic like this,) but I got through all the test cases I wanted to and pushed things to my GitHub repository. I will run the test cases overnight. Not much can break/be broken, can it? (famous last words!)

In any case, this topic and the general Spring Thing discussions were a big boost for me to get stuff done I’d wanted to for a long time in the predecessor to my Spring Thing entry. There was a lot that was easy to clean up, once I had scripts that hunted down the table text and variables, and I was able to note unreachable code and decide whether to delete it or to find a way to get the player to see it. There was a lot of code that was clearly messy, but I was glad I did something then, and I was glad I was able to clean it up now. And I realized I’d learned something then–there was a lot of “why the heck did I do things this way” and the answer was “I didn’t know any better.”

So it felt like a huge win, because I’d wanted to do the major cleanup work by the end of Spring Thing, but I got done early.

6 Likes

This is my most common experience with looking at my code. The answer for me is not just that I didn’t know any better (duh), but also because I just keep throwing stuff at the wall until it works, making longer and more elaborate code, and then I’m afraid to touch it for fear it will collapse.

4 Likes

I’ve certainly had incidents like that, too. Having a test suite and source control really help, because I can then 1) run regression tests to see if things do, indeed, collapse (sometimes it is just a one line fix to get it back) and 2) set things as they were if things don’t work.

Source control is also a great way to check what changes you made and if they’re more tangled than you’d like. It’s slowed me down at the right times, I think, and it’s prevented me from going down the rabbit holes of “this has to work, and maybe I’ll clean it up later.” Which is okay as we need to get results, but it’s a great feeling to be able to get things done without wasted energy.

Obviously there is trying too hard for simple code at the expense of getting anything done, but I think after a while you get an intuition for what code can be cut down and when you say “OK, I should’ve done things this way” or “this could be simpler and I don’t know how” or "that way seems like I’d be working too hard,’ and eventually you stumble on the right way. You realize some code is duplicated with few variants, and it’s a pain to add to code in two different areas. And so forth.

I suppose the whole process of writing fully manageable code is a lot like writing fiction that way. It’s hard to modify something where you put a lot of time into it, and getting rid of chunks of code/writing feels like an admission of a waste of time! But it feels good if/when you’re 99% sure you’ve tied something up nicely.

2 Likes

Grrrr. I just found out there’s a show called “The Head” which is a mystery in Antarctica. I’m currently watching it and very annoyed that they’ve “stolen” a lot of my ideas. How did they do that?

I guess it’s like they say… there’s nothing new under the sun. Or I guess in Antarctica, under the lack of sun.

1 Like

Bit sleepy as I write this update- I had a wonderful day out on Friday with my friend: we even got individual pints of icecream and had a nice day of shopping (I got an aluminium Muji fountain pen, which I’ve had my eye on for forever and writes like a dream) and spent lots of time together. We also bought matching diaries in our favourite colours- pastel cool pink, and baby blue. She got bathbombs, and loved the Tisty Tosty one I suggested in store. Monday is my last day of the academic term!

And, I’ve started drafting up a new project for a game jam that’s running this summer- you’re allowed to start the project early, so long as you hand it in during the time it’s running, it starts June 19, and runs for a month. The game jam’s page is here, in case y’all are curious- it’s basically meant to celebrate games with transgender representation.

My project I’ve been clacking away at is a survival horror wrapped up in a thin gloss of a shady private arctic research facility with a stalking horror of unknown visage. Kind of SCP-esque. Also, bizarrely, a touch of otome-esque elements, since I thought it’d be kinda funny to make a little nod to the whole misattribution of arousal thing we’ve been studying in class. Kind of like those campy horror sleepaway camp movies, but like, with more labcoats and geeky goggles. With a kissable researcher! Haha.

I’ve made some happy accidents while messing around with some very light CSS styling, and have actually been commenting my CSS coding as I go. Makes it much easier to fiddle around with colours. Also, used a different colour for the links. (Lessons learned from Sweetpea!) My friends wanted to do some voice acting for it, so I may have to port it over to Ren’py (Twine is meant as a prototyping tool for this project only, I deliberately sketched out a very simple, contained, semi linear story to make it easy as a first time project in Ren’py, but I did spend some time making the presentation beautiful as I’m fiddling around in the editor- I like proofreading while launching it in my browser and now I’m a wee bit torn,) and am pretty happy with having a game plan on how to craft a minimally viable deliverable and can now hammer away at the prose unbothered by trying to think too much ahead. It’s been so much fun to sink back into my unabashedly gory body-horror revelling heights of horror roots. >:3

4 Likes