Pre-Order the Game!

Desura Digital Distribution

Wednesday, October 29, 2014

Progress report Oct 30, 2014

We have great news to share. Our team continues to work on BB. Currently Laszlo is spearheading the technical upgrades to make BB cross platform.
I quote one of his many contributions:
"I vote for using QT.
Here is why:
- support for Mac,Win,Linux, Android, IOS, Raspberry Pi (SFML is only for Desktop currently, but it is under development)
- good support in Linux repos
- high level abstraction or low level programming is also possible
- good documentation, a lot of examples
- Qt is complete framework, not just OpenGl wrapper:
- easy to install IDE for all Desktop platforms
- GUI description language with easy syntax ( QML )
- support in qml: buttons, lists, sprite, animated sprite with smooth transition, web browser, video, image, rotation, transition,...
- new QML objects can be implemented in C++
- javascript scripting
- sound wrapper
- build system (like CMake)
- and so on....
- you can also embed SFML widgets in QML programs! So this is also an option.
Disadvantage:
- the performance can be slow because of the high abstraction but I think there is not much animation in BB
Pros:
- it makes easy for new developers to start using it
- it is productive for GUI development.
- we can achive better results later, if new components are developed for QT.
With SFML only we have to implement each GUI feature".
He already implemented several demos including screens, custom buttons, galaxy windows, and stars. So far so good, but too early to declare full success for all platforms.

So we are moving from C# to C++ and use QT runtime environment for now unless we find a dead end or major performance problem. We maintain open source repo.

Meanwhile Brent and I had lots of discussions and made some key changes in design and have early implemenations, such as hex based space battle.

Ivan contributes with technical expertise, experience, and testing for now.

In addition, I have searched for and hired 2 master composers who agreed to compose original music for this game. Fingers crossed that they will actually deliver as promised.


So everything is heading in the right direction, but please volunteer if you think that you can help and feel the burning desire like us to do something good about this project. We do it in our free time as a service to the community and our progress is slow.

Wednesday, July 23, 2014

GSSB race done!

The artist just finished another race, bringing up the total races to 12.  The 13th and last race is currently being worked on.  Here's a look at the new race, called "GSSB".  It parodies the fact that if aliens are female, they must be attractive, thereby humanoid with distinct human features, with one or two minor differences such as color of skin or some other such cosmetic feature.  Note, this is not intended to be derogatory toward women, but rather, how female aliens are portrayed in older sci-fi games and shows.

I nearly called them Orions in a nod to both Star Trek's Orions and the name of Master of Orion, but realized that there's already another race called Morions, and it would be only a difference of one letter.  So I'm going with GSSB which stands for Green Skinned Space Babes.  However, I'm open to suggestions for other names.

This race is equivalent to Master of Orion 2's Elerians.


Thursday, July 3, 2014

Pudelhunds, Linux, and C++, oh my!

Good news, everyone!

Laszlo (the Linux programmer) and I investigated different approaches to C# and C++ that would be cross-platform.  C# was a major pain in the butt porting over to Linux (I couldn't even set up the Windows version of the test program that Laszlo threw together for Linux).  So we felt that even if we manage to get it working, it'd detract many potential contributers away with over-complicated setup requirements.  So we decided to look at C++ alternatives.  Laszlo found a very good alternative, SFML, that is almost identical to the Gorgon engine that I was using in terms of framework and way it handles things.  The only thing missing is word-wrap functionality.  We're currently looking at a third-party GUI library, but if it don't work out, we'll add the functionality ourselves.

I've created a test SFML branch to test various features that will be required for Beyond Beyaan to work (shaders, image manipulations, text drawing, etc).  Both Laszlo and I was able to run the same code on both Linux and Windows.  So once we've finished investigating the GUI library, we'll start converting Beyond Beyaan into C++, and also test on Mac.

Ivan Kravarscan has also offered to join in the development efforts, so please welcome him!  Also, I'm giving Arpad access to post posts on the blog, so expect to hear from him from time to time.

Last bit of news, the artist finished the Pudelhunds race artwork (They're the Gnolams equivalent).  Here's a preview!  They're mafia-esque, with ships inspired by old popular mafia cars used in Chicago.  Yes, the pudelhund in portrait is holding a tommy gun :)


Friday, June 13, 2014

Fleet Overview Screen done

The UI layout for Fleet Overview screen is done.  I just need to hook up mouse events and add a dialog for confirming of scrapping ships to both Fleet Overview and Fleet Specification screens, then I'm moving on to Diplomacy and Ground Combat.  After which there'll be only Space Combat and Random Events left, along with general bug fixing, UI tweaks, and minor feature implementations.

The discussion on cross-platform and what to do is still ongoing.  We've discovered that OpenTK works pretty well (Remember the ReMoO project that I started a few years ago?  Laszlo was able to run it after simply updating references in MonoDevelop).  So we might stick with C# but convert to OpenTK.  We're determining which of the two choices (C++ and 2D engine, or C# and OpenTK) we should pursue at this point.

Finally, here's a screenshot of the Fleet Overview:


The idea is that you can click any fleet, and it'll take you to that fleet in the galaxy view.

Friday, June 6, 2014

Fleet Specs and Git

We've got several exciting news!

Arpad invited his friend, Laszlo Gerecs, to help with the programming aspect of Beyond Beyaan.  Laszlo is a Linux developer, and we're currently discussing what direction we should take with Beyond Beyaan.  I believe that we will convert it over to C++ for easier crossplatform development (Linux, Windows, and Mac), but the discussions are still ongoing.

We've also decided to move the source over to git, so from now on, you can find the source code and assets from here: https://github.com/Beyonders.  We will clean up the source files and assets so they match open source format (Assets will be in their own repository, with source code separate in another repository).  You may notice that we have "Mono".  This was an attempt to see if Mono is feasible for our crossplatform goal, but turned out to be difficult to set up.  Hence our discussion if we should go the C++ route.

The code will still be on SVN at google code, but it's depreciated and won't be used anymore.  It's there for reference (I still have the UI XML and other nifty features that I ripped out in there).

I also worked on Beyond Beyaan a bit, and finished up the Fleet Specs window, the one where it displays if you're trying to add a new design but you have six designs already.  Here's a screenshot (For reference, the old one is seen here):


Friday, May 23, 2014

Plan for Beyond Beyaan

It've been a while, but it has been a productive month in terms of design tweaks.  Arpad and I has been discussing Master of Orion 1 and its good and bad aspects.  Arpad helped illustrate the flaws in AI, and after he explained them, I tried a new game on Impossible difficulty.  If you recall, my last attempt failed disastrously.  This time, I'm effortlessly crushing the AI.  I now feel dirty knowing AI's exploits, Impossible is no longer "Impossible".  Our plan for AI is to have AI be actually smart, and reduce AI cheating as much as possible.

So our goal is to not exactly replicate MoO 1, but take the best and improve on the bad.  With mostly input from Arpad, the following are list of changes that Beyond Beyaan will have:

Space Combat - The map will be a hexagonal grid.  This is to improve logistics for missiles/torpedoes, minimize distance discrepancies, and generally balance things out.  This is mostly to help the AI.  It will still be vertical columns of tiles, so it shouldn't differ too greatly from original.

Diplomacy - All races start with neutral relation toward each other.  This will help boost the weaker races (Mrrshans, Alkari, and Darloks especially) while not weakening other races (Humans will have different bonuses as explained below)

Personality - AI won't have "Leader Personality" like in MoO 1, they hurt more than help the AI.  So each AI will factor in their race's strengths and act on them, instead of trying to do something counter-intuitive.

New Races - Since Kickstarter has resulted in success for the three extra races, Arpad and I discussed back and forth on how those will fit in a MoO 1 universe.  We have tentatively set forth their attributes as explained below.

Leaders - Likewise, I promised leaders in Kickstarter, but how to retain the simplicity from MoO 1?  Arpad suggested that they be a random event, with a randomized duration.  I liked this idea, and we fleshed it out.  There will be 22 different leaders, revolving around 11 different attributes that can help or hinder your empire.  For example, there are two financial leaders, one good, one bad.  Good will add a certain amount of income, while bad will reduce amount of income.  You cannot hire or dismiss them.  Each leader only have one attribute that they improve/degrade.  It's possible to have multiple leaders at the same time, based on random event roll.

Both New Races and Leaders will be checkbox options that you can disable when starting a new game, if you do not like those features.

We discussed extensively on how to balance the races in MoO 1.  Psilons, Meklars, and Klackons were the strongest, while Mrrshans, Darloks, and Alkari were the weakest.  We wanted to balance them, but still have each be unique from other races.  We've settled on the below (Left is the original bonuses/attributes, if it don't list a technology field, it is "Average", on right are the Beyond Beyaan's version of the race).  This is subject to balancing and testing, but we feel that this will even things out and still retain an interesting gameplay.  Also the new races were problematic, but hopefully they are unique enough with the listed attributes.



If you have concerns or suggestions for any of the discussed features, please let us know in the comments!

Thursday, April 24, 2014

More work on Planet List

The planets' economy system is nearly done.  Planet List screen is almost done as well.  The only remaining features is to implement infusing a planet with reserves to boost its production, and the dialog for it.

After those are done, I will re-do the Fleet Design List window and implement Fleet List screen.  As well as bugfixes and minor tweaks.  At that point, I will upload a new version to Desura.

Here's a screenshot of my progress, note the new taskbar at bottom.


Wednesday, April 23, 2014

Zygobies race artwork done!

Last fall/winter, I had to put hold on purchasing artwork due to financial constraints.  But things are better now, and I've commissioned my artist to do the 10th race, the Zygobies.  The results are fantastic!  The original description from kickstarter are as follow:

"Spores that has taken over various hosts, often without hosts noticing it, as their personalities and thinking are gradually altered. They are excellent spies for this very reason, and are heavily mistrusted, because you never know if some of zygos has rubbed off on you. Their society is a pure meritocracy, with ranking based directly on the host's brain mass as their intelligence is limited by the size of the host's brain. Despite their name connotations, they are very cunning and clever, not to be trusted."

The concept is that they conceal their host's bodies, so that others won't know which species have fallen under Zygobies' control.  They are master spies and don't care what methods they use to extract information.  They also use stealth styled ships that are designed for speed.  With those in mind, here's a preview of the Zygobies!


We now have 10 races' artwork done!  I'm having the artist do space combat graphics now.  For those who don't know which race imitates which race in MoO 1, here's a quick recap:

Humans - Humans
Nurds - Psilons
Zygobies - Darloks
Salix Cybornia - Klackons
Zero People - Meklars
Araneas - Sakkras
Velociraptors - Bulrathis
Pyrrhans - Alkari
Morions - Silicoids
Space Hamsters - Mrrshans

Later, after all other artwork are done for making a complete MoO 1 clone, I will then commission work on additional 3 races and leaders for MoO 2's version as per kickstarter's stated goal.

Friday, April 4, 2014

A Makeover

Arpad and I continue to test and improve the game.  One of the things I just did was to give the fleet window a make-over.  It now dynamically re-sizes based on the amount of types of ships in the selected fleet.  The scrollbar for fleet list is replaced by next/previous buttons that allows you to change between fleets if there's multiple fleets in the same point.

Here's a before/after screenshot of fleet view window:


Thursday, March 20, 2014

Progress report

I sent my latest build to Arpad last week, and he gave me a list of bugs and issues that needs to be fixed.  I've been working on those, and also fixing some other bugs that I discovered.  There's now 8 code issues, 1 art issue, and 2 enhancements left in the list (not counting the "Other" category).  As soon as those issues are resolved, and I've finished the planet list, I will update the Desura build.  Then you all can submit bugs that you discover at https://code.google.com/p/beyond-beyaan/issues/list.

One of the issues I worked on is that ETA wasn't being displayed.  So I took time to implement it, and here's a screenshot of it in action:


Let me explain each of the picture.  Top left is the star being out of range for the colony ship which does not have extended fuel tanks.  Top right shows a scout already en-route, with 3 turns left to arrive.  Bottom right shows you being able to change destination, but since it's already en-route to the first star, it will have to continue there, then it'll go directly to next destination.  Hence two ETAs being displayed.  However, since it won't stop at the first star (it will simply continue to next star without stopping there for a full turn), it won't explore the star.

This latter is very useful in cases when you have ships retreating, and you want them to reroute to another star when they're already en-route, this allows you to make orders without forgetting about the fleet.

Hyperspace communications will of course simply change the route to be direct to the new destination.

Friday, March 14, 2014

Space Scanners Implemented!

I realized that I totally forgot the space scanner part of the planets!  So I took time to implement them, and to fix up issues related to it (such as able to select invisible fleets, seeing other fleets not in range between turns, etc).  I also even added a scanner range visual indicator, by pressing "R" (similar to Fuel Range's "F").  I changed the fuel range to be green, instead of empire color, and radar to be red.

Here's a screenshot with me using Deep Space Scanner technology.  Note, fleet's radar is actually centered at the system they're in, otherwise they'd be centered on the fleet.


Announcing the AI Developer

For those who've been worried about the AI for Beyond Beyaan, worry no more!  I am now joined by a Dr. Arpad Kelemen, who specialize in AI.  Let me introduce him:

"I am the #2 designer and developer of reMaster of Magic, which is the latest open source attempt to revive the best turn based strategy game idea of all time – Master of Magic. Master of Orion 1 is #2 on my list. I am a computer science PhD who is an extreme Master of Orion 1 fan since it came out. I am also a funded academic researcher who leads developments of computer games that involves programmers, doctoral students, and faculty at an American university.  My Ph.D. was in AI theory and AI software development. I published many scientific papers and books on AI and taught AI courses at a university."

Right now, he is assisting me in testing my game and giving me feedback on bugs and things that needs improvement.  When the game reaches a stable state, with all the rules frozen and bugs fixed, then he will start development on AI.

Please welcome Dr. Arpad Kelemen!

Wednesday, March 12, 2014

Planet code ~95% done!

Yes, you read the title right, the planet's code is about 95% done!  The remaining 5% is for minor stuff like adding to list of notifications the player gets when starting his next turn, bug fixes, stargate which isn't implemented yet, planetary bonuses being applied, and number tweaking.  Now I'll finally go back to the Planets List screen and finish it.

The following has been implemented:

Factories, with robotic controls and refitting

Environment, with pollution cleanup, terraforming, atmospheric terraforming, soil and advanced soil enrichment, and population growth (yes, you can actually generate waste now, and reduce max population)

Missile bases and shields, including upgrading older bases (Yes, missile bases factor in your available technologies when determining how much it costs)

Display text for each of the field to correctly show what that field is working on ("Building Shield", "Atmospheric Terraforming", etc)

Matched the planet type generation to MoO 1 (such as higher chance of hostile planets at blue stars, etc)

Matched the planetary bonus generation from MoO 1 (even though their bonuses are not actually applied yet)

Matched the star type generation percentages from MoO 1 (Such as 25-30% chance of having red star, etc)

Fixed some crashes that I came across.

Thursday, March 6, 2014

Slowly matching MoO 1's mechanisms

If you follow my commit history, you'll see that I'm working on under-the-hood for matching up Master of Orion 1's mechanisms.

It is a bit tedious work, nothing too exciting.  But I thought I'd let you know that work is still under way.  The planet list is mostly implemented, but required that I finish the planet mechanisms before I can finish the planet list.  So as soon as missile bases, waste, and a few other items are handled, then I'll finish the planet list and post a new screenshot.

There is one detail that I can't quite figure out.  The manual or the official strategy guide have no explanations on how waste affects population's growth.  Over at Realms Beyond, I learned that max waste is the planet's base size - 10 (terraforming does not count toward the limit, but atmospheric terraforming and soil enrichments does affect the limit).  But the actual population loss is still a mystery.  I did some number crunching, and the closest I could get to the game's results is the following:

private static float GetNewPop(float pop, float maxPop, float waste)
{
float newPop = pop - (pop * ((waste / maxPop) * 0.1f));
newPop = newPop + (pop * ((1 - (newPop / maxPop)) * 0.1f));
return newPop;
}

So if you happen to have the actual formula laying around, please share, thanks.

Wednesday, January 29, 2014

Still Alive

Yes, I'm still alive, and yes, I'm still working on the game.  The past couple of months I've been feeling a bit burnt out, and just wanted to take a break.  So a friend and I decided to learn how to do networking in C#, by creating a multiplayer Asteroids game, in our free time.  The upside is that as a result, I can copy over the mechanisms into Beyond Beyaan.  We're still not done, there's a lot of stability issues (it crashes or corrupts some memory for some reason), but we're slowly getting there.  So once everything else are done for Beyond Beyaan (including AI), I'll start looking into adding multiplayer.  Here's a screenshot from that game:

Me vs Gold and Repulser Asteroids

I'm going to name it "Asteroids of Beyaan" since it uses the same artwork from Beyond Beyaan :)  I may put it up on Desura as well if there's enough interest.  What the game features:

Physics - Asteroids bounce off each other, unlike most asteroids game, making for a hectic mayhem.  The harder an asteroid impacts your ship, the more damage it deals to you.

Upgradeable ships (5 different ship sizes to choose from, with 18 different artwork per size, and various upgrades like rotation, acceleration, speed, shield, etc)

11 different types of asteroids, each with their distinctive color.  They are:
Gray - Your regular boring old asteroid.
Clumpy - Upon impact with each other, they clumps together to form a bigger asteroid.
Magnetic - When you draw close to this asteroid, it suddenly accelerates to your position due to magnetic attraction, very deadly
Explosive - Instead of splitting into smaller asteroids when destroyed, this generates a shockwave that damages everything nearby
Black - Same as Gray, but Black.  Why? Well, the background is black, so requires a sharp eye for this one.
Dense - Very dense meaning other asteroids bounce off it without affecting it much.  Also harder to destroy.
Gravitic - Pulls everything nearby towards it
Zippy - Low mass equals high velocity, they're speeding bullets bouncing off everywhere.  Watch out for them!
Repulser - Opposite of Gravitic, pushes everything away from it.
Phasing - This asteroid phases in/out of our dimension.  When phased out, doesn't interact physically with other asteroids.
Gold - Gives a lot moola for your troubles (you use money to buy upgrades)

----------------------------------------------

Anyway, back on subject of Beyond Beyaan.  There were three main reasons why I was feeling burnt out.

First one is that Beyond Beyaan at its current state is simply not fun to play because it requires all components to be in place before it's playable and fun.  Hence my "break" in making an asteroids game.

Second, my family and I got sick a lot over the holidays, most of them minor colds, but enough to hinder my work.  I even got shingles :(

Third is the UI.  I've been trying to create the Planet Overview screen, trying to cram everything into 800x600, the minimum resolution that the game supports.  No matter what I do, it won't fit, or don't look good.  Finally. this week, I decided that I'll just make my life easier, and expand the min resolution to at least 1150 by 600 (any resolutions bigger than this will be supported).  This has helped me get back into the game.

Here's a preview of the planets view: