Beyond Beyaan Q&A: Lofty Goals, Passion and Ambition
I was engaged in an email conversation with the creator of Beyond Beyaan, Brent “Zeraan” Patterson, about his upcoming game, when he hit me with the following statement — which he said I could quote — after asking me if I like Master of Orion 1 over MoO 2 (don’t worry, I love ’em both):
Yeah, both have its pros and cons. Here’s a secret: My plan is to kick MoO 1/2 off of its pedestal, and have BB be the new 4X TBS game to be compared to :) But in order to do this, I have to have all the best elements from both games available in BB. So this means that BB must be very moddable so if people want to “recreate” MoO 1/2, they can do so in BB. This means that I will add “options” that you turn on or off in a config file, such as single ships (MoO 2) or stacked ships (MoO 1), leaders on/off, buildings on/off, etc. However, I won’t be limited to just the best features of MoO 1/2, I plan on adding my own features. There’s already one such feature, the planet management screen where you can manage all of your planets from one spot. Neither had that, and as a result, suffered from tedious micromanagement issues (MoO 2 more so).
My plan for BB is similar to Dwarf Fortress, keep on maintaining and adding new features long after release. It’s more of my hobby, something that I enjoy doing in my free time, than an attempt to capitalize on the game. However, it’s very helpful to have support from the community (balancing, finances for artwork/sounds, etc).
One thing that I’ve noticed is that after the game is mostly playable, it’s easier to work on it. The hardest part was setting it all up (pathfinding, galaxy generation, turn processing, etc). This is where most projects failed, but I’m now past that point. I can now focus on the fun stuff, such as space combat. It’s easier to stay motivated now, because now I can go “Oh, what fun feature can I add?” and work on items that I want, instead of being overwhelmed with necessary features that I need to implement to make it playable.
It’s kinda like when you create a FPS, the hardest part would be setting up the engine, creating a level, implementing a weapon, adding collision detection, etc. Then once you have a functioning game, you can add new monsters, new weapons, new features that’s not necessary to make the game playable, but adds fun factor.
Impressively awesome, huh? He then offered to answer more questions, so I asked him a bunch, the answers to which you can read by clicking below. Enjoy!
Brian: For folks who are unaware, could you please give us a description of Beyond Beyaan in your own words?
Brent: It is a 2D turn-based 4X space strategy game, similar to the classic 4X games from the 90’s.
Brian: You’ve been at this for well over a year! What inspired you to create Beyond Beyaan?
Brent: Over two years actually. I first started this in Dec of 2009. At that time, I just finished an asteroids clone called “Asteroids of Beyaan”, and was thinking whether or not if I have the capacity to create a 4X game, which was my childhood dream.
Ever since I played Master of Orion 1 , I’ve always wanted to create my own 4X game. Master of Orion 2 came out, and I played that, but not as much as the first one. There were some other games, such as Space Empires, Pax Imperia, and Imperium Galactica that I enjoyed as well, but I keep going back to Master of Orion 1. I kept wishing that there’s a worthy sequel to Master of Orion 1 that kept its style of interface (sliders and macromanagement), but most of the new games were either too complex, too micro-intensive, real-time, or 3D. I miss the simplicity of MoO 1, so I decided that if I want a real sequel, I’ll have to create it.
So that’s how I decided to start on Beyond Beyaan .
Brian: How many hours would you say you’ve put into Beyond Beyaan since you began, and what has been the biggest programming challenge?
Brent: Heh, I don’t know how much hours. Easily well over hundreds. As of now, there’s about 24,000 lines total in the game, not including the data/script files. The biggest challenge would be making sure that things are easily moddable. When I realize that something need to be converted to data-driven, I’d have to write the new code, then overhaul any of the code that relied on the old code to use the new code, which isn’t always easy. It’s tedious and dull, but in the end, it’s totally worth it! Each of those overhaul can take me a week to complete. There wasn’t any particular tricky challenges that I could remember, just the tedious task of adding features and working on screens.
Brian: Since this game is unabashedly inspired by Master of Orion and Space Empires, what are your favorite bits from those games that you’ve incorporated into Beyond Beyaan ?
Brent: I love the space combat from those games. I loved the special equipment that can do neat things, like the Black Hole Generator that can wipe out stacks of ships in MoO 1. I also liked the idea of component damage from Space Empires. Those aren’t implemented yet, but it’s in the plans. I also like the simple ground invasion from MoO 1, that’s implemented as well, however you can have more than one race on a side during a ground combat in my game.
Brian: In your quote above, you mention how moddable you’d like Beyond Beyaan to be. Could you go into more details about the modding options available to the player?
Brent: I try to make it as moddable as possible. Here’s a list of what’s moddable so far:
- You can modify the technologies, their starting levels, whether or not they’re required to show up in the tech tree, and their attributes. Racial technologies are also possible.
- You can modify each race’s starting condition. One race can start with one planet in one system, with a scout ship. Another race could start with 10 systems, each with 2 or 3 planets owned, and a massive fleet.
- You can modify star types and planet types to be used in the game. They also include which sprite/shader to use for each type. So you can add silly things like “Donut Planet” if you want. You can specify what planets can spawn for different types of stars.
- You can add new races, complete with custom sprites and ship graphics.
- You can create/modify galaxy generation scripts. So you could create a smiley face galaxy if you want, or a spiral 2-armed.
In the plans are:
- Creating new weapons/effects – For example, a frozen effect would render a ship blue, using a shader, and it would be applied if you hit the ship with a certain weapon.
- Sounds – It will load in sounds from a directory, you can modify the sounds
- AI scripts – You will be able to modify the AI, so if you find the AI too weak, replace with an custom-made one to give yourself more of a challenge.
I’ve added support for modding such that you don’t have to replace the existing files, you just simply create a new directory in the “Data”, and the game presents you with a drop-down allowing you to select which folder to load data from.
Brian: Since I’ve begun tracking your game months ago, you’ve been very prolific in posting your progress. Do you find all these posts and their comments helpful in making the game?
Brent: Yes, seeing people interested in my game gives me a warm fuzzy feeling. I know that people want a game similar to MoO 2, and seeing that they like where my game is going, it gives me motivation.
Brian: I’ve not seen much on the blog — unless I’ve missed it — about races in Beyond Beyaan. Are there fixed races — and if so, could you describe them — or is there flexibility in creating player races like in Master of Orion 2?
Brent: It’s a bit different from Master of Orion 2. In MoO 2, you can customize an existing race’s attributes, but the AI never have custom races. Nor can you add new race sprites.
In Beyond Beyaan, you don’t “customize” a race in-game. Rather, you create races in the race directory, and modify their attributes there. That way, both you and the AI can use those races, and you can have your own custom artwork. There’s no checks to make sure races aren’t overpowered, so you can create imbalanced races if you want. For example, if you want to do a zombie outbreak game, you could create a zombie race that starts with 30 systems and a lot of ships, while you start with only 1 system and a few ships. And you can create a custom AI for that race to make it act more zombie-like. To do that, you pick Zombie as race, “Zombie-AI” as the AI script to use, and add that as a computer-controlled player. Then you pick “Humans” as your race, then you start the game and start having fun!
So far, there’s three races, the Humans, Zero People, and Space Hamsters. I plan on having eight races for the release. Two of them will be space-based meaning that they don’t live on planets, and one will be a hybrid, meaning both space-based and planet-based. The remaining five (including the three existing races) will be planet-based.
Brian: What is your favorite thing about the current build of Beyond Beyaan, and why?
Brent: It is very flexible. I can easily add custom data without having to tweak the code. So if I want to add more star types, I just modify the stars.xml file. I also love the ground combat, it’s fun seeing them kill each other. Those are my current favorite features.
Brian: How much detail will be available to the player in Beyond Beyaan, and will it be friendly to new players, or should one have previous experience with MoO to jump in?
Brent: I plan on making it very user-friendly by providing tool-tips when hovering over elements, and a good consistent UI layout. If you’ve noticed, I’ve went to great pains making sure that everything is as simple and clear as possible. There’s still a lot to do, espeically with adding tool-tips, but the goal is that you don’t have to have experience with 4X games to play this.
Brian: Finally, what makes you the most excited about working on Beyond Beyaan and why?
Brent: Seeing what mods other people will create for this game. Frankly, I’m not very good at creating content, so I’m excited to see this game’s potential with modding. This is the main reason why I’m supporting mods.