RainbowJam – Fursuit Run

For the month of September, I needed to take part in a game jam, but initially, I wasn’t sure which one. I looked through all the jams listed on indiegamejams.com and while you are spoilt for choice, not many were catching my eye. That was until one of my friends from the Birmingham Indie Developers, Kirsty Fraser, mentioned a game jam she was organising.

RainbowJam is a two-week games jam about exploring LGBT+ themes, running for its third year it’s partnered with the non-profit organization Queerly Represents Me and encourages representation and to “create games exploring and celebrating identity, gender, sexuality, sex, life, and love!” After working on Re(re4ti0n, I’ve felt a little urge to create some more experimental games that go against what I generally like, which would be arcade retro shooters/platformers with a neon glow or a retro aesthetic. I also knew I had some 3D functionality in Vigilante that deserve to be worked on enough for a complete game, so I spent a few weeks earlier in September to create a basic 3D game system.

Unfortunately, my 3D stuff was limited to what you can render. I consider Vigilante a 2D game framework with 3D elements, so I didn’t bother implementing 3D collision detection, but I had an idea: what if I make the game function in 2D space, but display in 3D space.

What I did was set up a small 2D enviroment with a tilemap and a basic sprite, and I set up the 3D models to display the scene based on the tilemap while the camera’s position and rotation is based on the sprite’s position and angle.

 

As you can see, I got the tilemape to display really well, the floor being a multi-segmented plane that could display mutliple different tiles in one model, and the walls being cubes that are scaled depending on where their neighbours are. Initially I was creating each cube as a separate model, which I felt was dangerously innefficient so I created a batch rendering group, creating one model but using multiple V3DObject instances to specifiy where that model should be rendered. I did need other things in the game though, stuff that the player can interact with, so I created a special model that could render a 2D sprite (including 2D animated sprites!) in a 3D enviroment, always facing the camera.

The last major thing I wanted was to add an additional level, as wondering a single room is good but extremely limited. As such I made a second tilemap, a model to represent a ramp of sorts and added variables and additional groups to tell what floor the player is on, and as such what should be displayed/collided with. The bigger challenge was implementing how the player will climb up stairs, as it also had to factor falling. Combining gravity with the player moving upwards if the sprite is overlapping the area where the said slope is situated took a lot of trial and error before I finally got a dituation where the player could fully explore the floor above and walk back down to the ground floor!

After making the slope look a bit more like steps, the demo was pretty much ready for RainbowJam.

To make a game for Rainbow Jam, I wanted to make a game that is about sharing love and making people happy. I went with a game about being a fursuiter because as a furry, I know the community is very supportive of LGBTQ+ people and as someone who’s performed in fursuits at conventions and meets, I feel the most important aspect is to make anyone you see feel happy, entertained and loved, even if it’s by portraying a character.

Making the attendees you interact with was probably the biggest challenge, I made a dough body sprite with frames for actions at each angle, and made the object switch frames based on what angle it’s facing from the player. As for the AI I considered setting up a finate-state machine, but fearing it would be too much work for a jam I went for a simple state model. I got my code for line of sight and path finding from previous projects in order to get the attendees  to walk around the floors they are on, wave at the player when they see them and either hug or prepare a camera for a photo, responding to what the player does at the same time.

To simulate the limited vision of fursuits was to overlay the screen with a mask. I added a little bobbing while walking for fun, as seen in the tweet below, however a fellow gamedev suggested getting the camera to bob in time as well, which ended up working pretty effectively!

All the graphics and audio was done on the last day, I used the dough sprite as a base while I apply the colour and details over it. I unfortunately realised the limitation I set myself using a 20×20 tile size, but I think there is enough space to see who is who. As for the enviroments I used some references for hotels, such as the carpet and ceilings. There is a chandelier on the ground floor, which I designed myself to be multiple 2D images rotated because I found most 3D models online to be needlessly complex.

At around 11pm on Sunday, I uploaded Fursuit Run to Itch.io making this the game for September. There is still a voting period which begins when the jam officially ends on the 6th October. So far the reception has been fairly positive, mostly from furries, some non-furries don’t appear to like the idea without actually playing the game as of writing. I’m pretty happy with how the game turned out, as well as the 3D system. There is definitely room for improvement, as there isn’t much optimization that could be done such as view frustum culling. I’m hoping to get it improve for my next games jam, 7DFPS.

Advertisements

Roguelikes and a Faulty Computer

I hope things are going well with all those who read this, whether it be while hard at work or relaxing while browsing their social media. Since GDC 2018 happened, it took a while to adjust me back to a work routine. It didn’t help that the week after I returned to the UK I was off to Bristol celebrating a four-day weekend with friends and family for my birthday. Fortunately, with my day job going on, I have managed to recover from jetlag and get back into a coding routine with some bumpy roads. I figured it’d be good to detail what went on up to now.

RDDL

The Games Jam for March was the Seven Day Roguelike (or 7DRL for short). This is a long-running one-week games jam dedicated to the roguelike genre. This year was the first year they hosted the jam on itch.io, instead of the Roguetemple forums and other hosting services that had since gone defunct.

The first time I took part in 7DRL was in 2016 with Dungeon Racer, while I was glad to get a game done using my engine for the first time since Gemstone Keeper’s early demos, in hindsight the concept was a bit too out of reach for me without preparation. This time I decided to do a bit more of a simple roguelike.

RDDL (pronounced Riddle) was originally going to be a dungeon based roguelike in the style of the Crystal Maze, where the player would have to find a key in each room to progress. Health would decrease over time and the only way to regain health was to either find it through treasure or defeat enemies. I used the GenLevelTools like I did previously, however, I noticed how lacking some of the features are (particularly with tilemap generation).

I ended up using the tile mapping system for this, which worked well with the tilesets made for Dwarf Fortress. I had considered adding the ability to change tilesets like I did previously with Dungeon Racer but I ran out of time. I also got to take advantage of GL-Transitions again with a cool grid flipping transition, people on the roguelikes Discord liked it so I took full advantage of it.

Overall it’s great to get a proper working roguelike, especially one that people would undisputely call a roguelike unlike my previous games. As of writing, voting has just ended on all entries, so you can check out how well it did on itch.io. Feel free to check out all the other entries too!

Speaking of previous games…

Gemstone Keeper: One Year On

As March 31st of this year is the one-year anniversary of the release of Gemstone Keeper on Steam, I figured it was a good idea on Twitter to talk about how it’s done and what I should learn from it. You can check out the start of the thread below.

I was inspired by Eniko of Kitsune Games to do this, after a tweet she posted on how stressful being an indie developer was. I feel it’s necessary to let people know that despite the success stories, a lot of stories aren’t as impressive. I still maintain that Gemstone Keeper’s response was positive, considering the circumstances, and I still appreciate the support and feedback people give.

Technical Issues

So on Thursday 5th April, I was reading an article on my main game development and home desktop machine when suddenly I got a Blue Screen of Death. I initially thought this was typical, at least until the machine restarted and would go to a blank screen. I tried restarting again and the same blank screen appeared. I checked the bios and the hard drive looked fine, but the same blank screen.

Then after taking out all other drives, I tried again and this time it says that there are no bootable drives found… this doesn’t sound good. After a few diagnostics and checking the hardware with the help of some friends, we’ve come to the conclusion that while the hard drive is fine, something happened when the BSOD hit that caused the Windows OS to come corrupted.

The good news is that nothing has been lost. All of my game development work as well as personal files and other, less relevent, projects have all been backed up on either external HDs or online cloud services (meaning that after my last major technical mishap over three years ago, I’ve definitely learned from my mistakes). Not to mention that while I cannot boot into Windows, I am still able to access the HDD using a bootable Linux drive, so anything on it is still salvageable.

As a result of this incident, it’s been decided that it’ll be better to upgrade components of the desktop instead of trying to repair it. The current HDD is a little over six years old, so even if I managed to fix Windows then who knows when the drive completely dies. Plus with more modern components, I can take advantages of any addition performance of say, an SSD for the OS and a HDD for data as opposed to a HDD for everything else.

Hope that clears up everything. Just like to make two short announcements, I’ve began on a new project, development will continue once the upgrades have been finished sometime this week. The next games jam I’ll take part in for April will be Ludum Dare 41.

Enjoy April folks!

New Years Resolutions

Good evening everyone! It’s no doubt that 2017 has been a hell of a year following what happened in 2016, but we fought through and we are still here fighting! This year has also been huge in terms of game development for me. I managed to finish SEVEN games this year, six from game jams such as #RemakeJam, PROCJam, Jamchester and Three Ludum Dares!

https://img.itch.zone/aW1hZ2UvMTYzMjc3Lzc1MjE2Ni5naWY=/315x250%23c/L0i8g2.gif  https://img.itch.zone/aW1hZ2UvMjAxMDM1LzkzOTE3OC5naWY=/315x250%23c/q5QpUK.gif

The seventh game was the nearly two year project Gemstone Keeper, which made an initial release on March 31st earlier this year and has since had numerous updates, although grouped together as four updates. The most recent of which was 1.0.4 that was announced on 21st of December. The game is currently on part of the Steam Winter Sale, and is currently 50% off!

Gemstone Keeper also had a second smaller release as it was ported to Linux, the build being available on Steam in June. I documented the progress to port the game in three blog posts (part 1, part 2 and part 3), and got a small amount of coverage from dedicated linux gaming websites as a result.

There was also an accomplishment in travel as well, 2017 was the year I went to both GDC in San Francisco and Develop in Brighton for the first time! Both events were great opportunities to meet up and socialise with fellow game developers and listen to talks from great minds such as Ken Perlin, John and Brenda Romero, Jordan Mechnar and Tim Sweeny.

As for 2018, I want to set some goals. As with many New Years Resolutions, chances are they will be forgotten and unaccomplished, but considering I managed to lose weight this year, I might pull through with a bit of committment.

First one is that I want to take part in at least one game jam a month, meaning I’d be finishing 12 games next year. I like the challenge and creativity from game jams, but this year I feel like six isn’t enough. At least spacing out the game jams to one a month will give me time to find a weekend or so to get my head down and finish something.

Second one is to get a game on console. It’s not like I haven’t bothered trying before (I’ve reached out to Nintendo about developing Gemstone Keeper for the Switch to no avail), but it would be nice to expand my work beyond desktop PCs and web development. Porting my own game to Linux should show how when I put my mind to it, building a game to another platform by hand is possible, and it would be great to show I can do that on one of the three main systems.

Thanks for reading and have a happy new year everyone!

Gemstone Keeper – Quest to Linux Part 3 – Gemstone Keeper

Finally, after beginning soon after the game’s Windows release on Steam, and well over a month after I initially wrote my first post about this topic, I’m finally done with porting Gemstone Keeper to Linux (for the most part) and ready to write about what I’ve learned from porting it over. Since both the Framework and Level Generator have been ported, getting the whole game to compile and run wasn’t as confusing as the last two, but that didn’t stop it being tedious.

Continue reading

A Greenlit Developer’s view on Steam Direct

On Friday, Valve posted on the Steam Blog that Steam Greenlight will finally be replaced by a new system for game developers to submit their games to the digital distribution platform. The new system will be called Steam Direct, where a developer can fill in a set of digital paperwork (such as company, tax and bank information) and pay a fee for each game they submit, with a small verification process to ensure that games will be able to run properly through the platform. With this news bringing heated discussions among game developers and journalists, I figured I’d put all my opinions down on one post to give my side.

While I have Steam Greenlight to thank for giving Gemstone Keeper the chance to be on Steam, I feel that Steam Greenlight has a lot of issues and is an easily cheatable system. It can make a game developer’s efforts a bit demoralising when they work hard on a game, pay the fee and spend time to create a good description and video to be placed on the page, when among the other hard working developers who put as much effort, you are also competing with people who either flip pre-made assets onto the store and could easily rack up votes by offering free Steam keys. Doing things the right way, as I talked to students about at a Staffordshire University conference months earlier, might take a few days if you are lucky, but more likely take weeks, months or (in a few cases) years to get greenlit, if you are greenlit at all.

The idea of having a fee per game, instead of a fee per account, is not new. It’s been suggested even why back when the idea of replacing Greenlight was first mentioned by Valve back in 2013, and I’m one of the group who agreed with the idea. This means that I was initially glad to see Steam finally announcing Steam Direct with this fee approach. It’s also worth mentioning that Steam has said that all games which have been greenlit, but have yet to be released, will not be affected by the transition and that it is possible to get a refund of the Greenlight submission fee if you do not have any Greenlit titles.

That being said, there are some concerns, namely with the vague and limited description of the approval process. While it’s all good to ensure that games released will actually contain an executable required to run the game, the question of quality arises. I’ve heard some ideas that a full vetting process would mean some really creative games would get rejected, which I do find valid since the appearance of a game is subjective, but I’d disagree on the fact that having a game that is quirky or unusual in appearance would still get through as long as it can run smoothly with a good framerate on average hardware and would be difficult to crash or bug out. It’s a concern to bring up, since part of the reason why Steam emassed such a large amount of poor quality games is because they allowed poorly made games to get through.

The other main concern is the size of the fee, to quote the blog post from Alden Knoll:

We talked to several developers and studios about an appropriate fee, and they gave us a range of responses from as low as $100 to as high as $5,000. There are pros and cons at either end of the spectrum, so we’d like to gather more feedback before settling on a number.

While a lot of developers are either worried or accepting of the maximum fee, citing either eliminating low income developers and developers from third world countries, I’m gonna be sounding like the optimist and say I doubt Steam would ever set the fee at $5000, unless they fully accept the risk of alienating a large amount of aspiring developers and reverse the progress of allowing indie development to be more accessible to bigger platforms. However it is because of reasons given like the fact that Valve and Steam are a business, submitting games has its own costs and there is a risk on Valve to allowing several games, especially if it’s unlikely they’ll make any money on the platform, that I do not see $100 being the fee they’ll decide on. Based on the several discussions I’ve read and the majority of developers preferring a lower fee, my best guess is that whatever fee Steam decides, it will not exceed $1000, maybe not even $750 if it would deter anyone who wants to use Steam as a way to make money with little effort.

Some have even suggested that the fee will bring a rise to smaller marketplaces for indie developers, as even Itch.io even joked about. I like seeing more variety, and I’m happy to see platforms like itch.io, GOG, GameJolt Marketplace and the HumbleStore growing their own communities, it would still take a few big named publishers to move to these platforms to topple Steam over.

Finally, I want to give my view to a point made by Jonathan Blow, who made a series of tweets criticising game journalists who write about Steam Direct being a reason for Indie Developers to panick, and not considering views who are on-the-fence or approve of Steam Direct. I don’t entirely agree with his viewpoint, in particular I don’t think it’s correct to think Kotaku/Polygon’s potentially biased reporting on the Steam Direct based on actual sources and “fake news” to be the same. However, considering that it’s only been a weekend and not every bit of infomation on Steam Direct has been finalised, I don’t think it’s good to treat every bit of detail in the Steam Direct announcement as negative, considering this is one of the first positive steps Valve has made in a while regarding Steam in a while.

Secret of Escape Shortlisted for TIGA Games Industry Awards 2014

I’m proud to announce that Secret of Escape has been shortlisted for Best Student Game and Game of the Year at this years TIGA Games Industry Awards. The ceremony will celebrate a year of game releases from the UK Games Industry from all developers of all sizes, from indies to the AAA.

This is definitely a huge honour to see a well known organisation in the Games Industry as TIGA to recognise the hard work of those, including individuals and students. I’ve worked very hard during my placement year to bring Secret of Escape to the masses, seeing people praise the game and now for it to be shortlisted for a major award definitely makes the extra effort worthwhile.

If you haven’t already, you can now download Secret of Escape, the fast-paced stealth action game, from Desura, Itch.io and IndieGameStand.

Readers and members of the public can vote for Secret of Escape for Game of the Year here, voting opens until 20th October.

Secret of Escape – Where to find it!

Secret of Escape is officially released to the public, you can download the game for either PC, Mac or Linux (both 32-Bit and 64-Bit). You can get the game from one of these fine game services:

Download Secret of Escape from Desura

Download Secret of Escape from Itch.io

Download Secret of Escape on IndieGameStand

Click the banners to go directly to the game page!