One month ago, I was struck with inspiration and needed money to make an idea I had a reality, so I embarked on my first crowdfunding campaign. Today, it reached goal. I’m about to get busy working on turning all that money into a successfully completed project, but I think right now is a good time to reflect on the things I learned along the way so far. Continue reading
News broke today that YoYoGames has been bought by PlayTech.
I don’t know what this will mean for the future of GameMaker: Studio, but often when a company sells a property to another party, or is acquired, there’s a distinct change in direction, and this usually makes people who’ve been happy with the current direction unhappy. As someone who’s been happy with the current direction that YYG has been steering GM:S for the last four years, I’m therefore concerned. What will the future bring? I have no idea. I just hope that GameMaker remains in good hands.
[I got into playing Words With Friends on Facebook and my mobile phone back in 2012, and started writing a lengthy article on designing an AI to play scrabble-like games in a manner that convincingly simulates a learning human. This weekend, several years later, I’m a spectator at a local Scrabble tournament, and decided to finally finish up my thoughts.]
Designing AI for Scrabble-like games
I’ve been playing the Zynga game Words with Friends with various people for a few weeks, and have gotten progressively better at the game. After looking back and reflecting on the evolution of my play, and the development of my strategy, I became inspired by the idea of a convincingly human-like AI that embodied the various stages of my development as a player.
While actually programming it is a little more effort than I want to put into it, even just thinking about the design for such an AI is interesting.
This weekend was the weekend of Global Game Jam 2015. All over the planet, more than 10,000 participants got to try their hand at making a game in 48 hours, on the theme “What do we do now?”
I thought about the theme, and tried to imagine a situation that would lead someone to say, “What do we do now?” and the first think that came to mind was being stranded. Quickly, I envisioned a space ship that encounters a systems failure while in transit, and becomes disabled in deep space, with the crew left to figure out what to do to get things back working again. Continue reading
Some time ago, Youtube channel Numberphile posted a video on a tartan based on the fibonacci sequence.
Inspired by this, I’ve created a fibonacci-based tartan of my own:
Isn’t it beautiful?
My design is based on the first seven numbers in the Fibonacci sequence: 1, 1, 2, 3, 5, 8, 13. It uses one thread of yellow, then one thread of red, two threads of dark green, three threads of navy blue, five threads of red, eight threads of dark green, and thirteen threads of navy blue. To scale up the size of the sett, I will be multiplying these numbers by seven. I call the tartan, Fibonacci-7.
I just started a crowdfunding campaign to register the tartan with the Scottish Registrar of Tartans, and have a kilt made with it. It will cost an estimated $2250 to have it produced. Once registered, the tartan will become available to textile manufacturers to produce cloth and garments in this tartan.
If you are interested in math or just love a beautiful tartan, please consider donating to the cause, and spread the word. If every visitor to this site donated just $1, we’d have funding within less than one month. So if you’re a regular reader of this site and have found my articles on GameMaker useful, please show your appreciation by donating what you can. Thank you.
On 1/23/2015, Global Game Jam weekend will be kicking off. I will be working at the Cleveland Game Developers site at the LaunchHouse in Shaker, OH.
This Saturday, 1/17, I will be leading a Pre-Jam Warmup session to give our participants opportunity to limber up their creative and technical skills. It’s a good idea, and fun. The goal is to build confidence and ensure readiness for the big Jam coming up the next week.
If you want to do your own version of this wherever you are, here’s what we’ll be doing for our warmup sprints:
00: SYSTEMS CHECK — ALL SYSTEMS GO!
- Launch your tools and make sure they still work.
- Check for updates, download and install any (if you wish).
- Test to your satisfaction that your stuff is working (write a “hello world” and prove it’s all working properly.)
- Create/Verify you can log into your GGJ account, any other accounts you may wish to use during GGJ15 (Trello, GitHub, DropBox, itch.io, newgrounds, kongregate, etc.) If you’re new to any of these, you’ll want to take time during the week leading up to the Jam to familiarize yourself with them.
- Create a checklist of things to bring to the Jam, and get everything together ahead of time
- Verify you can connect to wifi at your jam site
- Create/verify you can log into any web accounts you plan to use during the Jam
- globalgamejam.org – be sure to join to your local site
- Make sure your team members can access any shared resources or services too!
- Power cables, extension cords, surge bars
- gamepad controller
- 2nd monitor
- image scanner
- musical devices
- Human comfort
- Pillow/sleeping bag/blanket
We’ll run this one up to an hour, but as soon as everyone’s done, we’ll proceed to the next sprint. If you’re downloading something huge and it’ll take longer than an hour, try to complete this before 1/23/15.
01: Development exercise: Asteroids
Asteroids is a simple action game. If you’ve never heard of Asteroids, google it and watch a youtube video or two, and you’ll get the idea in a few seconds. You’ll understand it faster than I can explain it in words.
Your job is to see how much of it you can build in an hour. You can make your own interpretation of the game, or try to slavishly re-create the original in every detail, it’s up to you. Work independently or as a team (if you have a team). We’re all in this together, so if you run into trouble, ask the room and someone will chime in with advice.
If you finish early, polish for the remainder of the hour, innovate a new feature, or whatever.
At the end of the hour, we’ll take a little time to show off our work and talk about what went well/what could have gone better.
02: Development exercise: Simple 2D platform engine
Take 1 hr to Work up a simple, 2D platform engine from scratch.
You don’t have to spend any time on animating sprites unless that’s something you *want* to focus on as a graphics contributor; square and rectangle programmer art representing the hitbox of your game objects are perfectly fine.
You decide how you want it to work in detail, and implement it however you like. The goal shouldn’t be to try to complete all of these features in an hour, but to choose a few of them and make a solid, well-crafted engine out of them — quickly.
You can design your own requirements, or use the following checklist of features and pick which ones you wish to support in your engine:
- solid platform
- jump-through platform
- destructible platform
- movable platform (player can pick up or push)
- wall walking
- ceiling walking
- double jump
- wall jump
- player health/death
- static enemy (spikes)
- moving enemy
- moving platforms : any or all of horizontal, vertical, swinging, circle
- pickup item (coin, power-up, etc.)
- door (how the door works is completely up to you.)
After an hour of development, we’ll spend an hour on demo and code review so we can learn from each other’s work. The code review is not meant to be exhaustive, but to show off highlights in technique if you found a cool way to do something, or to ask for ideas for how to do something better that you struggled with.
03 – Free for all
If we still have energy and want to keep going, we can come up with more ideas for sprints and ad lib it as we go. Maybe a graphics-oriented sprint, or sound effects engineering session, or a concept/design session where you have to brainstorm a pitch to a randomly chosen theme. We can quickly discuss and vote on it as a group.
XX – Wrap-up:
By now, even those of use who have never met or attended the meetup before will know each other a little bit, and will have worked together. Now’s a good time to talk to each other and find out if you have the right mix of talent and interest to maybe team up next week. This can go on as long as it needs to.
Theme for LD31 was Entire Game on One Screen. I’ll be posting capsule reviews of the games I especially liked, adding more as I find them.
Although it doesn’t fit the theme too well, this is a fantastically well done, unique hybrid of JRPG and video pinball, which pays homage to the original Final Fantasy on NES, and various other NES homages, too.
Tetris-y digital jigsaw puzzle game played against the clock, with a sense of humor. Really addictive.
Another strong showing by Managore, aka Daniel Linssen. Birdsong is the most interesting take on the theme that I’ve seen so far, instead of taking the theme as a constraint, he has crammed an entire metroidvania style side scroller into one screen, and made it playable via a fisheye lens shader effect that zooms in on the part of the game where you are playing. It’s a unique solution that turns the constraint inside out, and makes the game more challenging, both in terms of coping with the visual distortion as things slightly out of view come in, and in terms of providing a tantalizing glimpse of the entire game to the player, from the beginning, and teasing them about what’s coming up, puzzling them as to how to get there. I’m super impressed with this one.
A humorous snowball fight game between Santa and his renegade reindeer. The gameplay is simple and straightforward and very fun. Light on challenge, but delightfully lighthearted to play.
An asymmetric 2-player vs. game, the player with the knife has to complete a mission that the player with the revolver has to stop. What makes it unique is that the Knife player is able to blend in with a group of civilians, and if the Cowboy shoots the wrong person, he loses automatically. It’s similar in that regard to my much less polished LD31 entry, Color is Everything.