Wednesday, January 4, 2023

Tuesday, January 3, 2023

New Year, New Post

Was 2022 a bust for anyone else?

I don't keep track of how my years go, but 2022 really felt like a low point after a few years of achieving quite a lot. 

I didn't make it through the pandemic unscathed, but I did keep learning, improving and generally progressing during the lockdowns and general chaos that was the last 3 years. That sense of progression came to a halt in 2022, and with it came some other challenges that further derailed me (which I wont go into... this isn't a pity post).

I did take some steps to course-correct in the last quarter of the year, and towards the end of the year I came across the concept of "Learning In Public" (best summed up by swyx here: https://www.swyx.io/learn-in-public/). The concept was interesting to me for two reasons:
  1. It seemed like a good way to encourage myself out of my rut and back into a process of learning and continual improvement.
  2. It reminded me of what I used to do on this blog oh so many years ago (this was an all-purpose project blog after all).
So in the spirit of learning in public, I'm going to give this another try. I'm not sure if I'm going to be posting here long term, but it fits the intent for now. 

I'm also not sure if this is specifically going to be posts about learning things, or its going to be a way of sharing what I'm doing, but I'll work out it as I go.  

Similarly, a lot's changed for me since the last two posts (in 2018, four years ago) and the steadyish stream of posts before that (2015, which is wild). I've gone corporate. I'm a shill for the man. I'm a bunch of spare parts in a suit. 

In short, I sold out. 

One of my regrets from last year was that I don't do anything creative anymore. I aim to rectify that, but there's probably going to be some broader development/design content, some more business focused content, and potentially more random unrelated content that only makes sense to me. 

It's all about learning new things. It's also about trying new things. 

I have drawn a little again since the new year started, and I will also probably highlight the couple of creative things I've done that didn't make the blog. Expect that soon. Maybe. 

So, for the umpteenth time - just like the first post back in 2008... How long can I keep this up?


Thursday, April 5, 2018

#BeerSK - Post Mortem


I had intended for the #lowrezjam to be a singular excursion, as I knew that some projects at work were about to ramp up. However, twitter alerted me to Bar SK's first birthday celebration and accompanying game jam. I've always been interested in Bar SK; It's a bar in Melbourne that's themed around game development, particularly experimental games. I haven't been yet, but it's definitely on my bucket list.

The rules for this jam were more focused on technical requirements to fit their setup, but the general theme was beer and Bar SK itself. While unofficial, there had also been a growing trend around "trashgames", a niche of intentionally/unintentionally rough/punk/'bad"/unfinished/'quick games that had somehow also grown into a secondary theme.

Timeframe for this jam was about a week, but it ended up being a pretty busy week at work, so I only really managed to have about 1-2 nights and a weekend to get things done. This was a pretty quick and cool jam, and aside from any feedback I might've gotten if I had managed to visit the bar that night, there's not a lot to follow up on, so I'll keep this brief...


THE GOOD

- I got a lot done in very little time! I think the majority of the gameplay was programmed in a night, and most of the art done in a night and a half. While there's not a lot to the game itself, and the loop does kind of end pretty abruptly, and it's not really clear what the goal is initially, it stands out as looking unique and offers a different experience to most of the other games in the jam.

- Aesthetically I think it turned out pretty good. I would've liked to have spent a bit more time on the UI and maybe the beer, but generally, it stood out and made for some good gifs.

THE BAD

- The sound is absolutely trash. I had no idea what to do and couldn't find anything to match so I think I ended up just making a bunch of mouth noises for everything.

- I didn't really think hard enough about the core gameplay before building it... I had a pretty clear vision in my head about catching beer and glasses colliding; I managed to capture almost exactly what I had in my head in that regard. However, I was going for something competitive but it never really felt like you had that much control/there wasn't really enough challenge. Instead, I pivoted into the game being more of a "compatibility test" thing, but it would've been better if I could've communicated that better.


THE UGLY

Pretty sure it was something like:
Day 1 - Core gameplay
Day 2, 3 & 4 - Nothing
Day 5 - Art
Day 6 - Art, title screen, score screen, gameplay loop
Day 7 - Sound effects, tap movement patterns

A FISTFUL OF DOLLARS

As I said before: I'm pretty happy with how this turned out. I would've loved to have been there on the night to see it in action (still hoping to get there some day), but I've seen it in the one of the photos from the night. A screenshot from Beer Buds is also used as the header image for the Bar SK Beer Club meetings, so that's pretty cool too.

Will definitely consider getting involved again for the 2nd birthday party.



Monday, March 26, 2018

#LowRezJam 2017 - Post Mortem


Seeing as it's been longer than 6 months ago, and I've had significant time to reflect, it's probably time to do the post-mortem for this game. Around August I was both extremely busy and extremely frustrated and wanted something small I could complete and get some satisfaction from. By sheer coincidence, a new #LowRezJam had started around the same time. I'd made Shogun Assassin, my most successful jam game, at the first #LowRezJam. The jam had already been going for a week when I started, but I still had about a week (including 2 sets of weekends), so I was confident I could get something out. 

That something was "50yd. Fight!!". You can play it here.

As with the previous #LowRezJam, the only rule is that you have to make a game that fits a tiny resolution. While the first jam was 32 x 32 pixels, this jam had increased that to 64 x 64 pixels. Theme, engine and anything else is left to developer's choice.

I can't remember exactly why I was in a mindset to make a tower defense game, but I think around that time I might have binged on a couple of random ones I picked up in a Humble Bundle. The genre definitely came before the theme/concept though. Originally enemies were going to be zombies, but I knew I needed to try a little harder. Thus, the premier evolution of ballsports as we know it was born. 

While I'm pretty happy with what I manged to do over a week (while still completing my regular work), I don't feel there's a need to write a novel over this. I'll summarise the rest of this post-mortem.

The Good 

- I've still got it! I was worried my ability to do rapid development had dulled, since it wasn't as much a part of my role at work anymore. However, I still feel like a completed a lot for the time I had and it was great being able to tweet visible progress (almost) nightly.

- Concept and theming was interesting and different. I'm unlikely to do anything more with this, but I do feel like there's a lot of potential that could be built upon. 

- There are some issues and design quirks, but otherwise this is pretty complete and feature packed for a weeks worth of work. There are four deadly turrets and four unique enemies, built-in instructions and intro/end screens.

The Bad

- The core loop is kind of broken. While having 12 quarters was intentional (as per normal football rules), it ends up looping back around forever. I was hoping the procedural generation for enemy waves would eventually end up making enemies too hard to kill, but...

- I had no time to really balance things. The turrets themselves are somewhat balanced and have their own unique strength and weaknesses, but the upgrade system effectively breaks that. The upgrade system itself is pretty poorly implemented and hard to describe to players. Looking back on it I wish I had just taken it out, even if it did mean an upper limit to how far players could get and less strategy.

- The pathing system does some crazy things. Initially, I was pretty happy that I managed to learn pathing in GameMaker Studio in a night or two, but the basic system has some kinks in it that can cause some wacky behaviour. It's still playable, but if I had the time I might have tried writing my own pathing algorithms instead. 

- No sound. No time.

- Saddest of all, I broke the one rule of the Jam: things don't always match the 64 x 64 pixel resolution. I had noticed GMS doing some weird sub-pixel placement when spraying blood early on, I didn't end up fixing all of it. I baffled how it happened at all, but it's still disappointing. 

The Ugly

Keeping track of time was the last thing on my mind for this jam. Based on my twitter history though:

Night 1 & 2 - Pathing, spawning, turret placement
Night 3 - Enemy damage & gore, turret sensors & firing
Night 4 - Waves, money, health, UI
Night 5 & 6 - New turret and enemy type
Night 7 - Sprites & animation
Night 8 & 9 - Title & end screens, instructions, UI uplift
Night 10 - New enemies, new turrets, general polish

A Fistful of Dollars

I'm happy with what I made for this jam, but I am a little disappointed in the resulting scores. I've obviously got to take the low score for sound on the chin, but I don't think the sub-pixel placement was really that noticeable. There were a lot of great entries for this Jam, so I'm OK with not breaking into the top 50, but general lack of reviews is another thing that was kind of disappointing.

For next time:
- Be sure to add something sound-wise.
- Maybe make something that's quicker to complete. Game Jam's aren't the time to be looking for value via quantity.
- Maybe it was sports/strategy that stopped people from trying the game? Maybe using a title screen instead of gameplay in the entry thumbnail had a negative effect too? Gore seems to be fine though. Many of the top entries were violent/bloody.
- Maybe just make a platformer... That seems to be the evergreen choice.


Tuesday, October 27, 2015

My baby takes the morning


I drew a train. It was super exhausting. Also I haven't blogged for a while, so may as well try and get back into the habbit. Realistically though, we all know I can't post much until after this project is complete.

Wednesday, May 13, 2015

It's all a front!


After much lead up: The front page. You can also see it here. It's complete with slider game and background previously discussed on the blog, plus a news slider and twitter feed. I'm pretty happy with it, and it matches (in a round-about way) to some concept art my constant co-conspirator Drew Fellows made for me. I was hoping to push this style through the rest of the website tonight as well, but I had to fight x theme in a lot of things so I'm stopping here and I'll do the rest tomorrow, probably.

Not everything is 100% though... There are a couple of things that don't quite work as intended when scaling the window. Previously I noted that I hadn't worked that into the slider at all, so that is still to come. Similarly, the news slider doesn't really scale as I would've wanted (to be honest, I'd rather ditch that slider entirely and pull the latest news post directly somehow) and overlaps the border at minimum width. Similarly, the center box text can have the text overlap outside of the box, and the actual contents of that text could probably do with some more thinking time. Because full screen is fine though, I'm happy to delegate fixing that to a later date. One thing I may do sooner rather than later is tweak the background image slightly though.


Monday, May 11, 2015

Slide into oblivion


Check it out here in the meantime.

I wouldn't say the slider project ended up spiraling out of control, but I ended up doing more with it than I was originally intending. In terms of scope, it's about the same level of simplicity (aside from a couple of small additions), but it's more a case of exploring and learning some additional aspects of GameMaker I hadn't looked at previously. While I promised a front page reveal last week, I think I'm going to do a mini post-mortem on the slider first, because a) it's always a good idea to review something when you're done with it and b) due to some of those unforeseen circumstances I ran over time.

The Good

It does everything a slider should, plus more. I really like the transitions on mouse over, and I'm pretty happy in general with how the interactivity works. The game itself is nothing special, but it's not meant to be... This was always more about creating a fun, surprising gimmick than anything mechanically interesting. For what it is, it works smoothly and should be engaging enough for a minute or two.

In terms of graphics, I'm happy enough with most of it. The backgrounds look better than what I've got up at the moment, and other elements work well while whizzing around and make for a nice representation of the games on show. I'm not as happy about the robot head though, I felt the pressure to get it done and ended up sticking with the first thing I did. It's fine for the moment though. Similarly, all of the effects were added at the last minute and could use some refinement in the future.

Lastly, I made pretty good use of the time I had... This was about a weekend jam's worth of work I guess. As I said before, I learnt a few new aspects with this project. In particular: in-game blending, window/canvas elements, modifying and tracking the mouse cursor, and web-specific stuff like url linking. Further to that, while it's not great productivity wise, I tried coding a lot of specific, similar things in different ways to see what worked/what worked better. It was good practise at least.

The Bad

As with a few of the other projects I've done, I lost a lot of time trying to do something the hard way (or trying to do something that can't really be done). The big thing here was monitoring the mouse. It works fine when the mouse is over it, but the HTML canvas doesn't track the mouse if it moves outside of it. This was apparently possible in an older version of Gamemaker, and their are functions that are kind of supposed to track mouse position that way, but they don't work now. There may be a way to imbed something on the page that can send a variable back into the game (since it's all HTML5) but I don't really have the time to look into it at the moment.

Dumbing it down a little, using mouseover for the background sprite wouldn't work, because the edges of the sprite were the edges of the canvas, so what I ended up doing was using a large invisible object that leaves a border of about 5-10 pixels  (can't remember at the moment) around the outside of the canvas. This catches most mouse movement and doesn't feel too intrusive to the player (hopefully). It's not perfect though...The mouse can still move so fast it'll miss these borders all together if the player is all over the place. I tried a couple of other things but the only thing that really worked was a timer that measured when the player wasn't moving. It didn't work great, so I just left it as is for the moment.

The kicker for all this is just how pointless it may be. The whole concept of a game in a browser window that's controlled solely by mouse position is so specific and peculiar that I'm not sure it's going to be a problem for any other project. I am liking this idea of just hiding games everywhere on my website though, so who knows... maybe it'll come in handy in the future. Right now though, it's my white whale.

The other bad stuff is only minor. As above, some of the visuals are a little undercooked and there could be a lot more flair generally everywhere. From a gameplay design perspective it's a little amateur... There's not a lot of variance, and there's not a lot of guidance or feedback to the player. Worst of this is probably the powerup balls. It's not especially clear what they are or if they're good or bad. The effect they have isn't especially noticable at first either. In terms of difficulty scaling, it's way too slow at the start and then becomes more difficult all of a sudden. Then it just stays at that level. As before though, this whole project is supposed to be a novelty rather than a serious, engaging game... I still feel I can do better though.

The Ugly

I wasn't really keeping track but it was something like this:
1 evening - Background + sliding behaviour, zoom in, basic player movement, firing
1 evening - Enemy behaviour, background rumble, explosions/particles, powerups, mouse tracking, Scoring
1 evening - Fail states, on screen messages, linking, handling losing focus, resetting, testing
1 evening - Sprites, sprite reworks, sprite blending, other little effects, testing and fixing

There's probably a couple of other things I'm missing but I think that's about it. While I was working on it it felt like I was powering through it a lot quicker than I guess I was.

A Fistful of Dollars

I kind of covered the things I learn earlier on... Also I'm tired. I should get more sleep, that's what I've learnt.

A Few Dollars More

I'm going to keep updating this as I do more games. There's a lot I can do but I think first things will be:
- Split the enemies up into separate objects and add more to them (animation, effects, etc). Have them move differently and different things.
- More and bigger effects, different firing styles, etc. The more things moving the better.
- More information and variance in that information. It's not hard to have a few different ways of saying the same thing and alternating between them.
- Maybe randomize the background order (or starting background).
- Transition between backgrounds while playing, include a mashup stage that spawns all different kinds of enemies.
- Add left and right buttons to scroll between backgrounds (not while playing)
- Scale the slider size with browser window width (may be harder than I'm expecting considering the mouse problems I had).
- Local score-keeping via cookies.
- Hide some secrets in there somewhere.
- Sleep more.

Friday, May 8, 2015

So why don't you slide?


Taking a decent screenshot while trying to show off something that moves is a little tricky and often ends up with something that looks confusing and/or generally shit, as demonstrated above. How about you just check out where it's at here.

I had thought this would only really take a day or two, and that's mostly true... It's not finished yet but I'll probably have it done and up by tomorrow, barring any unforeseen life problems. My plan here was to keep it as simple as possible, and I have deviated from that somewhat, but I'm focusing on making it present better, rather than be an interesting game. Mechanically, everything up to the fail state/moving-out-of-window-and-abandoning-the-game is done, but there are a few specific things still on the to-do list. By the time anyone reads this they'll probably be fixed, but maybe for my own sake I'll write them down here:

To do:
- Draw and add in the sprites (Still a little undecided on the player sprite, but it'll probably be a little robot head. I'm going to do a different enemy for each slide, based on something specific to the game. A jellybean for Scrolls of Candy, the running man logo for Apex Diver, etc).
- Gameplay messages that appear at the start of a round/end of a round/when the game loses the mouse.
- Handling the player moving the mouse out of the slider, eventually transforming it back to slider mode.
- Highscore tracking (per session).
- Having the "more info" buttons link to the correct pages.
- Kill the powerups if they move out of window.

That will probably be it. Aside from the sprite work that's maybe a couple extra hours of work. There is so much more stuff that I could (and want to do) but I don't want to go overboard at the expense of not finishing the website or working on CannonPaul. So the following are maybes, but not probably not until a month or two down the line
- Sound effects (as long as they're not too obtrusive).
- "Cycle to the next slide" buttons.
- Scaling support for smaller desktops/mobile (Went to so much trouble ensuring the gameplay design would work for touchscreens, but the size of slider is too big for most displays. Go me).
- Permanently tracked highscores.

Then there's the big things that probably wont be getting done anytime soon, but maybe I'll give in and and do sometime... Rather than just have each slide be a shoot 'em up, I think it would be awesome if each slide played differently, like a super simple version of each game. Apex diver would become an endless runner, jumping at the right time to avoid obstacles. Shogun Assassin would have you move the mouse around and click to slash enemies that run in from the side. ASCII Bird would just be Flappy Bird, etc.

Anyway, that's enough star gazing for one night. Next post: Totally a completed website front page.

Wednesday, May 6, 2015

Slide in next to me


Part 2 of the "update the website" thing I started a couple of posts back. Originally I had just thought about using screenshots for the slider, but since all the games I've made so far have been different resolutions, it didn't quite work out. What I've ended up doing is re-purposing the sprites from the game and rearranging them into something that represents the game, but also fits the same common frame. They're still not the best they could be, but they're a step up from what I had before and I'm happy enough with them for now.

Ok... Soooooo... Since I started typing this, I've actually begun to doubt that using a slider is the right way to go here. Sliders are kind of the norm these days, but I can (and should) do more. I know using the slider is easy, and it makes it simple to update things as well, but wouldn't it be cooler if this was just some kind of game instead? Nothing major, just maybe a little guy that can run around and dodge stuff, or a shoot'em up or something. That way I can also keep the "slider" in line with the rest of the site, as opposed to having to wrangle it in a way that makes it fit in enough.

Well... may as well get to it. I didn't want to sleep tonight anyway...

Monday, May 4, 2015

CannonPaul #1 - Proof of prototype


This kind of works- Check it out here.

So... it's time. Sure, I have stuff that I've started previously, but this comes from a place that's been on my mind as of recent. Plus, it's super quick to make and will work on keyboard, mouse or touchscreen relatively easily.

The concept is this: It's a circus and people need to be entertained. After running out of other options, the only thing left is to fire a guy named Paul out of a cannon. Paul doesn't want to die (presumably), so he has to bounce off of conveniently placed trampolines until he can get to the safety of the target/end-zone/safety-net/pile-of-mattresses. I assure you, there's a deep meta-narrative here and this is more than just a dumb idea developed from a pun.

What made me want to come back to this was some thinking I was doing about game replayability and how best to use mechanics in interesting ways. At the moment, the only real player goal in that room is to get to the target, but there are a lot of other ways to subtly change or refine the player goal to get more out of what is essentially the same room, as well as gradually introduce the player to new techniques and tougher difficulty.

For example, a refinement of the goal may be to reach the target without influencing Paul in mid-air (or only influencing him for a short amount of time). Another could be to only reach the goal after bouncing on all available trampolines, or only bouncing in a minimal number of trampolines. An outright change to the player goal would require additional development, but that's kind of the plan... I want to add some kind of combo or hype meter, so getting a high enough score might be good enough for a goal.

Anyway, I think that's enough for today. I'll probably get closer to a more complete prototype before the end of the week and then see where that goes. I want to actually finish this though, and if there doesn't end up enough to have this commercial, I'll just put it up on Gamejolt or Kongregate instead.

Friday, May 1, 2015

Poetry Corner

So, this will not be a standard kind of post I'll be doing again anytime soon, but I ended up staying up till something like 3:30 in the morning doing this and I wanted to get more mileage out of it than just it's intended use. Maybe it's some kind of new low for the blog, or maybe it's some terrifying new and interesting direction it's going in. Or maybe I'm just hanging around the self-styled bush poet from the Ukulele Association too much.

It's my Uncle's 60th birthday this weekend, and my darling Mother wanted something different and special to put in the card. Naturally, she tasked me with it. Specifically, she wanted some kind of poem that incorporated details about my Uncle. Particularly, she wanted reference to a statement he made when he was 55 about retiring and "throwing his hammer over his shoulder" (which has not happened yet). I worked in some other elements and now here we are.

Around this time, five years ago
Robert began to conspire
"Fifty-five is a ripe old age
I think it's time to retire!
I'll down my saw, my wrench, my drill
My screwdriver and my plier
Stop working hard and spend my time
On the one thing I desire"

For Robert had the soul of a fisherman
And in this, I am no liar
He'd bought himself the biggest boat
That was possible to acquire
Fifty feet and a kitchen complete
With a fridge and a deep-fryer 
Then he planned the greatest fishing trip
Across the ocean, blue as sapphire

"There's just one thing I need to do
Before this can transpire:
I’ll toss my hammer over my shoulder
As I had promised prior"
So Robert heaved a mighty swing
But the throw was a misfire
It sailed wildly through the air
Until it clipped a wire

The wire loosed, it jumped, sparks flew
Robert began to perspire
He stared in total disbelief
His boat had just caught fire!
The flames rose fast, the boat burnt down
What remained was a charred pyre
To Robert's dreams of fishing days
And retirement plans entire

Robert sat down and cracked open a beer
The situation was dire
"Another boat..." He quietly told himself
"Hard work, it will require"
Now five years on and he's working still
"How much longer?" we inquire
"At least another five," he says
"If not that, 'til I expire!"

Once again, this isn't going to be a regular thing. I hope I haven't drawn any ire.

Wednesday, April 29, 2015

EXTERMINATE


One more left over thing from Movember... This was for my friend and Fernando duet partner Deb who I met at the Adelaide Ukulele Appreciation Society. She wanted a pixel version of herself playing Ukulele. I didn't know much else about her accept that she has a little dog named Davros and loves Dr. Who, so I chucked that all in there too.

Monday, April 27, 2015

Robot Reprise


Something else I've been working on recently but have been slow to complete is my website redesign. A lot of the content/links are in place but I've still got to pretty it up/make it look more like me. I wanted something for a background image. In a mock-up Drew did for me he used this really, really old thing I did here. I thought it would be cool to revisit the idea, if only to see how far I'd come in 5 years. There's a lot of little errors with shadows and whatever, but I figure its more about the sheer amount of lines here than the quality of them. I'm just glad there has been at least some progress to show. Still not 100 robots though :(.

Friday, April 24, 2015

Proof of Concept


Last post, I talked about my intentions of maybe doing some Youtube videos... and about how I didn't just want to make the same Let's Play/PewDiePie/MLG/screaming-into-a-microphone kind of videos that everyone is making. Now here I am, having made one of those exact videos.

This is not a prototype of things to come, just something of a proof of concept. While I'd done a tiny little bit of editing in Premiere before, I hadn't really done anything above basic cutting and exporting. I wanted to try some of the basics before jumping into anything bigger, and I had this footage recorded already, so I made the most of it. For what it's worth, tweening text and dropping in sound effects is pretty simple in Premiere, possibly simpler than it is in Flash, so it didn't take that long at all do make this. I do need to research better compression/export options though.

Also shout outs to BLAST Gaming... It's pretty much just an excuse to play random multiplayer games with guys I used to go to school with. They got some other highlight vids from some of our other nights on their own Youtube channel.

Wednesday, April 22, 2015

Problems


I have this problem where over the last few years I've picked up way too many games. More games than I have time to play. So many games in fact, that when it comes time to play something I'm completely paralyzed by choice.

I also have this problem where I hadn't really done any file I/O in GameMaker yet, or tried out the new internal font stuff, Or indeed made anything of note in it recently.

Then there's this problem where I've missed out on a few potential jobs I'm pretty sure I could've gotten if I had any experience in video editing. Well maybe, maybe not... But I've been thinking about learning the basics for a while now at least.

In addition to these three, I have this other problem where, due to my current circumstances, I don't really talk out loud that much anymore. Especially when it comes to critical discussion about game design.

That last problem is kind of solved by this podcast I do with frequent collaborator Drew Fellows, that I'll totally post about next time we record it, but I need more. It's not at all original but for a while I was thinking about the possibility of doing some kind of Youtube/videogame thing. Not something as banal as Let's Playing but maybe something more about discussing and critiquing game design, while also clearing through the pile of shame that is my game library.

I'm not at all deluded into thinking this is a great idea. I don't expect, nor want, to be the next PewDiePie. Nor do I plan to be able to sit back and rake in that sweet Youtube partner money. I want to treat this as a learning experience and build new audio visual skills that I'll probably need some day anyway. I also want to get better at finding what does and doesn't work in games, and get better at effectively communicating that to people. I'm going to be spending the time to play these games anyway (eventually...) (probably.), so why not record it and then use that to make something new?

So... in an attempt to fix some of those problems, that's what I'm going to do. They will probably suck, at least at first, but everything always does when you start something new. This is not going to be my main focus either, I'll only be spending a set amount of time per week on them. I'll just be happy if I can get on some kind of schedule and get the videos to a level I'm happy with.

What does this have to do with the todays pic? As I stated before, I have so many games, I don't know where to start. I was originally thinking of using Steam Roulette, but my library of unplayed games goes back to at least the original Playstation. What I decided to do was to hit that 4th problem and make something to pick my games for me.

It's a pretty simple thing, but I've learnt a few more aspects of GameMaker that I needed to check out anyway, plus it was a good warm up project to get back into the swing of things. All it does at the moment is read in a file of games and platforms and then pick one for you, all while playing out some simple bells and whistles to make it more interesting to watch in a video. I might add on a couple of things in the future like a game count, ability to filter by platform/genre/whatever, or listing functionality.

It works fine for the moment, but for some reason the HTML5 port doesn't want to show images so I haven't put up a link to check it out yet. When I work out what's up I'll make another post. At the moment though, it's useless for anyone else, unless they want a sneak peek at what's in my library. Maybe in the future I'll add the ability for people to upload their own libraries so they can use it themselves...

Monday, April 20, 2015

Fly You Fools!

Meanwhile, the left over stuff from Movember continues... Legendary modest hustler James donated for a picture of him and Gandalf fighting the Balrog. I resisted all my urges to have it be Balrog from Street Fighter instead, but at the same time I totally withheld passing it on until his birthday. Now, here it is, minus spelling mistakes and with a couple of minor erasures.

I've been feeling a lot more creative again as of recent, so lets see if I can start a steady stream of posts here again... It's not too late to turn this year's post count around.

Monday, January 5, 2015

Having a blast


It's a new year, so that deserves a new post. Last year was a mixed bag. Some things went really well (Ascii Bird and Shogun Assassin), while other things went pretty poorly (Lowest post count for a year ever, generally the entire second half of the year). If nothing else, with a bar so low it'll only make it easier to improve on this year.

The pics today aren't exactly new... I did both of these for donations during Movember last year for my friends gaming group BLAST gaming. He specifically wanted "a crappy pixel logo", "a rip off of a popular gaming site logo... like IGN or Gamespot" and "to incorporate some sanic". Tick, tick and tick.


Monday, October 20, 2014

Sunday, August 17, 2014

4hr Game Jam #1 - 4hr Pong


I had a spare four hours on the weekend so I thought I'd follow through with a plan I had last post. I decide to do a quick little jam to get better at making games in shorter time frames. I didn't want to embarrass myself straight up so I decided to start with something easy.

I figured I may as well start where video games start. I also realised that despite it being the general starting point for everyone learning to make games, I'd never actually made a Pong clone. That all changes now... Play it here.

I'm going to do a post-mortem for it as well but I don't think I need to go into detail as much as the longer jams. Plus this jam wasn't so much about the game as the process of making it. I'll just break it up into good and bad points:

Good:

- I actually managed to finish the coding for a base game of Pong in about 1.5 hours. The break down for the rest was kind of all over the place, but it doesn't really matter. In all, I managed to get more than I planned to do done in the 4 hours, so it's a good start.
- The new thing I learnt this game was how to use fonts properly. Where before I was just making sprites for all the labels, all the text here was done on the fly with strings. It's good but at the same time it's harder to set up composition. I'll need to learn to use these better if I want to do more string related stuff/localistion in the future. Right now, I'm happy to stick with sprites.

Bad:

- There's a weird bug where player 1 can sometimes send the ball out through the top wall. I didn't have enough time to fix it but it happens occasionally. I thought I had enough checks in there that this couldn't happen, so I have no idea why it does. I didn't have time to investigate any further.
- The new feature I thought I'd add (the smash attack thing) didn't really make it harder for the opponent to react. I ended up making it expand the paddle significantly to make it also like a last second save if necessary, but it's still not as good as it should be. It should either let the player pick a corner to aim for, or send the ball to the opposite side than the opponents paddle is on (in addition to the speed up).
- The sound effects are pretty bare bones. I really need to start building up a sound effect catalogue so I don't need to mess around in bfxr ever time I need something.
- I decided to livestream this jam. It went ok, but there were a lot of little kinks that I need to iron out if I'm going to do it again (My headset kept turning itself off, I need a better timer setup, it's hard to talk to yourself about what you're doing for 4 hours).

I'm pretty happy with how this little experiment went. I don't always have a weekend that will allow me to do it, but whenever I can I'll try and do one for the foreseeable future. I think also I'm just going to stick with the timeline of game creation for themes, but if anyone has any suggestions I'll take them on board (as long as it's not a DinoRiders RTS). Next time: Some kind of Space War clone.

Monday, August 4, 2014

Adelaide Game Jam #1 - Post Mortem


So once again I've kind of gone ahead and done a game jam without doing a blog post about it first (or a blog post about anything for that matter). I did live tweet it though, if that even counts.

This time it was for the Adelaide Game Jam being hosted by Jamalaide, which is a 48 (but more like 36) hour jam that's done mostly locally. Previously, I'd also done Ludum Dare with them and produced the abysmal Agents and Assassins, so my main goal was to just do a better job this time. There was also a lot better turnout this time around, almost ten times as many people and roughly 12 games to show for it. All in all it was a pretty fun, if not stressful, weekend.

The theme for this jam was "Reaction". After some internal debate I decided to go down the chemical reaction path. The idea was to make a Bubble Bobble style platform game in which you'd have to stop monsters with chemicals that you could also combine in a reaction to create stronger chemicals to stop bigger monsters. These monsters would then explode, killing other monsters nearby in a chain reaction. I also had really lofty plans of submitting this game for the local multiplayer jam that's currently underway at Gamejolt, so there was also plans to have a second player, and therefore a need to combine shots to get the final colour chemical to kill certain monsters. Suffice to say, a lot of these ideas didn't get implemented into the final game, even though a lot of the mechanics are still built around that initial goal.

If you'd like to check out the final product, it's online here (although, the sound may be a little loud so be careful).

The Good

I guess the best part about What Has Science Even Done For Us Lately? is how much I was able to do in that tiny time-frame. I was a lot more prepared compared to Ludum Dare, so I had a better idea of just how long I had to spend on certain things. The animations are crappy, but they're still there for all of the seven monsters and one player character and with the exception one aspect, most of the mechanics work almost as intended. Content wise, I'd like to think there is more here than the other games in the jam.

Further more, there was still plenty of scope for more levels. I kind of feel I only got out roughly a tutorial, but I would've needed a few more hours there really. The levels I did complete seemed decent enough though. Watching people play seemed like they were a little harder than I had anticipated while making them (even now I can breeze through each screen in a couple of seconds with no deaths), so I dunno, maybe I'm just too good at games. One positive out of the levels that I did get through was the sense of powerless > powerful. Navigating the level without anything to deal with monsters proved challenging, but after picking up the chemical players can then go back through the hard bits destroying all the monsters that previously gave them trouble. That seemed to get the best reaction out of players.

I had also realized that all my previous games featured male main characters (except for Ascii Birds, which is genderless I guess), so I wanted to make a determined effort to make the main character female. Mission accomplished I guess, even though there's not really any characterization about her and her game isn't very good. Luckily there will be more games in the future to improve on.

The Bad

A game made in 48 hours is only rarely going to be amazing, so I don't want to be as harsh on myself as I was with Agents and Assassins. The truth is that I learnt a lot from that experience, and I've learnt a little more from this one. As long as I keep learning more, that's whats really important.

So firstly: While last time I learnt that I really need to drop scopes as much as possible to get stuff done in the time limit, I only partly followed that this time. Realistically, there is a whole lot more I could've cut down here that I kind of ignored because despite the fact it was a jam, I really wanted to make something look like it was a complete thing. That's fine for longer jams, but it's kind of not what these short term things are about. I need to learn that it's OK to not try and be a perfectionist when it comes to these kinds of jams and leave stuff looking abstract if it means more time to make it feel more fun.

Secondly: The most practical issue with the game is the collision detection. Much like last game jam, I got stuck early on trying to code something a lot more complicated than it needed to be. This time I only lost about 3 hours to it compared to the most of a day I lost previously. Despite making two games so far that are kind of like platformers, I hadn't actually made a proper platformer before. Rather than look at how that should actually be done in GameMaker, I just went ahead using whatever I already knew to approximate something that worked. It ended up causing even more problems, so in the end I super simplified it to something that kind of worked enough.

The real problem came the following day when I started adding all the enemies in. Turning on precise collision detection so that you could better jump/dodge enemies meant that you'd interact with the platforms in weird and inconsistent ways. I was already out of time, So I had to decide between a game that felt off or a game that was nearly unplayable at some points. If I had an extra couple of hours, I might have been able to fix it entirely, but at the time I was clueless as to what I could do about it.

I think next time, if I'm doing something that's unlike something I've done before, I might spend 20-30 mins reading an online tutorial before jumping straight into it.

Lastly: The game is pretty boring. There's not really a lot to it, and there's nothing really amazing that happens during it. The levels feel really straight forward and aside from the platforming there's not a lot to the puzzle aspect. Sure, it's technically a game, but it plays it really safe and doesn't do anything that every other platformer before it has done, and that's what really makes it worse. Jam games should always be breaking a boundary of some kind. They should be about stripping back the conventions surrounding games and get the player directly to the new and interesting part. Previously I'd identified that you need to engage the player within 30 seconds of the game starting. Having directly watch people playing my game this time I feel its more like you need to provide them with a "Wow" moment with in half of that. A few minutes into this one and they're still in a tutorial essentially.

The Ugly

Live tweeting this has made breaking this down a little easier:
30 mins - Concept and Design Document
4.5 hrs - Platforming (Running, Jumping, Landing, etc)
30 mins - Shooting
1.5 hours - Colour System (Pick ups, UI, Globs, etc)
3 hours - First tier enemies (Collisions and AI)
1 hour - Win/Loss states/Level setup
4 hours - Player, Enemy, Pickups and Level pixel art
2 hours - Player animation
3.5 hours - Enemy animation
1 hour - UI art
1.5 hours - Background pixel art
30 mins - Glob pixel art
1 hour - Sound Effects
2 hours - Level creation
1 hour - Code tweaks
1.5 hours - Eating
1 hour - Travelling
1 hour - Breaks
5 hours - Sleeping

Roughly:
2.5 hours - Design
11 hours - Code
12.5 hours - Art
1 hour - Sound
8.5 - Misc

Considering there's a lot of overlap between design and coding/arting, that's a pretty balanced breakdown. However, as I was getting at in the previous section, I think for a short time frame jam like this I need to spend much more time on design/code than art. I'm also wondering if maybe I should be trying to have a planning stage at the start now that I'm getting a little better at gauging development time? It seems like it could cost more time than its worth but it might be a good practice to get into.

A Fistful of Dollars

The things I've learnt this time are more applicable to jam games, but they're important to note nonetheless:
- Strip the scope down as much as possible. I learnt this last time and didn't follow through with it. I was trying to make a game that:
       - Could be played single or multiplayer
       - Had seven different enemy types
       - Relied on having multiple levels
       - Needed a tutorial that could be set across multiple levels
That's just way too many things for 48 hours. At the start I should've decided either single or multiplayer and then specifically built the mechanics around that. Rather than have all the enemies be vastly different, I could've just had one sprite that got recoloured and moved differently. As far as the platforming aspect went, it really wouldn't have deviated from the finished game much.
- Make sure there's some kind of "Wow" moment that happens early and can keep happening. It doesn't have to be something big and visually impressive. It can be something funny, or something dumb but surprising, as long as it gets a positive reaction from the player. The best games I played at this jam where the games where just dumb stuff happened all the time.
- Worry less about making something perfect. A short but fun experience is better than a long, thought-provoking one for these kind of jams. It might also be better to try and have something you can technically finish in half/two-thirds the amount of time, and then spend the rest of the time polishing the fun aspect as much as possible.

For a Few Dollars More

As much as I want to make my own Bubble Bobble, I don't think I'll be continuing from this game. I do need to know how to do basic genres in GameMaker though, so sometime soon I'm going to have to work on that.

The other thing is, I'm a competitive asshole. I really want to win these jams, but I need to get better at doing things super quick. However, I can't keep doing jam games because I also need to keep working on something I can sell as well. After watching the Art of Screenshake vid, I had searched for other videos regarding rapid development in GameMaker. I came across Cactus' (who made Hotline Miami) talk on 4 hour game development. It wasn't really a helpful talk, but the concept is interesting.

On the tram ride of shame home, I was thinking maybe I could do a little personal 4 hour jam every weekend/second weekend. I was trying to think of how it would be fair to theme it, and had thought maybe
I could just get a random page from wikipedia and use that as the theme... But then I thought that wont really expose me to more of Gamemaker, so maybe I should pick a random function/aspect and make a game featuring that instead. What if its a better idea to randomly pick a game genre and make a tiny version of that though?