Daydreaming

Binary Void Version 1.3

Binary Void version 1.3 is available in Unity asset store:

  • PDF walkthrough is updated with additional explanations and advices
  • Added more code comments
  • Minor code polish

The walkthrough is now 93 pages long. Some sections are updated to provide better explanations and a new one is added. This new section is about building the project into the game and it offers some tips for optimizing the build.

Advanced Invaders Version 1.3 & Binary Void Version 1.2

New Unity 2019 gave a nice performance boost to Android version of Advanced Invaders, thus the game is updated to version 1.3 on all platforms:

  • Performance improvements for Android version
  • ARM64 support added for Android version
  • Added Android adaptive icon
  • Alien bomber yields more points
  • Some additional minor polish

Particularly in Spacewatch mode, when bullet hell occurs, frame-rate could notably dip down. Now it appears to be solid ~60 in my testing on the same device.

Also, sooner than expected, an update to version 1.2 for Binary Void is available:

  • Fixed a problem where if project was built as a game for Android in Unity 2018/2019, virtual joypad axis wouldn’t detect dragging input event across the touchscreen
  • Added more code comments

Problem about joypad axis was really annoying one. In Unity 2018/2019, the virtual joypad axis in Android build of the game, was still functional but without drag events, which means it wouldn’t follow the finger-drag across the touchscreen and inside the axis field, making the use of it rather clunky. Turns out that the culprit was this line of code:

Cursor.lockState = CursorLockMode.Locked;

This code is basically locking the mouse cursor, but as of Unity 2018/2019 it seems to also disable drag detection on the touchscreen (at least for Unity’s UI system). Not sure if this is a bug in newer versions of Unity or intentional “fix” (make somewhat sense to be considered as such), but it sure gave me a headache.

Also, a forum topic about Binary Void has been opened in learning section of Unity boards, and you are invited to visit it :)

Binary Void Q&A Thread

Binary Void Version 1.1

New version of Binary Void project is available:

  • Fixed compatibility with new Unity 2019
  • Updated PDF walkthrough with more polish and additional explanations and advices
  • Updated some code comments, in order to be more accurate

Note from experience that could be useful to someone. When importing some project (with project settings), in Unity 2019 from some earlier version (like Unity 2017), you might have, Scripting Runtime Version set at Stable (.NET 3.5 Equivalent) option, in Project Settings/Player/Other Settings. This option is declared deprecated as of Unity 2018, and while in Unity 2018 project could still work fine with this option set, in Unity 2019 number of compiler errors might appear, making project broken right from the start, until the switch to .NET 4.x Equivalent option is made.

Binary Void, an expansion of Advanced Invaders! Sort of…

Binary Void has been published on Unity asset store!

This full game project is derived from Advanced Invaders and it’s carefully crafted for the purpose of teaching the general principles of game development in Unity. It features over 6800 lines of organized and commented C# code, and it comes with 90-pages long walkthrough documentation that is covering other assets as well, beside the code. The game itself may be 2D arcade (and of well known type) but it contains a lot of elements useful for many types of games as well as that general structure that most games of whatever genre often have (like saving stuff in files on disk or tweaking various game settings, rebinding of controls and such). While I was making Advanced Invaders, I insisted on building all this in order to learn how to make this structure for future games. Binary Void is the type of example project I wish I had when I was making my first steps in Unity so I figured I could make one myself. It’s long straight-to-the-point practical example that one can experiment with. I got impression that tutorial game examples in general, are all made with idea to push rookie developer straight into the gameplay action, neglecting essential structure that often needs to accompany the game and which is often quite tricky to build (at least it was quite tricky for me).

Nearly everything that Advanced Invaders game offers, is part of Binary Void as well. You can find out more at Advanced Invader’s page.

Based on what I read about publishing on asset store, I would say Unity folks aren’t joking. For example, this project needed to pass these guidelines:

Submission Guidelines

I checked them carefully and then adapted all elements of the project to meet these required standards. The fact that Binary Void passed on the first try after six days of waiting… I wonder if I should think of it as achievement :P Or was all that just a tall talk…

Otherwise, in the meantime, I have been toying with other aspects of Unity and as some of unity folks said, there really isn’t much difference between 2D and 3D in Unity, although it could be that my experience in Limit Load is talking here as well. I honestly feel now that Panda3D is like a spartan 3D engine considering how easy and approachable it is to build some graphical moments in Unity, which I consider essential for achieve the “good enough” 3D visuals :)

Advanced Invaders Version 1.2

New version 1.2 available. In this update:

  • Added a blinking halo effect on weapon boxes
    Weapon boxes should be more visible now, on the field.
  • The core will not anymore destroy alien bomber
    This collectable will not be able to damage any alien spacecraft with more than default 50 HP.
  • A bug in alien bomber’s move procedure has been fixed
    There was a mistake in bomber’s move procedure where bomber would ignore all retreat orders, from its spawn until its first move. This caused for more than one bomber to be present on the battlefield under certain conditions in Spacewatch mode.
  • Various smaller fixes and improvements
    Some tweaks in shake effect, minor optimizations, etc.

Advanced Invaders Version 1.1

New version of the game is available. This is the list of improvements in this update:

  • Fix for ultra wide aspect ratio
    There was a problem in background scenery of the levels if aspect ratio was wider than 16:9. Hopefully this is all fixed now, 21:9 should work fine (2560×1080), as well as FHD+ (2220×1080).
  • Subtle improvement in Mars background scenery
    Image of the sky improved slightly in level 3. Added a bit more detail.
  • Higher difficulty in Spacewatch mode on Android
    PC level of difficulty is applied to Spacewatch mode on Android. This should throw more weight behind the score.
  • Various smaller fixes
    Some general fixes in the game. There were a rare situations where some objects would remain in the level for longer than they should.

Advanced Invaders is Available

The first JGW game is finished and published. For Windows, Linux and Android.

At the moment it is available at:

Itch.io
Google Play

Might be available at more places.

This is a classic shoot ’em up game with retro-style action and a lot of different features. It has classic arcade campaign (intro-levels-outro) and one unlockable game mode, once the main game has been beaten. I also like to mention that it has one very special level in the campaign that is significantly different gameplay-wise than the standard game (almost like entirely different game) and the one I used to try additional stuff in Unity. It’s a challenging game too, especially Windows/Linux version of it :)

You can find out more about Advanced Invaders at its page.

All in all this has been one hell of a trip. Sometimes frustrating, sometimes boring, sometimes funny, but always interesting as the whole was steadily coming along. The bits and pieces I gathered during development of Limit Load, sure came in handy along the way. This game also gave me a chance to try some ideas about game design in general, some small things that I used to think about. I might write more about that later.

Beside Unity itself, a big thanks goes to its community that asked/answered many great questions about game development. Then various open artist whose work was of great help to me, and who are all carefully named in game’s credits :)

Kickstarter: Advanced Invaders

Now that the warehouse is up and running, it’s time for the first game project to be developed within its halls — Advanced Invaders. And right now, it is a live kickstarter project no less. Crowdfunding… something from which I believed I was light years away. You can find all about the project here:

Kickstarter page

It is “Space Invaders on steroids”, with many updates compared to its ancient role-model and with a campaign, that has a beginning and an end in the spirit of classic arcade games. It is aimed for both Windows/Linux and Android.

Some of the notable features are:

  • Main game with progression map and 5 + 1 action-packed levels, all around the Solar system. One level in the main game will be very special, much different than the rest, and more-or-less a different type of game.
  • One unlockable game mode, once the main game has been beaten.
  • Difficulty level in the spirit of retro arcade machines… one thing is certain, this game will not be holding your hand.
  • Four types of standard enemies, each with its own unique attitude and destructive arsenal, and two big bad bosses.
  • Four different types of weapon in player’s arsenal and a few unique to the aliens, not available to the player.

If the kickstarter succeeds, it will be an open-source game. Code will go under the BSD license and those few art assets of mine under CC-BY (since vast majority of art/audio assets that I use or plan to use in the game is under CC-BY anyway). Because of this, anyone will be able to use this game as one complete example to study Unity. Unity’s official example 2D game is great, and it helped me a lot while I was making first steps, but it was nowhere near a “complete” 2D game. Thus, I dare to believe that this game will be useful to folks interested in developing games in Unity.

Another reason why I am excited by possible success of this kickstater is that, ever since crowdfunding became a thing, I looked up to it as part of solution for the “mainstream terror”. And to some degree it has proven to be. For example, we would likely not get Pillars of Eternity without it. Now this modest studio-warehouse, Just Gameware, has a chance to be part of this way in making PC games. Plus I am interested in adding an open-source element to it and see how that will go.

While the Limit Load project was progressing on its own pace, I went on investigating the ever so popular Unity game engine and… my jaw hit the floor, no exaggeration there. But I will stop here with this fascination leakage. One thing is certain, I am definitely going to stick with Unity for future games. I don’t think I can imagine PC/Android game that is interesting to me, and that cannot be made in Unity in its full glory. Of course this doesn’t mean that I will abandon Limit Load, I will keep working with Panda3D, along the main code guy there, for the sake of that project. In fact, I already finished a lot of stuff there, and have been waiting for code guy to catch up, in order for it to start working.

The Warehouse

$ begin_eval.bat_

The front gate and master board………… passed.
Warehouse reception………… passed.
Storage room………… passed.
Junk depot………… failed. [mental note, unstuck those doors already]
Neon lights………… failed. [no matter, screens provide enough light]
Dev screens with haunting lights, shining in the dark………… passed. [gotta say, looks prettier at night… maybe the warehouse should be open only at night]
Prime server………… passed.
Dev tools & templates, scattered all around………… passed.
Player tools, mouse/keyboard/joystick………… passed.
Operational joypad………… failed. [awww…]
Water sinks………… passed.
Rusty beams on the floor, good for tripping over………… passed.
Ceiling windows………… passed.
No open wires around………… passed. [at least no visible ones…]
Fire extinguishers………… failed. [will use the hose if needed]
All types of administrative bureaucratic sticky crap visible on the walls………… passed.
A secret stash for tax evas– CENSORED!

Status evaluation………… passed.

Just Gameware warehouse is up and running!