Pre-Order the Game!

Desura Digital Distribution

Friday, June 28, 2013

Start of Planet UI and Renaming

I've started on the new UI for colony management.  It will eventually match MoO 1's functionality, with a couple of differences:

1. The item being worked on in each field will be a button that when clicked, brings up a new window displaying possible options.  This is especially handy when you want to build missile bases instead of that expensive planetary shield that takes forever to build, when enemies are approaching your planet.

2. You can rename a colony by clicking on its name in the text field, and just type in a new name.

Here's a screenshot of what I have so far.  Note that the design is not final, I'm just throwing in all the UI elements that will eventually be there, then I'll start moving them around until it all looks good.  Note the new font in star's name, and that I've explored some systems around me:

And here I've renamed my starting system to "Mah Homewarld"

Saturday, June 22, 2013

Fleet movement working!

I had some extra free time, so I finished up the fleet movement and selection of destinations, as well as displaying current path of the selected fleet.  Fleets now move to their destination, and after arriving, if it's not explored, it is now explored.  So, yeah, the gameplay part is getting there :)

On a side note, have you ever experienced this when you don't have hyperspace communications:

"Hey, I'll send some of my warships to this system to protect it."
A turn later, you see the enemy sending ships to another system
"Oh snap! I want to tell my warships to go to that system after they've arrived at current destination to save a turn!  But I can't!  I have to wait until they arrives before I can issue orders."
If you were able to tell them to move on, they might have arrived in time, but no, your colony gets destroyed because your fleet arrives one turn too late.

So I've added the ability to tell your fleets to keep on moving if you want them to go to a new destination right after arriving at their current destination, as shown in the screenshot:

In this case, the fleet has already left Scietn (Yeah, a random name) heading for the orange star.  I want it to move to the rightmost star immediately after arriving, and made an order to do so.

Now this raises a few balance issues, I'm going to address the ones that I know of:

If the original system is unexplored, I'm going to say to leave it unexplored because your fleet didn't actually stop for a full turn there.
If the original system has enemy fleet, your fleet stops and engages in combat as normal.

Any other situations that I missed that might not be balanced with this change?  I can add an option to enforce "No Secondary Destination" or something like that to match MoO 1's gameplay.  What do you think?

Fleets Updated

I've overhauled the fleet's movement system so that it uses the new free-moving system.  Fleets adjacent to a star system will sit on either side, depending on if it's departing or just chilling, similar to MoO 1.

I also updated the races to use the new SpriteManager instead of DrawingManagement (SpriteManager is faster and more efficient).  So each race now have their own fleet icon.

While this may seem like a short blog post, in actuality it was a lot of work.  Just look at the SVN history to see how much code I changed to achieve this.  There's still things I need to do to finish this, but it's now about 80% done!

Screenshot of a fleeet adjacent to the home system (Space Hamsters' fleet icon):

Wednesday, June 19, 2013

Changing from Grid to Free Point system

In early versions of Beyond Beyaan, I went with a grid-based map where everything is in tiles.  However, in end I decided to not do it, and changed over to free points.  But now when I reverted to the old version, the grid stuff is back :(

I'm now in process of changing the game to work with free points.  I'm done with star generation and drawing, but it broke the fleets and anything related to ships.  Camera is still a bit wonky.  Hopefully I'll get it all sorted out, then I can start adding back new stuff!

Here's a screenshot of the stars on a free-point system at closest zoom using the new animated star artwork:

In other news, the Pyrrhans artwork is nearing completion, will post an update when it's done.

Saturday, June 8, 2013

Star names!

This is the best decision that I've made, making virtually everything hardcoded.  Now I don't need to worry about how to make a feature support different stuff, which reduces a lot of stress. I've started importing stuff from the old revision that are handy, such as mouse cursors, SpriteManager, etc.

Then I decided to do something new, and finally fulfill one of my promises to the kickstarters.  Star names!  Their star name submissions are now used when the galaxy is generated.  If the names run out, then it generates a random name.

Here's a screenshot - Yes, one of the stars is "Predestination".  Be sure to check their 4X game out as well!

Wednesday, June 5, 2013

Reverted to a pre-SVN version!

I tried reverting to the revision when I first committed my source code, but the build failed!  I realized that I didn't include assets until revision 4, but even then, the data didn't match the code!  Yes, I know I said I'd strip out data, but I'd like to do it step-wise.  Grounding my teeth in frustration, I cast around looking for the right data from my old backups from before when I started using SVN.  I found an oldie that contained the source code as well, it's waaaaaay back when I still used grid based movement, and when I just finished adding sliders and stuff for planet management.

So I decided to scrap my whole revision, and just copy that old version over to start off as a base.  Behold, the mash-up programmer art and the new artwork!  This is a screenshot that I just grabbed now!

I've committed this version to SVN (if you still want the moddable one that I worked on, go to the branches and download it from there).  So go ahead and check it out.  In fact, since I'm now blatantly ripping MoO 1 off, I'll keep the artist's original star system selection (shown above) since it matches the old one instead of the spinning selection!

That step done, the next thing on agenda is adding back my glorious mouse cursor!

Monday, June 3, 2013

Enough with "Beating around the Bush"

Alright, I'm gonna be open and honest here.  The main reason for me adding modding support to Beyond Beyaan was to have the ability to play it like MoO 1 without being a blatant clone, "Oh, check this awesome 4X game, but if you don't like how it plays, you can just load up a mod and play it like MoO 1!"

If you check the 0.5 version on Desura, you'll see that I actually had it almost playable, it was just lacking AI, research, and certain features to make space combat work.  But most of the stuff were there.  You can invade planets, you can colonize, you can build ships, etc...  Now look at the latest version.  What do you see?  A galaxy... That's it pretty much.  What happened?

Well, right after that 0.5 version on Desura, I decided to re-do the economy system so that it'd be moddable.  That's mistake #1.  After finishing it, I felt that it should be moddable in other ways.  That lead to a sequence of a lot of work that just aren't visible to the users.

I'm not saying this to tell you that I give up.  No, far from that.  I'm telling you why I'm changing course and doing things differently now.

Instead of pretending that I'm not copying MoO 1, I'm outright just doing it now :)

I'm creating a branch and putting the current version in that branch for reference.  Then I will clear out most everything that I have so far, and focus on getting things implemented the non-moddable way.  This means hard-coding everything, including technologies, races, AI, etc.  I will restrict myself from using data files other than graphic files and save files.  I will copy MoO 1's gameplay as a base, to avoid design decisions.  This will be a re-imagined MoO 1 in every way.

You may be thinking, that'd be a drastic change.  The truth is, most of the delays were from me figuring out how to support modding for a certain feature.  For example, star systems?  I had to write code that reads in a data file that defines star systems, and the code had to be flexible to accommodate the different star systems.  It contains a list of planets, which in turn contains the bloated economy system that can accommodate any kind of economy that you want.  When doing it the hard-coded way with MoO 1 as base, the star system will just contain 9 values: the 5 sliders, population, factories, which ship being built, and owner.

Once the game's playable and all features are implemented, then I will start swapping out hard-coded parts of the game with code that uses data files to support modding.  Then after that's done, I will finally start tweaking the game to incorporate my design ideas.  I will keep the MoO 1 gameplay as "Classic" dataset.

I realized all of this when working on the new UI system.  The whole project has gotten so bloated that I'm basically endlessly designing and tweaking and getting nowhere, and having a hard time staying motivated.  This change will give me a boost, focusing on only the essentials now.  So please bear with me...