Thursday, October 10, 2024

Devlog 4 - AGS Is My Friend Again

Cripes, a new todo list. I have been busy!


Well, readers, several weeks in to spending a little bit of time in AGS daily and it's starting to feel comfortable again. I've gotten a lot of value out of just lurking on the AGS forums, reading answers to tech discussions and seeing the insights there, and just getting hands on time with the editor and engine. I'm also still trying to get the core Old Skies stuff finished up and ticked off, but of course the list magically grew a fair bit in the last month. That's the nature of to-do lists after testing. I'll get there. I'm slightly less tired than I was this time last week, but only slightly. I have enough dark chocolate (85%, the good stuff) to get me through one blog post, at least.

Design

It's amazing how much ideas change once I try to make them work in engine. I think some of the issue is that my long gap between making things come to life has made me forget what it's like to conceptualise an idea, build it, and then tweak it just right. Another issue is that I am probably trying to do things slightly differently both to what most AGS games do and what I tried to do in AGS in the past.

For example, after implementing one idea this week and trying it I immediately knew that it felt awful, and that I had to change things. This was a rare, happy occurrence where after I went for a walk I realised how I could change it both to remove the issue I was having and improve another element I wasn't happy with, but it did caution me - things that seem like fun in my head will not always be fun in game. Every little element of an adventure game probably has nuance to it, down to how we walk around scenes.

Programming

I am sorry to say that I have found myself to be very bad at mathematics now. In trying to do some maths based operations I found myself very quickly overwhelmed by fairly basic ideas. Because of this I am re-learning maths, just a little bit every day with my morning coffee, because I seem to have forgotten the vast majority of it. Sorry, Mr. Ford, who always encouraged me to be an illustrator and didn't yell at me when I drew cartoon owls riding strange tricycles in the margins of my calculus exam. I think you might have been onto something with the illustration thing, though. Happily, my old Ti-83 graphing calculator still works after all this time. I'm doing the long division on paper with a pencil, though, because I'm trying to get my head comfortable with doing it again - in short, I'm training to get fit for maths.

In terms of standard AGS stuff, though, it's going well. Here's a quick fire effect I built in AGS before maths class one morning. It can follow objects or characters or even the mouse cursor as seen here:

Time to build Flamethrower Quest

The background is an old one I had done a couple of years ago for a nice tribute series. I have a bunch of other effects and variants I want to build, but am limiting myself to a little bit of fiddling each day, which is the only way the actual work gets done.

Art

I've painted the first scene for the game. It looks good and I am happy with it. No doubt I will be polishing it in tiny amounts for a month. I had to change a bunch of stuff once I saw it in engine, and I decided to do a bunch of parallax effects and things because why make the first scene I've implemented in an AGS project in years simple? It probably seems funny to consider drawing a single scene a nice milestone considering how many scenes I've drawn for other people's projects but it still feels like a good one. I think this game will look nice.

Summary

Probably the biggest criticism I would have of myself this week is that my goal setting habits have diminished a little bit now that I'm trying to draw, animate, implement, test and tweak all at once. I tend to find my work practices a little more scattered and less focused. I think now that I'm getting a bit more familiar with implementing in AGS, though, I can probably go back to working steadily through a checklist and making measurable progress. My biggest criticism of myself last week was that I overextended myself, tried a bit too hard to re-learn AGS and didn't get enough sleep. The gig that I mentioned that I hadn't done enough practice for went great, but I was definitely a little over-tired and made a few mistakes that were just "Didn't get enough sleep, brain forgot how this part goes". I've been better about all of that this week.

I am still finishing up Old Skies, a bit each day, and I'm very close to having the fundamental stuff done. I know I've been telling people this for weeks but I keep taking care of all the extra stuff that keeps popping up on the "important things to do" list and that list is still nearly all done. Dave has been putting the trailer together (as opposed to the "teaser trailer" which already exists) and it looks good. I'd redo so much of my work on the project if I could. That's always true. I'm proud of my work on the game, nevertheless.

Thanks for reading. Wish me luck with the mathematics study. And send more dark chocolate, it's all gone now.

Friday, October 4, 2024

Devlog 3 - Relearning How to Use the AGS Editor


The current state of my todo list. See how many more checkmarks since last week!

The process of creating this game is an act of taking a number of hypotheses I have formed about what makes a game interesting in the last decade and putting them to the test, hoping that I can visualise a player's experience of my intent. I will inevitably be wrong about many things. It will be interesting (and likely frustrating) to find out what I learn I am wrong about during development and what I realise I missed after development.

Programming

Now that I have my basic functionality working in AGS, it's been time to learn how to use the actual built in functions that the engine provides. Quite frankly, I feel like an absolute beginner. Unlike the process of setting up my own functions, storing my own data and doing my own calculations, a bunch of the built in features of AGS have changed quite a lot since I last used the engine seriously, and a lot of things that I used to know how to do are different now. It's a little frustrating to find that I don't even know how to process a mouse click or move a viewport - very basic functions that I once took for granted. The important thing I keep reminding myself is that it's okay that I'm a beginner, to break my process down into individual steps and that soon enough I will know how to do all of these things again. It's okay to be unable to do basic things, it's just a matter of learning these pieces of knowledge bit by bit. There is no shame in inexperience, only potential!

All that said, I love the latest versions of AGS. Many of the changes since I last used this engine & editor are wonderful, and will help me facilitate some of my current ideas in ways that I couldn't have hoped to accomplish before, or would have required much more convoluted methods. What fantastic work everybody is doing on this engine. There's so much good stuff that I have to caution myself not just to tinker with these things all day, which I could easily do. I allow myself little bit of tinkering, and then a good chunk of actual making a game.

It does feel satisfying to be starting to build a game, and not just working on systems, too. One thing I am noticing is that I get a very quick feedback loop on whether something feels right or wrong, because I can immediately put things into the engine and test it. It's not like that when making assets for other people to implement.

There are also a few things that I want to put into the game but cannot get working right yet. I allow myself a few attempts at getting these working, and then instruct myself to move on. As stubborn as I am, I am aware that logical thinking is a skill, and I am very poor at this skill currently. As I continue to work on this game I hope that this skill will improve, and so will my ability to accomplish my ideas. Meanwhile, my to-do list keeps me honest and stops me from spending too much time in the tinkering mode.

Design

It's also satisfying to be thinking about design again. I've been talking to a bunch of different people about design lately, everybody with quite different opinions. I don't think anybody sits exactly where I do on the current state of adventure game design, which is probably a good thing. That likely means that I have something to bring to the genre. I also think people have very different ideas on what "Innovation" means here, too. It probably runs the whole gamut from something very simple like "The player character is an elephant" to "You have to dissect your own psyche in order to deconstruct your notions of the world that you perceive in order to apply these new concepts to your surroundings and progress" or something. It's been a while since I chatted to Igor Hardy but I have no doubts it's along those wonderful lines.

On my end, I'm looking at being a bit more thorough in my examination of the very basics of the genre and seeing what else I can get out of the systems that might be overlooked by other designers these days. I think a lot of players and designers have a somewhat fixed idea of what point & click adventure games do. It would be nice to try to expand that a little. There's a few sparks from things that inspired me years ago that are still smouldering inside me, waiting to be kindled into a fire.

Art

The latest page in the project sketchbook. "Rigid vigilance" is such a bad phrase, and so annoying to say. Turns out writing short descriptions of things is a skill, too!


I always jumped right into creating 'final' visuals for game projects in the past. I'm not doing that this time! That means I'm doing placeholder sketches to build with instead of trying to nail the game's art direction down, and almost all of my actual work on the visual side of the game has been trying to improve my character animation workflow. It's been going well, I think I have myself setup to make the nicest, most solid character animations I've done yet. I've also sunk a considerable chunk of hours into doing so - but that's game development. Sometimes the research into how to do things better just takes that long.

The actual worldbuilding drawing I'm doing is in the project sketchbook. One fun little trick I found to help the process of filling these sketchbook pages was to come up with "look at" descriptions for the ideas I am sketching as I draw them. This gives a sense of direction to the activity that sketching can otherwise lack a little bit. I'll have at least one full sketchbook of these pages by the time I have all of my ideas for this project laid out, and while many of them just won't ever get used, doing things this way means that I'm less likely to forget things or rush into drawing things before I've played around with the idea a little bit first. Hopefully I'll also remember how to write after I write a few dozen more bad look at descriptions.

Summary

As I slowly piece this project together, new ideas emerge on an almost daily basis. I've heard designers and other creatives talk about the act of putting the elements in place and then seeing how they work together, and letting our experiments with those elements bring fresh layers to light. I am definitely finding that is the case here. The more I work on this idea, the more I believe in it.

I'm also behind on my drawing work because I've been doing so much prototyping (although I did finish the last 'essential' character animation for Old Skies this week), I haven't been sleeping enough because I'll wake up early to write code after staying up late to write code, I only read one book in September, I haven't done my normal amount of guitar practice for my gig this weekend... developing my own idea and re-learning to program is life consuming in ways that I haven't missed. I'll put "finding a balance between this project and everything else in my life" on my to-do list, I guess.

Thursday, September 26, 2024

Devlog 2 - Very First Steps of Writing Code & Trying to Prototype Ideas

The current state of my to-do list.

Because I'm going to be talking about a variety of disciplines in these development logs, I figure I should break them down with headings according to subject so that readers only interested in certain elements can skip the parts that won't appeal to them. 

Programming 

After months of thinking about things, sketching ideas out, aligning all the elements in my head and scribbling notes on paper, I started writing code this week. I am very unfit for programming right now due to my long break from it. My approach to countering this is to keep things very simple and work extremely incrementally. First I'll make a single piece of logic happen, then when that works perfectly, I will add a condition to that, and test until that works perfectly. Then I'll parcel that code up into a separate function that I can call with a single command from anywhere, then I'll expand the function to take multiple inputs, then add logic to check which input is the correct one if such a thing is not reliant on player input but other conditions. Breaking it down into extremely small steps like this allows me to accomplish one thing, then take a break, much like a newbie runner doing a short jog now and then just to get used to things before they try to push themselves.

The nice thing about AGS is that it's quite accommodating to debilitated programmers like me, and most of the things the game will need to do are handled in engine already. That makes the list of tasks necessary to get everything working for a basic prototype quite achievable. As long as I make a little bit of progress each day, eventually the list will be complete, and I can start designing the game. Eventually, too, my fitness for writing code should increase. That's something I'm looking forward to. This morning I finished implementing a function quite successfully and then checked it off my list, but then wanted to alter how the game responds when the player cancels this function to look better. I knew exactly the maths required to make this change occur, but had used up my energy for writing code, and so saved the project and put that simple calculation in my todo list for the next time I open the project up. Knowing the solution to a problem but not having the endurance to execute the solution is not ideal!

I was fortunate enough to be able to call on the advice of long time AGS member edmundito, who helped me overcome a few issues that were specifically related to the quirks of the AGS script language. For example, assigning an integer variable as the size of an array of floating point variables requires that you refer to the integer variable with the "float" type, despite the fact that you're calling an integer and that the array size cannot be a floating point variable, and yet AGS's rule for requiring an IntToFloat call to handle this conversion breaks the script. He pointed out that I could simply refer to the integer with the "float" type and that this would pass in this specific exception, which I had not thought to try. (Edit: this is just a misunderstanding of mine which is clarified nicely here) I consider it a fair trade for having done some quick graphics for a recent jam game he made. He ran out of time to get all of the writing and graphics in, but you can still check it out if such a thing interests you.

A little game jam entry I did the graphics for this month

Design

One thing I wrote in my previous devlog was "I also think the fact that I aspire to create gameplay that's slightly outside of the current standards of "Inventory + dialog + closeup puzzles" for the point & click adventure genre will be challenging to accomplish." On reflection I don't think this is quite clear enough. It's perfectly simple to introduce limitations or twists on the genre - force your character to not use inventory. Make them unable to speak, make them have limited mobility and have this be part of the game's challenge. I think the difficult part will be making something that adds a twist and also feels really good to play and creates a satisfying gameplay style*.

A concept I've been thinking about that might be a way of addressing this is that unlike RPGs, we often don't start out an adventure as a character with many abilities. Usually with a role playing game even a very inexperienced character has some proficiency - maybe they can cast some minor spells, can at least brandish a spear to defend themselves (and bring a spear with them rather than finding it on their way) or have a chance to hide, pick a lock and disarm a trap. And then, importantly, the majority of the game's obstacles can be overcome by using these specific abilities, as well as auxiliary additions such as potions that aren't specific to that style of character but can be used by a variety of classes. In adventure games we often get a character with few real abilities, and they're usually solving problems using items, contraptions and conversation topics they encounter along the way. I think there's a lot of potential to be found as a designer in creating a player character that isn't a blank slate, they bring abilities and expertise to the situation and it's via the application of these abilities in creative ways that the player then overcomes the game's challenges.

So that's one thing I've been prototyping this week - my protagonist's abilities and how they interact with the world. Already while just setting the functions up, establishing some rules and connecting the logic I have seen interesting gameplay possibilities emerge, and I've adjusted my philosophy about the player's abilities a fair bit based on the things that I've noticed while just playing about with the system. But one thing that has concerned me is the possibility that I might unwittingly be designing a “puzzle game”. Often when you give the player specific abilities and then present them with a series of challenges based around those abilities that’s what you end up with. There’s nothing wrong with puzzle games, I like them, but that’s not the feeling I want to go for. After deliberating over this issue for quite a while I reached the conclusion that the difference between a puzzle game and an adventure game, for the purposes of my own goals here, is that in a puzzle game your abilities are primarily means with which you can overcome obstacles, and in an adventure game your abilities are means with which you can explore the world, and in the process of doing so also find and overcome challenges (puzzles!). Think about how many of the classic verbs in text adventures are simply about examining the world. This use of our abilities to explore and learn about the world is what I’m planning to aim for - as well as interesting puzzles.

Summary

As for how I feel about the whole process of starting to develop a game again - it feels great. I've spent over a decade trying to interpret other people's visions, and have gotten used to things not being quite right, to things not working quite how I expected in the final product, misunderstanding instructions or stylistic goals and largely hoping that I had gotten things correct. Doing this work I know exactly the vision I'm working towards, and I know precisely when things look and feel right to me, and am allowed to have more of an opinion on what's correct. It doesn't push me out of my comfort zone like the other work (which is good for skill development), but it's very empowering and immensely satisfying! Of course, it also means that I have to be the one having the good ideas, and that part is definitely more pressure and more difficulty.

Thanks for checking in on my progress! Hopefully by the time I update the list will have a good deal more red checkmarks, and a healthy amount of new items to tackle.


*And then, if I really play my cards right, subverting or exploiting some of the rules I've established to create interesting situations that require players to think more creatively about the logic I've introduced. That's the good stuff, that is - I probably want to talk about exactly what I mean by this in a future post.

Sunday, September 22, 2024

Devlog 1 - I'm Building My First Game In A Decade

While the process of making games is not new to me, I've now spent more than a decade being almost solely focused on the visual side of things. However, it's finally time for me to try my hand at developing my own game again, taking an idea from conception, through the development process, designing the gameplay, writing the world and characters, while still doing the visuals. It's been so long since I have done this sort of thing that I thought it might be interesting to record some of the challenges and insights along the way. The project is not in production yet, but seeing as pre-production is an important step, I figured my first post ought to cover how I feel about the entire process at this point. It might be a good reference point later while I'm in the midst of things.



Thursday, August 31, 2023

Sketch a Day

 


Back in May I talked about finishing a sketchbook, and how it was very rare for me to sketch at all. In fact, during June and July I didn't sketch at all, despite buying myself a very handsome new sketchbook, and being inspired by the fact that I had finished my old one. This would be the year that I started sketching for real! I was going to commit to it! And then I was busy reading another Gene Wolfe book, and busy playing lots of live music, and busy working on games. It's a classic tale. But it feels bad, and I felt frustrated with it, and I like to conduct little experiments on myself to try and build habits, develop practices, maintain little rituals in my day, and so I made a decision to try and do at least one sketchbook page per day for all of August.

August is a particularly good month to try this sort of thing - the weather is perfect for getting out and about in, there are usually very few music gigs for me to play, and there's the whole 'starting fresh' vibe that comes with the end of winter and start of spring that makes one want to turn over a new leaf. So I sharpened up my 6B pencil, and I started doing sketches.

Specifically, I started sketching character heads. One thing that frustrates me is that I'm not particularly good at just sketching out a character that I like in pencil on paper from imagination. I thought that if I could somehow develop a process for doing this, then the month would be a success. So I split my time between trying to do quick photo studies, quick sketches just constructing a head from scratch without reference and working out where to lay everything out, and trying to draw some actually interesting characters with expressions and props and identifying features. And it was good. Some of them came out very bad, both on the first day and on the very last day and plenty of times in between. On some of them I could feel myself working things out as I made particular choices, gaining small pieces of insight about what works well and what doesn't just by consistently making the same sort of marks every day, and discovering what I liked and didn't along the way.

I also got to break my tether to my PC and go and draw outside, which was most revitalizing. I spend so much of my creative time at the same desk, which is well set up for my needs, but gosh it's good to get out and about a bit, and draw amongst the flowers and trees and the singing birds.

In the end, I think what I mostly gained from the experience was some better confidence with my workflow for drawing with pencil (something that I had very little of before), a better approach to drawing character heads from a structural basis, and some confidence in my ability to use a sketchbook habitually. I also got a little more 'fit' for drawing on paper. Making marks is a physical activity, and the more one makes marks, the more experience one has to inform and guide all future mark making. I also had fun - some days I'd do multiple pages just because I felt like sketching some more, I was eager to try out new ideas. That feels great. I'll leave you with a photo of a few fun fantasy style characters I sketched out, completely free from any reference, and completely away from my desk, along with the stub of one of the pencils I was using on this project and the assurance that I plan to keep sketching much more regularly from now on.




Tuesday, June 13, 2023

A new milestone

Today I painted the last backdrop for Nighthawks. This milestone has been a long time coming - largely due to the fact that I have been working quite busily on Old Skies while Richard finished putting the actual game together - but it still feels good to reach this point. I still have a few touch-ups, and map screens, and vignettes and things, but every milestone reached in a game's development always feels like a nice accomplishment.

This has been a fascinating project to paint for, quite different to what I'm familiar with and filled with the normal education that such a project brings. I think both Richard and I would do everything completely differently if we had our times again, but that's true of every project. I think his very polite feedback helped me to gather some semblance of cohesion in background styles, despite my approaches varying an impossible amount, and I think my focus on painting atmospheric scenes with moody lighting suits his approach to this world pretty well. I could easily spend another year cleaning up and polishing up the scenes in this game, but I would find that very boring, nobody would want to pay me for that, and it honestly wouldn't change how the scenes work in game that much at all.

I used a lot of coloured lighting, thick atmosphere and the idea of texture to try and sell our vision of the city. Many of the scenes have quite large amounts of both pure black and pure white. There are areas of the game with more magenta than anybody has probably ever seen me paint. It's been fun, while also being the normal amount of hard work, and anxious uncertainty, and "Gosh, why can't we make a smaller game" and "Why can't I make all of the scenes look as good as the good scenes?"

I'm posting a few of the scenes that I still enjoy looking at here. I've shown them off before, but not much on this blog, so now you can see some of the scenes I like to go back and look at without all of the text and portraits that normally bring them to life.


A view over the city's rooftops


Inside Cygnus Rare Books


The queue outside Nighthawks


Bikers hanging out at their local bar


A magic shop in the Lapis district


Wednesday, May 17, 2023

The last page of a sketchbook

I usually don't sketch very much. Don't get me wrong, I do plenty of rough passes for characters, locations & animations. It's just that I don't sketch much for sketching's sake. I don't make a point of "keeping fit", as it were. I draw a lot, but almost all of it is for a particular purpose. Almost everything I illustrate or animate is an 'asset', something that is designed to go into a game, a poster, something of that nature.

As a result of this, I haven't used a sketchbook very much. For me a sketchbook is a place in which I can solve problems, try ideas, or draw something for my own interest, and I really don't draw enough things for my own pleasure or education. But that's because I only ever started drawing in order to create games. That's where my interest in drawing began in general, so it makes sense that my drawing energy largely goes towards my work.

That being said, I have one blank page left in my current sketchbook, and looking back over the pages of this sketchbook has been quite a satisfying experience. The fact is that this book has lasted me for several years, and as a result of that I can see my interests over those years memorialized in these pages. Here's where I started trying to learn how to shade with hatching. Here's some preliminary sketches for Old Skies, for Nighthawks. Here's where I was teaching myself how to do nice lettering so that I could do nice signs in locations without having to rely on fonts. Here's a page of just shoes. Some pages were torn out and stuck inside letters to friends. Some pages have random notes written on them, or just a few scribbled tests of a new pen or pencil.

I'm currently working my way up to drawing the last few characters for Nighthawks as that project moves into the later stages of production, and as I have not drawn portraits in a very long time, I have been doing a few pencil studies in my sketchbook to get over the intimidation of such a task, and as a result have just about finished this sketchbook off. And having not drawn much at all for my own education, interest, or practice in a matter of months, I have to say that it's quite nice. I think it would be quite empowering to form a habit of doing this more often, just basic practice of basic skills that I know are a weakness of mine, or studies of artists whose style I admire very much, or just... drawing for the sake of it. I've been good at forming habits this year - I bake bread weekly now, and keep a daily journal, and generally have been pretty good at being quite diligent in many other areas. With that in mind, and my enjoyment of sketching as re-discovered in the past few days, I've ordered myself a nice new sketchbook, in the hopes that I can make regular sketching in it a routine part of my daily life.

No doubt we'll all share a chuckle about these aspirations when I'm blowing dust off it in four months time. Here's a few fun images taken from the various pages of my almost-complete sketchbook for you to enjoy. Meanwhile, I've got one last page to go and fill.