Sunday, November 3, 2013

Hiatus again

I haven't updated the blog in a while, eh?
Well, skipping all the formalities, it seems that I have to postpone Blastorium's development for now. I got too many things to do at the moment, and instead of spreading my time to try covering them all (yielding poor results), I believe it's best to delay the ones that can be postponed. In this case, it's... gamedev.

I don't know when I'll be able to go back to gamedev, but it probably won't be in the upcoming few months. On the plus side, I'm currently trying to (again) re-code Blastorium; This time using Unity as game engine.

Doing things from scratch has been a great learning process, but for a total newbie like me to do it that's probably all it's gonna do. I learned what I can from it, and now's probably a great time to move to a more well-known and supported engines to create a game that's actually cross-platform and isn't reliant on my horrid programming skills in order to be barely cross-platform and/or playable.

See ya all


Sunday, September 8, 2013

v1.2.2 beta - Medic!

Click here to download Blastorium:Recoded v1.2.2 beta

-Text below is irrelevant if you're just here to try the game-

A new challenger appears!
A lot of factor has played a role in making this update extra-quick. I'd say it's due to the euphoria from finally solving a bug after 10 days' worth of work (refer to previous post), but it's more probably due to the fact that Medikit is quite easy to implement and I have nothing else to do this weekend.

Medikits allows you to walk on fire!
please don't try this at home

Either way, this weekend's been pretty damn productive.  Project Blastorium:Recoded is now available on GitHub (Yes, I finally learned what github is!), and there's been a ton of work done on top of medikit alone. Most of them are balance fixes, which will be explained in greater detail below, but I also managed to find a ton of useful graphics from the net which will be useful in the near future.

  • Added Medikits!
    • Medikits are passive support weapons
    • Passively, they grant regeneration and heals you everytime you pick a powerup
    • When used however, they grant you temporary invulnerability!
    • The invulnerability comes with a massive self-slow, however. And during cooldown, the passive side is disabled as well. Be careful in using it, as the cooldown is massive!
  • Rockets rebalanced:
    • Increased damage
    • Far less hit delay (It's far easier to hit now)
    • Added initial cooldown (You can't immediately use it at the start of the game)
  • Mines rebalanced:
    • Level 5 mines now deals only 1/4 damage to its owner (Previously 1/2)
  • Number system tweaked a bit
This update includes sparkly heal effects
As always, bug reports and feedback is appreciated.

That should be everything. For those who actually read all that, thanks for being a great reader and tester! It might not seem much, but for someone like me, knowing that someone actually supports my work is... simply cannot be put to words.

Do look forward to the next update!


Friday, September 6, 2013

v1.2.1.2 Beta - Fixes and stuff

Click here to download Blastorium v1.2.1.2 Beta
-(The text below is largely irrelevant and can be skipped if you wish to merely try the game)-

It's over.

Within the span of these ~10 days, I've struggled with pointers, replaced every single bit of * pointers into shared_ptr<>s, solved memory leak, only to meet with heap corruption, butchered my code, finally learned the use of forward references, pretty much restructured the entire project to introduce a new GlobalManager class which holds every single data I need, still encounter heap corruptions, butchered my code (again), and tweaked every single class in the file to fix the problem.

It's finally over.

I have extreme difficulties finding testers this time though... for some reason. There are like 15 people I contacted already over the span of 3 days, and none of them apparently are capable of testing it. It's none of their faults, of course. I'm the one asking favors and I had been asking too much of them lately, but to not receive any help even from all of those people, even those I've never asked before... It's just disheartening.

For now, I'll just stick to my intuition and say it's fixed. Because otherwise, my sanity might be endangered.

I'll work on some minor fixes and the 4th weapon now. Finally.


Wednesday, August 28, 2013

Memory leaks

Very bad news.

I didn't really receive a lot of feedback about Blastorium:Re (despite practically promoting it in every place I know of), but even worse, the few people kind enough to become testers all reported errors during testing.

All of them.

These last few days has pretty much been a nightmare. Armed with both my and my roommate's laptop (Plus some of my testers also helped through the net. Seriously, you guys rock) I've been trying to find out what's causing the problem, adding debug outputs and spending minute by minute slaughtering the spherical character known as Player 1 in the game just to test if a game cycle (Play, win, repeat/back to main menu) is finally working fine.

I'm not advancing anywhere fast, however.

The errors were inconsistent. That's basically the worst thing I can ask for now. Some face errors pre-game, most face errors post-game, and sometimes, randomly, it didn't occur at all.

As of now, the only possible cause I can think of are memory leaks. My horrid knowledge about using pointers is finally going to take its toll, and it's struck me during the most inconvenient of times. I am currently trying to replace all of them into smart pointers (Which for some reason I didn't know it even exists till yesterday) and it means skimming through every single line of Blastorium's code. And I was really looking forward to implementing weapons.

PS: I also picked up a design project for this year's Indonesia's informatics olympiad booklet, which is due this Saturday. I should really be working on it now, but for some reason this bug just won't get out of my head as if it keeps asking to be debugged asap... I can't even think of a good design as of now.

Seriously, fuck pointers.

Sunday, August 25, 2013

V1.2.1 Beta - Select screens and stuff

...are apparently far more complicated than expected. Thank god it's done now.

Click here to download Blastorium:Recoded v1.2.1 Beta

So this update brings you the select screen! ...and more or less nothing else. But don't get me wrong, this single select screen page is probably more troublesome than implementing mines (definitely worth it though).

Now you can pick 3 weapons from a pool of... 3 weapons. Well, at least you can decide their order
As you can see, the single select screen covers both weapon selection (top half) and stage selection (bottom half). I did thought of making them separate to give more space for each part to contain more information (Such as what a weapon does, what effects does this stage/arena has, etc) but ended up mixing them together for design and efficiency purposes. As for the extra information, I decided to group it into a single "encyclopedia" page, which I'll work on later.

Not pictured: awesome scroll effect
The lower half was less technical-complex (I have to consider less input types and less constraints compared to weapons, which must not allow duplicate pickings and stuff), but more visually challenging to pull off, with alternating opacity and size relative to distance to the center as well as the minimaps' alternating movement speed, which for some reason requires like 15 tries to look good and clean enough.

Either way, this is a pretty major development, probably more significant than how it looks at first glance. My production speed (Which is more or less 10 days from the last update) is still not satisfactory, but isn't really bad either considering how much of a change this is.

First of all, a select screen means I no longer need to use the terminal (the one you previously need to enter a number to in order to start the game). This solves a major inconvenience from previous versions, which is the fact that you have to restart to change stages.

Another point is that the select screen is fully compatible for future updates. I can now start adding weapons to the game, since you can now actually choose your arsenal. Changing the system from fixed-3-weapons to dynamic is not very simple when you code as horribly as I do. And of course, there's the invisible-for-now prerequisite system which will require you to play a considerable amount and racking up numbers before unlocking any weapon other than the first three. Unlockable content is the probably the best thing ever invented in games :)

Either way, having the select screen finally done and working fine greatly opens up the way for development. I still have to implement sound, but unlike this screen I could delay sound in order to prioritize gameplay. Next update might or might not come soon (most likely the latter though), but when it does, you can look forward to seeing the first of the 9 unlockable weapons!


Thursday, August 15, 2013

v1.2.0 Beta - Holy shit it's an update

First and foremost, a deep apology on the lack of updates lately.


Okay, I had this exact version done and ready to go since 31st July, but decided to keep it unreleased since it's kind of "cleaner" to have it updated together with the finished level select screen (terminating the use of the terminal entirely), and perhaps the help screen as well. After all, I should have a ton of free time during the beginning of my first semester at a university right?

You should know what happened next.

In the end, I underestimated how little time I'm left with during my first few weeks in university and the project's progress received a massive blow because of that. I still intend of finishing up the select screen soon now that most of the paperwork and club-signing up is done, but that would require delaying an update even further, which isn't feasible anymore for me.
//end of rant

So here's a main menu screen for ya. It's basically the old same title, but with added stuff to make it merrier. I had trouble choosing what would go well with Blastorium, so I decided to just go with what's epic-looking and still easy enough to animate via code, which are rotating gears. And I even made it so that it can change directions smoothly based your input (Which is a totally productive use of my time)!

As said, level select screen will come soon. Depending on how much time I have, it might also come together with a weapon-select screen, which will be useful soon once I finally implement some added fun. Based on how things were these last few days though, it won't.

Apologies again for the delay, and stay tuned.


Tuesday, July 16, 2013

v1.1.0 Beta - Statistics!

Click here to download Blastorium:Recoded v1.1.0 beta

This week brings you numbers. Look at dem numbers. LOOK AT THEM

This week's been pretty productive. Not only that I learned a lot about save datas and some extensive knowledge on SFML's multiple classes, I managed to nicely implement a system I always wanted to have in Blastorium: Stats.

Ever felt all your effort and time spent on beta-testing was in vain? Well, things are changing!... sorta. It's still going to be somewhat in vain, but at least your lifetime stats will be recorded now! It might look useless, sure, but it should be pretty relaxing to see you're making progress in maximizing the numbers. That's how it works for me, anyway. Besides, who knows? One day you might present me with a screenshot and force me to do a favor in return of your beta-testing efforts.

You can (probably) force me to buy you a burger with these!
On a more serious note, getting statistic features done is a huge step for me. Having recorded stats means you can have unlockables, something I plan to implement along with additional weapons. I had already written down ideas for ~9 more weapons or so, and just to make it fun, unlocking them are going to take some dedication :D do yourself a favor and start accumulating those numbers now!

Oh, and I also implemented a game over screen and a sweet transition animation. In fact, I added a ton of animation that I'm pretty damn proud of. Now it's worthy of being called a decent prototype! Enjoy!