Last week I had a nasty bout of depression and got almost nothing done, hooray! Back to normal now though.
A F!shing update is in the works! I noticed a couple of bugs, then thought while I was at it, I’d improve the ‘Game Mode’ system, and it’s grown a fair bit. In the current released version of the game, Game Modes are very fixed – they have some randomness to them, but they play roughly the same each time. The ‘Lake of the Day’ and ‘Random’ options would just pick one of the existing modes to play. Now, I’ve broken the gameplay up into ‘modifiers’ (Fish, Junk, Clams, and Shark) and given each of them a random element. For instance, you might only get one type of fish, or you might get only a few at a time, or there could be dozens at once! This has added more variety to the existing modes. The ‘Lake of the Day’ and ‘Random’ now use a random combination of modes. It’s less predictable, and hopefully more interesting.
I’m also adding some new modifiers to the coming update, and the first one is ‘Night’, which you can see above. Any lake you play has a chance of being set at night, and the limited visibility adds an extra bit of challenge. It’s my first go at using ‘shaders’ – basically, code that runs on the graphics card. It was a bit fiddly to get working, but now I should be able to add other graphical effects in the future.
Lorries In SPAAAAACE! is a management or “tycoon” game where you run an interplanetary haulage company. Buy space-lorries, give them orders to buy goods at one planet and sell them on another, and gradually expand until you can buy whole planets. You win when all the planets belong to you, and the goal is to do so as quickly as possible. It takes around 8 minutes to play through.
This was the first time I really got my teeth into Unity, and it went really well! Development was rapid, as I’d hoped, and meant that I’ accomplished what I’d planned within the 48 hours. I carried on into Monday in order to add a way to win, and to add polish, and even then I was done hours before the deadline. Unity is quick to work with, even though I wasn’t that familiar with it, so I’ll definitely be using it in future game jams, and future games.
So, it’s been a couple of weeks since the last dev log. Firstly, I spent the week after F!shing was released attempting marketing things, and relaxing a bit. I’ve also been playing around with Unity, preparing to work on Mycronation. However! There are two projects that you’ll see before I continue with that.
Firstly, it’s Ludum Dare #30 right now! LD is a regular game jam that takes place over a weekend, where the goal is to make a game from scratch that fits a given theme. The theme this time is “Connected Worlds”, and I decided to make a game about managing a haulage company IN SPAAAAAAAAACE! So far, I have some randomly-generated planets with goods they want to buy or sell. It’s giving me a proper Unity workout too!
Then after this weekend, I’ll be working on a business-focussed Android app. Someone suggested it to me a year or two ago, and twice I’ve attempted to develop it and ended-up sidetracked, but this time I will complete it! 😉
I’m thinking of weekly development livestreams for F!shing, as I’ve got a big list of things to add to the game still, and it might help get the game more publicity. They won’t begin until September, but I’m hoping to do them every Friday. If you want to get an email when I start streaming, you can follow me on Twitch.tv.
I’m in a bit of a weird situation regarding F!shing. The game is actually done now. The new trailer is done. I’ve submitted it to Desura, and to IndieGameStand. The Google Play stuff is set-up and waiting. I didn’t blog on Friday, because I thought the game would be released fully on Monday, but as you can probably tell, that hasn’t happened. So, why not?
Desura is busy, basically. The earliest they can release F!shing is the 9th of August. If I’d been more organised and asked earlier, I probably could have released it by now, so it’s not entirely their fault. IndieGameStand hasn’t contacted me at all yet, and again, I probably should have submitted the game earlier. I’d really like to release the game everywhere at the same time, so I have to wait for a bit. (Of course, you can still get the game from itch.io right now, if you can’t wait!)
So, let’s talk about my next game, Mycronation. If you’re familiar with the concept of a micronation, then you’ll begin to get the idea. Basically, a micronation is a group of people who declare themselves to be an independent state, but which are not considered to be by the world in general. So, the idea is that you’ll be running your own tiny nation, customising it to your will, keeping your population happy and productive, and engaging in diplomacy, all with the goal of becoming recognised as an independent nation by the UN. Admittedly, this sounds a bit dry, but it won’t be – I’ll be trying to keep it light-hearted, especially with the ways you can earn legitimacy. Host an international sporting event in a sport nobody’s heard of! Make-up a species of endangered animal that only lives on your land! And as many other ways as I can think of.
I’m probably not selling this very well! 😉
In order to see if this game is even feasible, I’m going to make a one-month prototype. Prune the idea back to its core: basic population management, basic industry and trade, limited diplomacy, and a small number of ways to win. I’ll make that available for free, get feedback, and decide on my next move.
Carrying-on from last week, I’ve fully implemented clams into the game. As well as them sometimes appearing in the previously-existing game modes, there are two new modes: Firstly, a clams-only one, which plays a bit like whack-a-mole, and secondly, EVERYTHING mode, which is complete chaos! There are also various little tweaks and improvements. You can download version 1.3 from itch.io if you’ve bought it already, or it’s still available to purchase if you haven’t already.
There are still things I’d like to add – I think I’ve already mentioned crayfish and disco mode. The ‘custom mode’ also isn’t in the game yet. However, I’m happy with how the game is now, and I think it’s ready for a proper release. I just need to put together a new trailer to show-off the things I’ve added, and then it will be appearing on Desura and Google Play, and any other store that will have it. 😉
F!shing has been a fun first project, and I’ve learned a lot from it. As for what’s next, I haven’t quite decided yet. There’s a style of game I’d really like to make, but I need to make a prototype to see if I can create it in a reasonable amount of time. I’ll keep you up to date with any progress. 🙂
Back to work on F!shing this week! I’m not putting out a new release yet, but things are coming along nicely. I’m finally taking some things off the to-do list that have been lurking around for months. 🙂
Firstly, I’m removing the online requirement for the Lake of the Day. Previously, I’ve had a server running on OpenShift, which returns the seed used to generate the day’s lake. In order to prevent people from cheating, I was going to force people to be using the same seed. Eventually I’ve decided it’s not worth it – as all it does is produce a seed from the current day’s timestamp, I can just do that locally. This also avoids the problem where OpenShift was shutting the F!shing server down because it was inactive, and would then take a while to turn it back on when the seed was requested – if you’ve had a long wait sometimes before the level loads, this is why. So, it’s all very quick and done locally now.
There is still the issue that people running different versions will be playing on different lakes and in different game modes despite using the same seed. I’ve not yet decided on a solution for this yet. Probably the game will check for updates on launch, and refuse to submit scores if you’re playing an older version, but still allow you to play. This would also mean I’d have a way of letting people know when there are new things. 🙂
Secondly, I’ve gone through and attempted to optimise some of the code. I apparently didn’t understand Java very well when I began, and so the physics/collision code was creating new objects all over the place, dozens of times every frame. That’s all cleaned-up now, as well as some other places. It’s still not really playable on my old low-spec phone, so hopefully there’s more I can do, but this is a good start, and it’s giving me some practice with code profiling.
Thirdly, an actual game feature! Hooray! 😉 I’ve just today started implementing pearl-fishing. Lakes can now have a number of clams (early artwork is above), which open and close over time. If you’re quick, you can catch a valuable pearl while they’re open! They’re not balanced at all yet, and they need some audio, but I think they’ll be a fun addition. I’m already thinking of adding a game mode where there are only clams, and they all have really short timers.
Other than that, random little things.
Stopped buttons being chopped-off on the submit-score screen
Added achievement pop-ups on desktops, finally!
Made it actually possible to select a controller other than the bottom one, when navigating menus with a keyboard or gamepad.
Made the volume sliders indicate when one is selected with the keyboard or a gamepad.
Added a ‘skip’ button to the fish-tank screen, and (hopefully) prevented button-mashing from accidentally skipping through all the menus at the end of a game.
Made inactive analogue sticks on a gamepad interfere less with the one you’re using.
So, it’s been two weeks since the last F!shing update, and no news. Sorry about that! So, what have I been up to?
I started off last week with switching the build system to Gradle. It took me a couple of days of not understanding what I was doing for hours at a time, but it’s all set-up now. What this means is that I can much more easily update the libraries the game uses, so it should be more stable. It also made it much simpler to add support for…
You can now play the game with (theoretically) any gamepad or joystick. The setup is currently very simple – any analogue stick or dpad will move your boat, and any button will make you dip. At some point I’d like to let you configure which buttons do what, so that a ‘back’ button can open the pause menu, for instance. But for now, I’m happy with how the movement feels. All menus can now be navigated using the game controller or the keyboard, so you don’t have to awkwardly switch back to using the mouse.
I’ve rebuilt the score screen again, so that it’s more consistent, and added a button to play a new lake using the same game mode. Wait, did I just imply that there are multiple game modes? Yes!
The one thing that F!shing has needed more than anything is more variety, so I thought-up a few different game modes. The first of these I like to call ‘Race the Shark’ – a hungry shark dashes around the lake, gobbling up fish. A screenshot doesn’t really do it justice – you have to be very quick if you want to catch any fish for yourself! It’s more frantic than the standard game, and with no litter, you can mash buttons to your heart’s content.
There will be more game modes coming. Crayfish! Clams! Disco mode! Combinations of them! Other things I haven’t thought of yet!
In addition, I’ll be adding a ‘custom mode’ option, where you can tweak things to your liking. This is mostly for accessibility – I didn’t participate in the Accessibility Jam, but it’s made me want to make the game as accessible as possible – but it’s also a nice thing for everyone. Win-win! 🙂
Haven’t bought the game yet? It’s still only £1.99 for all platforms. 😀
Now that F!shing is released, I can just sit back and wait for people to come bringing sacks of money to my door, right? No, of course not! Work continues this week, going through my Big List of Things.
First, IndieGeek very kindly did a video, embedded below, looking at the game and giving me a load of suggestions – they’re going on the list too!
Changes in version 1.1:
Tilt controls work when upside-down
Achievements now work correctly
The ‘submit score’ screen looks much less ugly, and works properly now
Google avatars in the leaderboards screen on desktops
Automatic sign-in when you start the game if you were signed-in before, on desktops
Rearranged the main menu to be less confusing (case in point, the Play Games button that confused people is now gone)
Added a restart button to the pause menu
Smoothing things over a little, with a retry button when you finish a game, and when you return to the menu the ‘play’ options will still be open
The next update should introduce support for playing with a game-controller. I didn’t quite get time for that this week.
If you haven’t already, you can pick the game up from the F!shing website, or directly from itch.io, for only £1.99 while it’s still in beta. If you’ve bought it already, you can download the new files using the same link you got in the email when you purchased it.
F!shing is now available to play on itch.io! I’m not done with it yet – I’m calling this a beta release as there are still things I’d like to add and improve, but it’s complete enough for people to start playing and (hopefully) enjoying it!
Over the weekend, I participated in Ludum Dare 29, the 48-hour game jam. The theme was Beneath the Surface, and I was inspired by the saying that a swan looks elegant above the water, but underneath is paddling madly. The result is SWAN QWOP – guide a one-legged swan across a lake by manually controlling the leg. (QWOP, if you don’t know, is a game about falling over while trying to run the 100m at the Olympics. You should play it! It’s much better.)
The weekend went pretty well! I was a little nervous about doing a physics-based game, as while I’ve used box2d before, I’m not too familiar with it. Still, I got a working prototype done in the first day, so Sunday was purely a case of polishing it up. I usually really struggle with scope, so I’m happy that it’s as complete as it is. That said, the water is a bit rubbish – I thought a bunch of balls would be a decent approximation, but not really! If I’d had a week rather than a weekend, maybe it would be better – I have a couple of ideas for improvements. Never mind!
Anyway, I hope you enjoy playing it! It is possible to win, though very difficult. If you manage it, post your time here or on the Ludum Dare page. Now to get back to my week off!