My current game – Gravity Flux! Wishlist on Steam
  • Gravity Flux + ShapeVS

    We are just over one week out from the launch of Gravity Flux and the exciting announcements are starting early! I am teaming up with SmashAttack who are releasing their local multiplayer game ShapeVS on the same day as Gravity Flux!

    It will be a great opportunity to demonstrate two local multiplayer games at the same event!

    Not one but two new Tasmanian games going live on Steam (hopefully for me) on the 30th of September. Leo here at Motley Pixels couldn’t be more excited for what the future holds for Smash Attack and like I mentioned earlier I am teaming up with them, which means I will have ShapeVS playable at the Gravity Flux launch party as well!

    Speaking of launch party, you can get your tickets here: (Fellow Tasmanians) https://www.eventbrite.com.au/e/gravity-flux-launch-party-tickets-415748985407

    Wishlist ShapeVS https://store.steampowered.com/app/1575750/ShapeVS/

    Check our more details here and keep an eye out for more information coming soon.

    I am currently in the process of going back and forward between Steamworks, they are having controller issues, so I think just removing “Full Controller Support” will allow the game to be submitted to the store. Fingers crossed!

  • September – Launch Month ðŸš€

    In August I took it easy and didn’t burn myself out. I made a good decision of launching two months after the game was in a playable state (but needed some fine tuning). So there was no rush.

    A couple of major things done since last month:

    • Fixed the camera – so it moves more smoothly. People were saying that the camera was rather jerky and harsh. I though I smoothed the position, but the zoom scale wasn’t being smoothed. So both change with smoothing applied, and the effect looks a lot more tolerable to the eye.
    • I’ve added all the achievements to Steam. See image below of the achievement icons. I’ve almost got them all working in code as of this post, I just need to test them to make sure they all work. It was made quite easy thanks to a Godot addon: https://github.com/samsface/godot-steam-api (no need to build Godot from scratch with Steam SDK built in it)
    • Probably fixed an issue when re-spawning – player would spawn in the ground. Resetting velocity I think fixes it?
    • Generally improved controls so no more weirdness, especially with analog sticks
    • Added amusing game-over sounds: https://twitter.com/MotleyPixels/status/1566047026714148864
    • T-shirts! and other items available from RedBubble: https://www.redbubble.com/i/t-shirt/Gravity-Flux-by-leofebey/122773651.WFLAH?asc=u Super important of course

    Achievement icons:

    The game is still set for Friday, 30th September 6PM (AEST/Hobart time). I am currently working on booking a venue. I have contacted a certain venue, but have not received a response yet. There will be a venue, (I have some fallback plans) don’t worry.

    The remainder to-do list is getting a lot smaller.. Just forgot to get the stats page working, and finishing up the achievements. Then upload to Steam

    I still want to do some more testing. I think I have at least one more chance to test the game, which I hope will be valuable.

    Tas Jam

    It’s awesome to see the return of Tas Jam, the local Tasmanian game jam events. It’s happening on 9-11 Sept at University of Tasmania Sandy Bay. I will be attending in some capacity. I guess I should try to make a game (I’ve historically been good at that) or just chill and volunteer being on the Tas Game Makers board. Event details: https://tasgamemakers.com/tasjam/

    Other Projects

    I have lots of other projects on the go, and of course I’m already thinking what to do after Gravity Flux is released. My next game will likely be “Sentience” the 3rd person shooter for PC and mobile. It’s a story-driven game with levels made with Trenchbroom. I think I’m going to enjoy working on it. I have other non-games projects as well, like a custom music manager and player program for PC (Win/Mac/Linux) and a virtual pet electronic “toy” / health companion. Having experience with electronics, that should be lots of fun as well.

  • August – Getting there.. ðŸ”œ

    Gravity Flux

    More work has been done in July

    • Added players jumping in the menu
    • Improved input system to add/remove buttons pressed into an array (best way to do it)
    • Made both 2D and 3D particles for MacOS and Windows/Linux respectively. Godot says that Macs don’t do 3D particle acceleration, so I’ll take their word for it and make the game switch between 2D and 3D particles depending on detected OS.
    • Fixed small bug where player kept moving (falling) when paused. Oops.

    A few things left to do

    • Steam achievements! (many..)
    • Fix bug where one controller doesn’t work in controller join menu (need physical gamepads to test)

    As soon as those are done, I”ll do some more real world testing then hopefully start the releasing process (exporting and uploading to Steam). Could be earlier than scheduled date of Sept 29, we’ll see..

    Wizards with Rockets

    This game (that I’ve been working on since 2018) has been mostly on pause since early this year, but I’m thinking how to progress with it after releasing Gravity Flux. The plan is to finish the game up quickly. Not adding new features like physics, scripting and shaders. It’s just going to take too long and I want to learn a new programming language and graphics framework. Plus I’ve been feeling a little burned out from it being a long-term project that’s getting little progress.. Oh well, I’ve learned plenty about C.

    So the plan is to make WWR 2, using C++ and SDL! Not too ambitious, no! I plan to get better at CMake as well. So I can just build on any platform with ease. I’ve chosen C++ over Rust, as I think it’s important to know C++ well in my profession (software developer), and Rust is still fairly new. C++ isn’t going away any time soon. I’ve heard about the new Carbon programming language, designed to be a successor to C++, we’ll see. It may take some time to achieve that. Still keen to learn Rust well at some point, but perhaps learning C++ will only make learning Rust more satisfying, from what I’ve heard. And SDL because it’s pretty popular and well known, an industry standard. A little more complex than Allegro by the looks, but still not absurdly complex with boilerplate (Hello OpenGL/Vulkan). Then I’ll have the fun of incorporating other features, like map loader, physics, networking, etc. Add all the libraries!

    Sentience

    I’m very excited to work on the next big game after Gravity Flux. It’s going to be a 3rd person action/stealth game for mobile devices and PC. I want to make a decent first-person shooter one day. This won’t be it but it’ll be similar, and less advanced. Perhaps a prequel.

    I’ve given Sentience a bit of thought recently, and I have some neat ideas for it, some I want to keep secret until I’ve gotten close to releasing it. I’m going heavy with story and world building for what it is, and it will be a very art and story driven game, which will be an interesting challenge for me. I see some Blender tutorials in my future. I’m super keen to start work on it and show screenshots of my progress. I hope to get started right after Gravity Flux is released.

  • July – Gravity Flux on Steam and Steamworks Experience

    Steam!!

    Yes, Gravity Flux is now on Steam! (Available for wishlisting). It’s been a rather large effort getting to this stage. Getting the game ready to promote as a trailer, then jumping through the (not too difficult) hoops on Steamworks to get it ready for approval. And lo and behold, it got approved!?! Go wishlist it now!? https://store.steampowered.com/app/2072520/Gravity_Flux/

    Steamworks Experience

    I’m sure there are people pretty curious as to how the Steamworks experience is. Well I can give some rough details, it’s all under NDA so I can’t provide screenshots and such. But I’m sure it’s ok for me to explain some key steps.

    1. Registry – is pretty simple, all you need is a Steam account
    2. Application/game registry – As an Australian, you need to give evidence you’re not a US citizen living overseas, enter some tax stuff like TFN and photographic ID.
    3. Steamworks fee – this is US$100 per game/application. Sucks yeah, but I believe an actual human checks the game.
    4. Steam page setup – You’ll need to create some store and Steam library assets for the game. So any logos/promo banners you have (like Inkscape SVGs) will be required to be tweaked a little. I had an issue with approval as my logo didn’t have transparency. I fixed it and it was approved.
    5. Some other things like system requirements, description, set release date (required!), support info (contact details) and game icons.

    Then once approved, they’ll let you press the “Set as coming soon” button to publish the page publicly.

    Of course, I still need to submit a build of the game, they haven’t required me to submit one to put the page up yet. Which is fortunate, it lets me promote the game earlier.

    What’s next

    Still a fair bit of work to do on the game, but not too much. I’ve got to:

    • Fix the player stats functionality – currently a bit broken 😦
    • Fix an issue where 4 players were joining and one couldn’t join properly.
    • Steam achievements! Every good game has achievements. I’ll have to programatically add these.
    • And a few other small misc tweaks – nothing too hard.

    I’m definitely going to have a launch party of some sort. Remember to join my Discord to be informed of when that will be! See the links page of this site.

  • What’s Next June?

    Oops! Forgot to do June’s post! I must set a reminder for next month! 😖

    More slow progress since last post. I have been struggling with the old problem of juggling multiple projects and games to play.. But I think I’ve come to a solution, I’ll get to that!

    I did say I was aiming to release Gravity Flux around now/July.. Probably not going to now but it’s still quite close to being finished. Just got those last tedious things to fix up like menus, Steam achievements and misc tweaks. Steam is going to be interesting.

    An interesting development. I went to a friend’s place (My professional game developer friend Bruno R) and I showed the game (Gravity Flux), and he gave me the suggestion of adding some background particles to give a sense of the gravity. An excellent idea! So I worked on that as you can see in the title GIF.

    For the next 2-4 weeks or so before next blog post, I will hopefully have finished the player stats menu in the main menu, which shows important stats per player colour. I thought I’d add this so that players can compare themselves to others. Player Blue might have 20 kills, but player Red might have 25! Here’s a preview of what I’ve done so far:

    I am also going to be recording some gameplay footage soon, this weekend! Which will be used in the trailer. So that shows what stage I’m up to on the game.

    Here’s my current remainder tasks:

    That’s all! Not a huge mountain of work left to do really. Exciting times.

    Oh and a last minute suggestion I’ve had was to have a post-game awards screen. So things like longest airtime, highest accuracy, etc. But not saved to file, just showing at the end of each round. I might add that if I’m feeling up to it.

    Maybe by next blog post I’ll have a Steam page set up! 😉

    PS. Whoops forgot to say! I’ve come up with a time management tip.. It is to be “goal oriented” so rather than say alternate randomly between projects, I will stick to one project (or game I’m playing) at a time until I achieve a minor goal, for example finishing the player stats screen. So far that feels like a good way to use my time.

  • What’s next May 2022

    A slightly delayed monthly post, oops!

    Last month, things slowed down a bit, but I have reached some goals with Gravity Flux. The gameplay is more or less complete! I just need to finish up the last menu – the player stats, and of course Steam achievements and integration. Boring and tricky compare to the rest of the game, but I’ll get there!

    I am also planning on running a hybrid, online and in-person Godot Engine workshop. That has been taking up a lot of my time as well, and this month I hope to complete the main course content for people. If you’re interested, please join my Discord server in the Links page on this site. The course will cover making a clone of my game, Wizards with Rockets. You’ll see how quick it is to make the game, especially compare to making it with C programming..

    So the workshop will likely take up most of my spare time, but I’ll try to make some progress with Gravity Flux. my plan was to release the game roughly mid 2022, which is still looking possible.

    In other gamedev news, I’ve decided I want to make my own 3D game engine, much like I’m making a 2D engine with Wizards with Rockets, and improving another one of those core programming skills, C++ programming. I thought I’d try Vulkan programming, but we’ll see how that goes. I might cave in and just use Ogre3D or something much easier. This is going to be a very long-term project, probably longer than Wizards with Rockets will be, and that’s already been in development since 2018 (4 years).

    Oh, and with Wizards with Rockets, I have been successful in porting the build system to CMake! This is one of those “dark arts” of programming that are notoriously poorly documented and very few people know it very well.. Sigh, I wish that wasn’t the case because it’s been a rough experience learning CMake. But I’ve forced myself into it as I’ve been using CLion IDE with a view to keep using it, and it’s a paid product, so I better learn it well!

    Here’s the CMakeLists.txt file that defines the build process:

    cmake_minimum_required(VERSION 3.22)
    project(topdown_shooter C)
    
    set(CMAKE_C_STANDARD 99)
    
    if (WIN32)
        include_directories(win64lib/include)
        link_directories(win64lib/lib)
        set(game_LIBS liballegro.dll.a liballegro_image.dll.a liballegro_main.dll.a liballegro_font.dll.a
                liballegro_primitives.dll.a liballegro_dialog.dll.a liballegro_audio.dll.a liballegro_acodec.dll.a
                liballegro_ttf.dll.a )
    endif()
    if (CMAKE_SYSTEM_NAME MATCHES "Linux")
        include_directories(/usr/include/libxml2/)
        include_directories(allegro_5.2_linux/include)
        link_directories(lib)
        link_directories(allegro_5.2_linux/lib)
        link_directories(libs)
        set(game_LIBS liballegro.so liballegro_image.so liballegro_main.so liballegro_font.so
                liballegro_primitives.so liballegro_dialog.so liballegro_audio.so liballegro_acodec.so
                liballegro_ttf.so)
    endif()
    
    
    file(GLOB topdown_shooter_SRC
            "src/tmx/*.h"
            "src/tmx/*.c"
            "src/dyad/*.c"
            "src/dyad/*.h"
            "src/minIni/*.c"
            "src/nuklear/*.h"
            "src/nuklear/*.c"
            "src/*.h"
            "src/*.c")
    
    # This was useful.. https://gamedev.net/forums/topic/639698-allegro-and-cmake-so-close-but-won39t-compile/5038817/
    add_executable(topdown_shooter ${topdown_shooter_SRC})
    if (WIN32)
        target_link_libraries(topdown_shooter ${game_LIBS} -lws2_32 -lxml2)
    endif()
    if(CMAKE_SYSTEM_NAME MATCHES "Linux")
        target_link_libraries(topdown_shooter ${game_LIBS} -lxml2 -lm)
    endif()
    

    With this file, you then make a build directory, such as ‘build-windows’ and then run cmake .. to generate build files. In CLion it uses the Ninja build system, but it can generate build files for many IDEs such as Visual Studio, XCode or just plan Makefiles, like what I’ve been using. In CLion, all you have to do after editing the CMakeLists file is press build and then run to to run it. And it’s working for me!

    That’ll be the last of WWR I plan to work on for a while, as I’m quite busy with other stuff. Such as Gravity Flux which is very close to being released!

  • What Now April 2022

    Continuing the monthly updates. In What Now March 2022, I posted that I was working on mainly Gravity Flux, the settings, stats and steam achievements. I actually implemented the settings menu in the main menu, plus some other little fixes, such as more places you could get stuck in the levels. I also added support for analogue sticks! A requested feature. And some slight tweaks to the textures for side walls on the first level. And, just tonight I improved the background by adding a nice lens flare!

    So for April, my list of things to do on Gravity Flux is pretty short! I am getting quite close to preparing it for a Steam release! Woo.

    Some of the things left to do:

    • Player stats by colour
    • Steam achievements
    • Plus-X mod by Cheeseness (executable support for files in zip files)
    • And of course, uploading to Steam.
    • And any other little bugs I find along the way.

    I don’t think I need to make another build for release, however I might test the game out with some friends with several controllers before Steam release and the launch party of course. I have played it in a much earlier version, and it was fun, but it’s probably a good idea to play it again in it’s virtually-complete state.

    So hopefully by end of April, I will be either done with the game or very close. Looking for a May-June release muahaha!

    I haven’t forgotten about my other games, Wizards with Rockets and Sentience. However the less I focus on those, the closer this game will get to being released.. And that’d be awesome.

    Please subscribe to this blog if you have a WordPress account or an RSS reader to stay updated with progress as I get very close to release!

  • Detroit: Become Human Mini-Review

    This is just a short review of a very ambitious game. The game is a very interesting concept, about Androids becoming self-aware and taking on human qualities. It has been explored a little in popular Sci Fi, in TV shows such as “Humans” and “Almost Human”, both of which I’ve watched and really enjoyed. So coming into the game I was pretty interested.

    I’ll try to keep this as spoiler-free as I can while still giving my opinion.

    The game starts off very abruptly, getting you to make a critical decision to try to save someone’s life. I wasn’t expecting to make such important decisions so early in the game, I thought it’d warm you up to it, but nope. Big decisions right off the bat.

    Connor
    Kara
    Markus

    You play as 3 main characters, built fictional company “CyberLife”. Connor, aka RK800, an android model designed to help solve crimes. Kara, aka AX400, a domestic worker, housekeeper and caretaker of young children. And Markus aka RX200, a domestic assistant and companion. Trying not to spoil too much, but you follow their rather turbulent “lives” as they become more human. You’re put in charge to make important decisions that affect the progression and ultimate ending of the game. As well as some quick-time events and movement controls to move and interact with events in the game. It’s very much a story-driven game where you choose dialogue options to make decisions. Decisions which can make drastic differences in the game. Some of them are good/bad decisions, that lead to good/bad consequences. Some of them more philosophical choices, such as whether to be more “human” or not. Which also affects things.

    I got through most of the game without anyone dying, and developed a strong connection with the characters. I really wanted them to succeed in their own ways. Which was a bit difficult for one particular character. In the Kara storyline, I just went all-out compassionate to make sure I could see her outcome be a good one (it was for me, just..). Connor, I tried to make him as dutiful as I could, which later became difficult to continue with. And Markus, well not to spoil anything, but his path really went a bit off the plot, but I tried to guide it in a peaceful way.

    Then came the last 2 or so hours of the game, where things got very serious. No spoilers, but some of the late-game decisions you made had very significant impacts on the ending. Each decision leading to probably very different endings. Which is one criticism of the game, it would have been better to be rewarded for the first 2/3 of the game at the end, than for it to be more pivotal right at the end. My ending was not the best, but it almost could have been a lot better. I must say something about Connor though. I tried to blur the line between “deviant” (sentient) and machine. It didn’t end well, sadly. I thought I would get an interesting ending by doing that, but I did not. They wanted you to make a choice, not let your choices let the game make the choice for you. Which I thought wasn’t so great. But I still enjoyed his plotline for the most part.

    A group of androids start up an abandoned theme park ride.

    Overall I really enjoyed the game, as said I have a bit of a soft-spot for Sci-Fi stories about androids. Data was my favourite Star Trek character as a kid by far. The graphics are quite good. They put a lot of effort into motion capture, so the characters felt quite real and human-like, definitely not “robotic” like you might see in some games. Which must have been intentional. The writing and dialogue was ok, though it felt a little serious at times, with not a lot of humour, sadly. The plot perhaps was a bit irrational near the end.. but that was tolerable as it gave the game a bit more conflict and action sequences (fun). They picked pretty good actors for the characters, and their performance was very good, for a video game especially. Markus was interesting because he could have gone good or evil, but his voice actor made him sound like he could have been either. It was such a good game, I’m not sure what to play next.. It’s hard to decide what follow it up with.

    I struggle to give ratings, take it with a grain of salt, but I’d give this game 9 almost-sentient RK800 Connors out of 10. It will be one of my favourites of all time.

  • Why am I releasing a game (so soon)?

    I have to ponder what’s been motivating me to release Gravity Flux, a game I’ve made, on the Steam platform. It is a simple game that I made at a game jam, that can be quickly added upon to be in a state that is releasable.

    I sat down and wrote a few dot points as to why I thought I was:

    • Experience that I may not be able to get otherwise
    • Experience I can share with others (eg. Tas Game Makers)
    • Personal achievement and satisfaction
    • Quicker to release than my other game, Wizards with Rockets
    • Curiosity – how well will it do?
    • Beginning of a strategy of releasing games/software to earn passive income
    • Bragging points
    • Improving the reputation of game makers in Tasmania – another Tasmanian has released a game!

    But it hit me after that. I think the reason I am releasing this game, is that well, this game isn’t a really big game, like Wizards with Rockets was aiming to be. I know some local developers, Myriad Games, who released Where the Snow Settles. That took them about 5 years to make. A relatively big project. For many of them, that’ll be their last game they release on their own (or as a part of a small indie team) for a fair while. I don’t want to do that. I want to get into the habit of making and releasing multiple games! Starting with Gravity Flux. I’ve got to start somewhere, and that somewhere should be simple and easy, as opposed to a larger game. So the reason I chose to finish this game off and release it was to build myself up as a “game making person” akin to Cheeseness and others I know who have a similar approach. Now, I may not spend as much time on game making as Cheeseness, but I will be just as persistent. Slow and steady wins the race.

    So, with the hopefully inevitable release of Gravity Flux, it will mark the beginning of my “professional hobby” of making and releasing games. It’ll be quite an exciting launch party for me!

  • Watt Now March 2022

    I’m going to try doing monthly updates on my game dev work, what I plan to do for the following month. In this month, I am aiming to fix some of the issues I’ve discovered, thanks to some feedback from others who have tested my game! Thanks to Michael H and Cheeseness (cheesetalks.net) who contacted me via Discord. I’ve already fixed a few of them, but there’s still some issues remaining, like where the player can get their head stuck on ceilings.. I think I have an idea how to fix it, so I will see what I can do. After I’ve fixed those smaller issues, I will move on to the less vital but still important features to be implemented for the release version of the game! Such as player stats, settings menus and Steam achievements. I didn’t feel those were necessary to implement before releasing a major test build. Which means, the next release to the public will likely be on Steam! We’ll see..

    I will likely be planning on hosting a launch party! I’ve been to a launch party for Where the Snow Settles, by Myriad Games. It was an honour to be invited, and wonderful to see them launch the game. I will have a party too! With real beers. If you want to take part, please join my Discord server, in the links section of this website, and you will get notified when it’s on.. It will be invite only.

    I have some other non-games projects I’m working on, such as a cross-platform music player, and an electronic virtual pet. I may spend some time on those this month, which might slow down my game development a little. But I am still aiming for a Steam release within 6 months from now. Likely much less than 6 months. Get excited!

    I’m still very keen to work on Wizards with Rockets. I briefly had a look at Squirrel scripting the other day, for another project. I am going to be implementing scripting in the engine, so I can make scripted events, like dialog and animations in the single-player campaign. That’ll be big! But Gravity Flux comes first for now. Keen to release my first game on Steam!!!