I've signed up for #EXTRALIFE this year to raise money for sick and injured kids at my local children's hospital. I need YOUR help to reach my fundraising goal #ForTheKids!
As Iâve been doing for the past 6 years, Iâm raising money for Sick Kids Toronto!
My goal this year is $1,095US, as I discovered that if I hit this goal this year, I will have raised $5,000 over the past 7 years! I hit the $4,000 mark in August during a Mini-Challenge, and I think we can get to $5,000 too!
I will be streaming (mostly) all day on Saturday November 7th and Sunday November 8th, and intending to have a few friends join in and play some multiplayer games too! (Of course this means Among Us!)
The link to donate and to watch my stream is in the link above!
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
â Live Streamingâ Interactive Chatâ Private Showsâ HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
WOOHOO! My #ExtraLife sticker arrived! I knew exactly where to put it.
Iâm still accepting donations, Iâm one-third of the way to my goal of $1,000!
bit.ly/ExtraLifeTamakun
Race to Sparklepop lets you and your friends race balloons past sharp, pointy objects to get to the Finish Line first!
My latest game, Race to Sparklepop is now available (and has been available for a while) on the Google Play Store!
I completely forgot about posting this here, and I had intended to post this prior to TOJam13, so obviously I kinda forgot about it -- better late than never! I felt that I should talk about this one as this game started as part of TOJam 12 last year, and my very first Game Jam. Â The prompt was "Prepare for Disappointment" and I designed a difficult racing game with balloons. Â Over three days I created a three-player, crowd-around-the-laptop game, but wanted to expand upon it a bit.
Since I had Game Maker Studio and Android export abilities, I thought about developing it for mobile phones. Â Looking at Spaceteam as an inspiration, I set about to recreating the race, but allowing everyone access to their own screen, complete with a map and "ghost balloons" (like Mario Kart) so you could see where your friends were!
The music was made by Alex Maletich. Â He was the musician for the original TOJam version, and he was also the inspiration on making this release, as he wanted to make a better version of his music and created three original tracks for the Android version!
What I'm incredibly proud of is the networking code's auto-connecting function. Game Maker offers mobile networking options, but typically you need to know the Server's IP address. Â Now, I didn't want to make the user input IP addresses or anything like that -- the less complications the better! Â So I set about trying to find a solution.
Here's what my networking code does:
- When you start a Multiplayer game, it opens a Listener and starts looking for a Server Signal for 3 seconds.
- If it finds a Server Signal, it can get the IP address from the signal and sets up the game as a Client to that Server. Â It then shuts down the Listener.
- If it doesn't find a Server Signal in 3 seconds, it assumes that there are no Servers around, and creates one itself.
- The Server sends out "Server Signals" every half-second for any other players who wish to connect, until the player running the Server starts the game.
If there was anything that I would change about this, I probably would have added the ability to add more than 4 players at once (because I wanted to see a game with 20 balloons flying about the screen) -- but I deliberately put a restriction on it because I would likely burn out a phone or two if a lot of people were playing at once!
I have been hard at work at putting together Apple Basket and hopefully plan to have a demo out in the near future to get some feedback. The real tricky thing is getting that visual look right!
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
â Live Streamingâ Interactive Chatâ Private Showsâ HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
My latest Game Jam game, Chased By Yeti, is now available to play in your browser!
This game is a result of the 3-day game jam known as TOJam, where this yearâs theme is âWinning is for Losersâ. Thanks to @ravenworks, his suggestion of mountain climbers got stuck in my head and wouldnât let go :)
It is a game where you can have up to four players work together, but if theyâre feeling up to it, one person can control all four climbers simultaneously. (I seem to like to develop unusual control schemes.)
There are three objectives to this game: Make it to the top of the mountain, Do not let the tethers holding everyone together break, and oh yeah, Avoid the Yeti!
On the first day, I started setting up a lot of the system, but left a lot of the difficult stuff for later. I had drawn the mountain climbers and the Yeti, and gave the mountain climbers some basic controls (just up and down), but gave a little randomness to their climbing speeds so people wouldnât be able to just hit all the keys in rhythm. You might notice I also made the slower characters look a little heavier.
At this point in the development, I didnât have the collision detection set up, so the game was mostly broken, but at least the primary controls and concepts were set up, but the Goal Line doesnât work and the Yeti just crawl over you, and float up and off the screen.
You can play the Day 1 release here!
On Day 2, I started in on working on parts to really get the feeling down. One of the main mechanics is the âtetherâ, which is just drawing a curve connecting the climbers together. However, if the climbers get too far ahead or too far behind, the rope gets taut and warns the players that they need to get back in line. However, I still didnât add in the failure state at this point, so the line just stops being drawn if they overextend it, so the climbers can just race ahead.Â
The other issue I had with the script for the curve being drawn was that it used a part of Game Maker that I had never used before - vertices - and it was regulated to a 1-pixel-thick line. I wanted something bigger, so I went into the curve code, and actually rewrote it to serve the purpose that I wanted. (I probably should add that code to the repository to help others...)
I got a couple of neat unintended results, though!
Third try was the charm. :)
I added a particle system to make snow flakes, but the built-in âsnowâ effect felt very light and fluffy - not exactly the effect I was going for on top of a mountain, so I looked into my Vials game and grabbed the Particle system from that, adjusting it enough to get stronger and more intense as the climbers got further up the mountain.
I added the Yeti collision at this point, so I started getting into working out how much of a target I wanted to make my little climbers. The first time I set it, their hitbox was just perfect, and it gives you just enough of a feeling that you just narrowly missed being caught!
I also added Yeti that would jump in from the sides, and because you couldnât see where they were going to jump towards, I added a trajectory path, using that same code for the tethers:
Youâll notice though, that the line keeps changing based the Yetiâs location. That one was a simple fix: the start point stays at the Yetiâs originating point rather than following him along. This also helped in keeping the Yeti on the actual path. (when I slowed it down, they kinda looked like Superman flying across the screen.)
The sound was also started to be added at this point. The BBC released a large amount of sound effects for free (with a non-commercial usage), so I used a collection of howling wind, screaming humans, and growling animals. Just like last yearâs TOJam, I worked again with Alex Maletich who provided an incredible tribal beat to the level and gave it some intense sensation.
I came across an unusual situation when it came to uploading the game onto my website -- as a precaution to prevent auto-loading ads with sound, Chrome and most modern browsers do not allow sound to be played unless you interact with the page first. Â As such, simply placing the game on my webpage leaves the game silent, despite the music and sound effects being added at this point in development.
You can play the Day 2 release here!
With the third and final day, I felt a little bit of a crunch but it wasnât too intense. Besides, the point of a Game Jam is not to be stressed! I started in with completing what was necessary to make a game a proper game -- the goal and failure states. I had finished the Goal state on Day 2, so I worked on the two failure states (Tether breaking, or being caught by the Yeti).
At some point I feel like I was building âspaghetti codeâ as the timeline was nearing the end, but I think sometimes Iâm trying too hard to optimize the code -- the most processor-intensive part of the game is the particle system, and even then, the most the CPU hits is 10% total. But much like those little âsecretsâ that game programmers admit to, when the tether breaks, I spawn an invisible Yeti on top of the climbers so they all âfallâ. (Also, you might notice that when the tether breaks, not everyone falls, the one who strayed from the team stays clinging to the wall. That was my intention in keeping with the theme of âWinning is for Losersâ.)
I still feel a little like a Rookie, hence the tagline of Silver Ball Cafe Games being âOh, it was a typo, coolâ. Â Throughout production, I had some issues remembering which variable I needed to adjust and so in some cases the difference between an image_index and a sprite_index would result in disembodied legs or torsos chasing after you instead of Yeti:
When I look at my notes and consider what I wanted to design compared to what actually was created, Iâm actually not that far off from my intended design! The only thing I didnât implement was that the climbers could get pulled off-course if the tether got too tight and would cause their trajectory to curve, but I felt it was outside of the scope for the three days, since it wouldâve required a lot more playtesting. Maybe next year Iâll see about requesting a graphic artist so that I can have a cohesive look, as well.
The final version can be played on itch.io here!
This was the 13th year for the TOJam Game Jam and they had over 600 people making games. I highly recommend checking out all the games over on their itch.io page, and thereâs currently over 100 different games to try out!
Read reviews, compare customer ratings, see screenshots, and learn more about Space Shooty 2016. Download Space Shooty 2016 and enjoy it on your Apple TV.
This is the final week that Space Shooty 2016 will be up on the iOS Store. If you want to keep this game on your iPhone or iPad, youâll need to download it before January 30th, 2017.
Why is it disappearing? Itâs simple. I wanted to learn the entire process from start to finish of making a game, and while making Space Shooty 2016, I got the opportunity to port to iOS and I also got an Apple Developer License. However, the Apple Developer License is on a yearly renewal, and Iâve decided that Iâve learned what I needed from the process, and so Iâm letting it lapse.
The whole of learning game development and even the iOS infrastructure was confusing, but it was a learning process! Iâm glad that I decided to go forward and see just what goes into the development of a mobile game.
Android players do not need to worry -- my Developer Account for the Google Play Store is still running, so itâll stay up there for as long as I can support it!
More information on my latest work (Race to Sparklepop) and the following game (Apple Basket) will be coming soon :)
there are some great project ideas here :D How far along is Munchie Mix?
Munchie Mix doesn't have much to it, but being that it's a curiosity piece I could theoretically do a little more work on it and hand it out for ad-hoc purposes. Â I liked playing with gravity on that one :)
So I wanted to show you all some of the games that I started working on while I was also developing Space Shooty 2016. Â As with all game creation, there's a gathering of ideas, and sometimes you have to just stop working on the main project for a little while and see what sparks the imagination!
Some of these games might be further developed, some of them have been stalled for quite some time. Â But I've had a long run of games just percolating in my brain and each one has its challenges. Â Sometimes it's a solution that's so simple that the function is already hard-coded into the program (as I discovered so frequently when making Space Shooty 2016). Â Sometimes, though, it just requires a little digging and Googling to find the solution - or at least something relatively similar that you can figure out the rest.
When I first got the Game Maker software, one of the first games I actually wanted to emulate was a game similar to Manic Miner. Â I used to play a game on the Commodore 64 called The Dark Tower, and while it shares the same title as a Steven King novel, there is no relation. Â In that game, your character is turned into an egg-like creature and is forced to collect gems in a number of stages. Â I have never completed more than 10 of these stages as I was never good with the game but I liked the music.
I decided to try my hand at designing something in that vein. Â I simply called the game "64Walker" and tried my hand at making a Manic Miner-type game. Â I got as far as building a character, controlling him, and creating some unique monsters that simply walked back and forth. Â I looked to @davidxn's creatures in Crystal Towers 2 at this time to see how they managed to have so much variety over the varying terrain and yet never walked off the edges.
I built a Crab Race game that I created over the course of a weekend. Â Based on an actual Crab Race and created based on the memories of creating a similar program back in the days of the Commodore 64 (and yes, I'm dating myself!) It technically does not rely on any user input, it is a decision maker or friendship-breaker as I define it. Â I want to work on this one and offer a one-time purchase so that you can add more crabs and change the names, so that you can go from a 2-crab yes/no decision, all the way up to a 12-crab decision with custom names of who should be picking up the dinner bill.
Firefighter was another design that I just wanted to see how much I could build into a small codeset. Â Fires randomly explode on the screen and you tap your finger to spray some water on them. Â You can also spray water just onto the ground and puddles would form. Â It was a simple collision engine that looked at every object and determined if water touched fire, and if so, both decreased in size. Â But, like real fires, they could spread and multiply if they werenât dealt with quickly...
Munchie Mix was a experimental project. Â I wanted it to be a Curiosity piece, where it would not have any instructions but let people discover things along the way. Â I built this one in a night when my wife was munching on ...well, Munchies so that's where the sprites (munchies and the bowl) and concept came from. Â I don't want to say too much to spoil the discovery of the program :)
I also tried my hand at a little Procedural Generation. Â However it's not "perfect" and the code is rather lengthy (and looking at it now, it doesnât really work at ALL), but what I have is that each block looks to the other blocks immediately to the north/south/east/west and determines if a path is possible. Â If I wanted to I could probably remake this one fairly cleanly, but I need a reason to build something procedurally-generated.
Morning Ritual was a game that came from me doing a "Ludum Dare" on a weekend when I was just getting settled into Game Maker. Â I stayed at home and focused on making a game around the concept "Ritual", and I went with "making coffee" -- I never entirely finished it but I intended the game to get faster and faster the more cups you played, and it would get more and more jittery as you imbibed the caffeine. Â Yes, that was supposed to be a coffee maker. Â XD
Robot Rebel was another project I'd like to revisit in the future. Â I wanted to create something for my nephews and niece who are enraptured by Space Shooty 2016. Â I wanted to make a game where you had to control a robot, LOGO-style ("Forward, Forward, Turn Right, Forward, Pick Up Ball") and therefore had to set up a Programming scheme. Â I realize that programming a Programming Language is HARD. Â I also make it more complex by introducing a Robot that would willingly ignore steps and you had to work around his self-destructive tendencies!
Shooty Idle is a followup in the Space Shooty universe where the Shooty Ship goes and mines asteroids. Â You can use the metals refined from the asteroids to build new components to your home base, which would include additional storage, additional fuel tanks, and even additional spaceships to help you mine more asteroids. Â As you can probably tell from the name, it's an "Idle Clicker". Â I've run into two roadblocks with this one: How do you test a game like this which is dependant on waiting, and furthermore, how do you handle numbers higher than the 64-bit integer that is restrictive of modern-day computers? Â These are questions that I continue to work on during my downtime.
(I also just found a Game Maker extension built for solving the 64-bit question.)
And finally, Wander About came about from an idea that @ravenworks had. Â It's an exploration game with no end goal but with a very intricate and detailed environment. Â Your character could walk outside into the backyard and just by kneeling, might find a worm, or a trail of ants, or even a dung beetle. Â Or they could climb a tree and find a bird's nest. Â Or maybe they'd look at the fence and notice that they could peel the old paint. Â Stuff like that. Â It's hard to build a game that involves every possible possibility, however, but it would be a nice, relaxing exercise to just add more and more things to do based on user suggestions.
My current projects, Race to Sparklepop and Project Apple Basket, are still being made/reworked. Â Race to Sparklepop's current challenge is to get multiple mobile phones to see each other (I'm learning the netcode function of Game Maker), and Apple Basket... well, I have a lot of little things going on with that one, and I don't want to speak about it too much until I have something more concrete. Â But here's a cute little critter I recently made for the game! Â Can you guess his purpose?
So I, in a brilliant move to save on coding, I wanted each Client to not have to be querying over and over which Player it is, nor did I want the Server to have to parse any more information than absolutely necessary as it needs to turn around and return the data back to the Clients quickly. Â I programmed that each Client is assigned a Player Number (i.e. Red is Player 1, Green is Player 2, etc).
I assigned a variable that is relative to that Player Number which is Player Number+2, so that when the Playerâs Client sends a message back to the Server, it reports, âPacket coming from #3, Red Balloonâs position is xâ, âPacket coming from #4, Green Balloonâs position is xâ, and so each Client, regardless of what one it is, sends information to the Server and is parsed correctly.
In my script, I have the âGhostsâ visible except for your own player, (you donât need to see your own ghost), so I told the script to ignore drawing the ghost if it matches your Player Number.
Except I didnât use the Player Number, I used that second variable (Player Number+2) to determine which âghostâ should not be visible.  So as you can see in the example above, Player 1â˛s window is missing Player 3.  Player 2â˛s window is missing Player 4.  Player 3 and 4 are technically missing 5 and 6 respectively, but since I only built a 4-player game, they donât have any errors.
Looking back at this, I could have just simply used Player Number to send the packets and just moved the packets that reference 1 and 2 (which are initialization scripts), saving another variable in the process - but at the same time, I programmed the Clientâs Player Number as a Global variable which apparently takes longer to access than a Local variable, but I canât imagine that a single Global variable will cause that many issues.
Iâm seriously considering this as the company tagline. ;)
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
â Live Streamingâ Interactive Chatâ Private Showsâ HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
You might notice that on those four windows, A couple of balloons appear to be missing.
I am unable to figure out why.
A few weeks ago, I attempted TOJam 12 and built Race to Sparklepop, a âBalloon Racerâ, which was playable using a split-screen mode on one computer.  While creating the game, the thought of making the game mobile-friendly was conceived, and for the past couple of weeks Iâve been looking into networking.
As I am still fairly new to the whole business of Game Development, I have been using Game Maker, which has everything that a person needs to build their own game. Â In most cases, if I need to perform a specific function, it typically is already built into the software. Â (It even has a âlengthdirâ option to determine the x/y position of another point at an angle, but I digress.)
I am attempting to challenge myself in learning every new option that comes my way. Â "Sparklepopâ was my first multiplayer game and during TOJam, I learned how to do Split-Screen, which was my initial challenge. Â Now, itâs networking.
What you see above is four instances of the same game running on my computer. Â While Iâm testing things out, I have to compile the game to be able to launch it four times easily, so at this point you are looking at compile v1.0.0.70.
Not only am I having to learn networking, but Iâm learning a bit about buffers as well. Â The network system relies on a Buffer that I feed the data into and then relay to the Server. Â The Server then sends out data in the same way - load the Buffer and then send it.
Iâve come to quite a few realizations while making network connections.  One of the first ones was that while you can fill a buffer, it does nothing if you donât send the buffer.  That last line, network_send_packet, was not there for a very long time.  I also forgot that I need to send the data to all the clients.  So I initially also sent the data only to itself.
Game Maker Studio actually really simplifies things, which now that Iâve wrapped my head around it, is a godsend. Â You see that first buffer_write, marked with a buffer_u8Â and 7? Â This is a marker so that when the Client receives the buffer, it knows what to do with it. Â Up until this point in the game, markers 1 through 6 were used to set up the game -- randomized seed, what player # they were assigned, how many players there are in total, etc
All in all, itâs fairly straightforward -- your player, based on your number, is set to a colour.  All of the Players/Clients send their current x/y coordinates to the Server with a matching marker number, which then the Server returns all the coordinates to all the Players/Clients, which update the âghostâ locations.  Once one player crosses the Finish line, it sends a message to the Server which will then send out a âWinnerâ message to everyone.  (I decided not to deal with collisions as I did not want to get into that over network play.)
However, Iâve come across many issues on my first foray into networking.
1 - Technically, Sparklepop was never meant to be a networked game. Â As such, Iâve been shoehorning in the network function into a fully-developed game. Â As many more assets and variables are needed, this is making the code look very sloppy. Â I will likely need to start with the Networking system, ensure that it is robust and functional, and then add the game around it.
2 - Knowing exactly what the Server and Clients are doing is vital to knowing how far your networking is succeeding. Â I have not added any debug code in the game so I just test, then restart and test again. Â Game Maker Studio has debug modes that I really should be using, rather than overlaying numbers atop of my gameplay. Â The most frustrating bug I have been trying to hunt down involves one playerâs ghost not updating on one playthrough, but then working fine the next playthrough. Â As this is all on my local machine, it is frustrating to hunt down an inconsistent network issue, even when the system says they are all connected.
3 - I have discovered that the randomized seed that I am providing to the clients is instantly null and void, making all four playerâs rooms different.  My intention was to have the same room for all four players so that they do not experience balancing issues, and you can see that the even the toy blocks in the first picture are not matching up.  I believe I would need to generate the room immediately after receiving the seed, rather than having the room already created.
4 - The reason initially I brought this up -- despite all my work, and looking through my own code for this entire weekend, The Blue Balloon will never show up on Player 1â˛s screen, and the Yellow Balloon will never appear on Player 2â˛s.  However, as the spacing is correct, I know with certainty that the system acknowledges that there are 4 players.
Iâll be taking a little break away from working on the Mobile edition of Sparklepop just to clear my head and start fresh. Â I have a feeling that sitting down with a blank piece of paper and working out a flowchart will actually be a much easier way to make sure that the system is stable.
Today, I have been working a little bit more on âRace to Sparklepopâ in a different manner.  As I managed to create a game in three days, Iâm also trying to see if I can adapt this game for mobile in a short time frame.  Itâs definitely not a 3-day race here, but I have been working on network code for about three more days beyond the scope of TOJam, off-and-on.
Today, I went downtown to a cafe, sat in front of my laptop, and for roughly three hours I spent time learning how netcode works in Game Maker. Itâs a tricky system when you donât understand how Buffers even work.
This evening, I returned back to the laptop and spent another three hours looking at code and examples. Â One of the real troubles of having to figure out netcode is how to get mobile phones to locate each other as they will have different IP addresses. Â However, before I get to that point, I wanted to just figure out how it works on one computer with multiple running instances. Â Once I have that comfortably correct, the next step will be adding the code to find other mobile devices, and that should be... easy? Â Maybe?
I have programmed âHostâ and âJoinâ buttons.  This is fairly straightforward when thinking about multiplayer experiences -- one player Hosts the game and the others all Join to that Host.  On both sides, though, the code looks different.  The Server does not state an IP address, but the Client needs to know where the Server is located (and as of right now, is locked to one IP - my laptop - and even then, itâs just the default âselfâ: 127.0.0.1.  Iâll need to figure out how to determine that dynamically.)  Both sides have Buffers, which is their set of information that feeds back and forth amongst each other.  All Iâll be using the Buffers for, aside from initialization variables (Random Seed, Player #, Starting Time), is for a simple Map so that each player is aware of where the other players are in the race.  The Clients will feed their x/y positions to the Server who will just report all the locations to all the Clients.  Iâm not dealing with collision issues as that would likely bring up a number of unusual situations that Iâm not ready to bug-hunt just yet (Sparklepop didnât have Balloon collisions, anyway).
What I really wanted to do was simplify the process for the end-user so that all they have to do is click âmultiplayerâ and the system would automatically know if there was a server already running and connect to it, and otherwise set up a server for the others to connect to.  In theory, I would have the system automatically searching in the background before even getting to the Multiplayer page.  However, this is beyond my scope of knowledge for now and Iâll revisit it in the future when I feel comfortable with networking and have a firmer grasp on how it might work.
Furthermore, I was having issues trying to figure out why, when a Client joins the Server, that it doesnât get the same Random Seed that I feed into the Serverâs Buffer. Â (As my game has a lot of randomization, making a room unique every time, I wanted to ensure that the playing field is fair.) What I ultimately realized was that while I was feeding the information into the Serverâs Buffer, I wasnât sending the Buffer out to the other Clients! Â So when they connected, the Server connects to them, loads the Random Seed... and then did nothing. Â After 20 different iterations and compilations, I realized the missing part (network_send_packet) and suddenly, everything fell into place!
And then, after getting my âAh-Ha!â moment, I then went on and three more compiles later, had the system successfully reporting which Player they are (which will determine their balloon colour).
Next up on the docket is to figure out how to use âtiltâ controls to move the balloons.  I already have implemented a âtapâ function which essentially maps the four directional keys to different parts of the screen, but I want to continue to challenge myself and make a tilt based on the starting position of the phone (so youâre not restricted to holding the phone exactly vertical, for example -- not a natural holding pose).
Special Thanks go to âNoobsWeStandâ (on the Game Maker Forums) for offering their code for me to analyze (it looks so clean compared to mine!) and âFatalSleepâ (also on the Forums) for their Introduction to Networking Tutorial.
Avoid sharp objects in this 3-Player Balloon Race!
This past weekend, I spent my time making a brand new game as part of TOJam 12!
The theme for this yearâs Game Jam was âPrepare for Disappointmentâ.  When I was thinking of an idea, I initially was thinking of a simple one-button game where you simply mashed a button over and over, only to pop a balloon, like something out of Bishi Bashi Champ.  However, as the week leading up to the Jam started, I decided that I wanted to try something a little more eager than that.  I wanted to make a racing game!
The concept of TOJam is simple: you get registered, find your spot in the building, and start working!  If youâre a Team, everyone can work together, but if youâre a Solo Superstar (as I was labelled), I can request âFloatersâ to help me with different parts.  As such, I had an Audio Floater helping me, Alex Maletich.  I told him my idea, showing him the graphical elements that I had gathered together in preparation for the Jam (as internet was bound to be spotty with 400 people on 400 computers!).
My concept was fairly simple -- have a âsafeâ zone to learn the controls, then start slowly introducing sharp objects to the area, and then have nothing but sharp objects in a final dash to the finish line.  I built it in three stages: The Toy Block area, which allows for experimentation, the Push Pin area, where I programmed a âslalomâ-type system that randomly generated a path but never allowed the path to be completely impassable (and added obstacles in the path if it was wide open), and then finally a final dash in the Staples area where it slowly narrowed down the path.
One of the biggest challenges that I had when making this game was that I never had worked with multiple viewpoints before!  I wanted to experiment a bit and try some features that I never had done before with Game Maker Studio and within the first couple of hours of arriving on Friday, I had managed to make a four-player split-screen racer, with each âportâ on the screen following one balloon, and each balloon was transparent on the other playerâs viewpoints, so that they could see their opponents, but not get totally distracted by them!
One of the downsides of making a game from scratch is that in order to see any of your workâs results, you have to compile the game and test.  I would say that at least a third of my entire time spent at TOJam was compiling and testing.  Another bug I had to hunt down was the âtwinkleâ at the tips of sharp edges, I had forgotten a single variable and so the twinkles were all over the map.  I had to create a separate room in Game Maker, and create some scripts to just rotate the sprites and observe where the twinkles would appear.  Within an hour of building the test room, I had figured out the answer. :)
TOJam is a fascinating beast in itself.  over 400 people come together to George Brown College, and people just work on their games, without any distractions, and all the input they would like.  Some days, we got breakfast (this year, we had bagels and cereal) and on both Saturday and Sunday night, we got Chinese food and Pizza -- plus, most of the day there is a âCandy Standâ where you can go and just grab yourself a bag of chips, a Ring Pop, and a Coke!  All of it was graciously possible by the sponsors of the Jam!
At the end of the rush, on Sunday evening, everyone mingles and takes a look at everyone elseâs projects.  The problem I faced is that since I was a solo programmer, I couldnât hang around my laptop to see how it was received and see all the awesome games that were created.  I had to wander about and make little loops to see how the game was doing (and find a particular bug being unfortunately repeated in the process -- I fixed it the next day).
You can download Race to Sparklepop over on itch.io, and while youâre there, check out all the other fabulous games that were created in a short span of 3 days at TOJam!
Some of my favourites that I got to play:
- A Match-Three Cats-in-Giant-Fighting-Mech game from some team members of Capy Games (still not on the site as of this writing but definitely worth it, if you can find it!)
- The Best Worst Gift, a combination game where you take garbage items (hairball, old sponge, dirty underwear) and combine them to give the Garbage Prince an awesome gift!Â
 - Death on the Catwalk, a game that feels like OctoDad in that you have to move Deathâs feet so as to not kill the ADORABLE KITTENS
- Kill Yourself, a game where you use the corpses of your dead clones to solve puzzles.  All weekend I kept hearing odd phrases from this team like âif you land on the spikes just right, the corpse will slide offâ...
- Palatable Pizza, a game of anxiety, amazingly, but it is a really nice analogy and clever use of writing to make you feel better despite your worries in life.
- Beat Cube, a surprisingly fun rhythm-action game that was so hyper-colourful that you couldnât help but stare!
- Snackoil Salesman, where you travel from town to town and convince people to buy your product, and avoid the rage that builds when they discover youâre ripping them off!
- Thereâs a Zombie in my Closet!, another Game Maker Studio game where you maneuver around a dark apartment and take out zombies. Â A lot of randomness in this game makes a very high replayability!
Iâm so excited to share my game and it was such a blast to be there and part of such an incredibly talented group of people. All in all, it was an incredible experience and I will definitely be coming back next year!
retro game genres that donât need any more indie loveletters: 2d pixel art platformers, quirky earthbound-like rpgs
retro game genre that DOES need an indie loveletter: point and click adventure games with live action actors superimposed over really bad prerendered cg backgrounds with really comically bad acting and effects and the story and puzzles seem like something written by a crazy person
I will be attending "TOJam" this coming weekend! Â It's a 3-day "Game-Making Binge" as the website puts it. Â I may be working alone, or I may be working as part of a team to design a game from the ground up!
This yearâs theme appears to be âPrepare for disappointmentâ!
While I'm at TOJam this weekend, please remember that I also collect donations for Extra Life all-year-round! Â Any donations that I get this weekend (or any time, really!) will go towards my November Stream where the more I raise, the longer I play! Â In the past three years I've raised $1000 for Sick Kids Hospital and my goal this year is $500.
So while I'm cooped up at George Brown College this weekend, remember that I'm making games For The Kids and I would love your support!
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
â Live Streamingâ Interactive Chatâ Private Showsâ HD Quality
Anya is LIVE right now
FREE
Free to watch ⢠No registration required ⢠HD streaming
When I first got into the idea of game creation, I read a lot of tutorials. Â One of the tutorials that even came with Game Maker Studio was a vertical scrolling shooter, as they claimed that was one of the easiest games that could be made with the software.
I had a vision of the game that I wanted to create, but I know that I'm not someone who can create everything. Â My spritework is fairly simplistic at this point, but it's definitely inspired by the simplicity of the NES and Commodore 64's limitations. Â My programming skills were lacking at the time, but I had a rudimentary knowledge of BASIC, again from the age of the Commodore 64, and I Googled whenever I wanted to determine how to figure out something (and then discovering that most of the things I wanted to do were built into the software). Â The other major piece of the puzzle that I never worked on was music and sound effects, so I had to find some music to use in the background.
I'm not even certain what I searched to find this team, but I happened across the Free Music Archive, and Boxcat Games (the team behind Nameless: The Hackers) had put the soundtrack to their game up with a Creative Commons 3.0 license, which allows anyone to use, share, or adapt their music, even commercially, without even needing to ask for permission. Â The least I could do in that regard was give them credit, so it's posted in all the descriptions as well as a cute pixel version of their logo in the Credits.
As for sound effects, I definitely wanted to keep the old-school vibe while also not having to reinvent the wheel. Â I thought about certain classic sounds like Kefka's laugh and wondered how they could be created with a simple sound chip, and discovered BFXR. Most of the sound effects in the game are created with this software and I spent a lot of time fiddling with a lot of the sound settings to try to get exactly what I was envisioning in my head. Â (I still don't entirely understand most of the settings I was using.)
I'm currently thinking about trying to figure out some musical chops as I've really loved C64 SID-style music and I would love to make my own, but I'm also very focused on my next game, "Project Apple Basket", so I haven't had the time to even set up my computer to connect to the electronic keyboard I have in my office. Â At some point, I'll get there, I'm sure...
This was one of the inspirations that started me into making my own video games.
Looking at this game called Soft & Cuddly, which was anything but, whose storyline was that your father was trapped in a refrigerator by your mother, the Android Queen, who was dismembered in an accident and your task was to put her back together. Â Yes. I mean, during this time weâre also talking about plumbers who visited a fantasy kingdom and ate mushrooms to throw fireballs at turtles, so...
Hereâs a link to the WIkipedia article about the game, but the VGJunk article above does it just as much justice.
So I was looking at this game about two years ago, and looking at many other Commodore 64 games at the time, and realizing that so many of these games, whether they were simple Arkanoid clones (some of my favourite C64 music there, btw), movie tie-ins, or completely off the wall concepts, there was still games like Soft & Cuddly that were made entirely by one person, and got a retail release.  And I said to myself: If these games, as off-the-wall as they are, as bizarre as they are, as twisted as they are, can be released into the world, then I can do it, too.
Obviously, the market is much bigger now. Â Games are being made and released in the hundreds every day, and the marketplaceâs reach itself is also much bigger (no more restrictions on retail packages!), so there are newer challenges. Â But I look at Soft & Cuddly as an inspiration that anyone can create games.
Speaking of which, it was almost exactly two years ago to this day that I released version 0.0.0.2 of Space Shooty 2016. Â It was the first release and had nothing more than a few ships, stars floating across the screen, a score, and a lives counter.
(sidenote: while researching John George Jones, the creator of Soft & Cuddly, I came across this article about this game and his earlier work. Â Give it a read if you want a little further thought on his creations.)