Page 1 of 3 123 LastLast
Results 1 to 30 of 62
  1. - Top - End - #1
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Making a game like Space Empires, need code reviewers

    I am finally making a serious start on a hobby project I've been wanting to do for a long time: making a commercial computer game in the 4X genre, similar to Space Empires 4.

    I am the sole developer on this project, and I have high confidence in my own abilities, but professional experience has taught me that extra eyes and opinions on your source code are always good to have. Thus, I am now seeking volunteers to review my code.

    If you have programming expertise (particularly in Java and JavaScript), like 4X gaming, and like the idea of watching such a game develop from (almost) the ground up while giving input that may influence its design, please sign up!

    How this will work:
    Spoiler
    Show
    I have set up a server running Phabricator, a code review suite that Internet reading tells me is what Facebook uses internally. Google's internal equivalent at my day job is better, but that's tied into lots of internal Google infrastructure and is not available for private use. Of the publicly available code review tools I've tried (including Github's pull requests, Gerrit, and Bitbucket), Phabricator is in my opinion the clear best.

    You create an account on my private Phabricator server, and I give your account access to view my code and changes. I upload changes, Phabricator emails all of you about them, you log in to view side by side diffs of the changes, you make in line comments about any details you think can be improved, ideally some consensus is reached that it's all good, and only then do I submit and the change becomes part of the repository.

    You will also be able to browse all the project code and history at will, and even download it all and compile and run it yourself. You will not be able to edit the server copy.


    What you get out of it:
    Spoiler
    Show
    Education and experience.
    You will get to see first hand what I consider high quality design and code. The various software engineers I've worked with professionally who have significant knowledge of my work are all unanimous that I write high quality source code. One of my goals for this project is to make and maintain a very high standard of quality, with no deadline pressure to give reason to compromise on that.

    You will see quite a number of libraries, frameworks, language features, and design principles and patterns in use. Listing some off the top of my head, I am using Hibernate for object relational mapping (with an H2 embedded database), Guice for dependency injection, Google's Guava library for all sorts of utility stuff, JUnit for unit testing, Mockito for dependency mocking in tests, custom annotation processing for automatic code generation, Jetty for an embedded server, Jersey for a RESTful api service, AngularJS for modularization, dependency injection, two-way data binding, and ever so much more in JavaScript, Google's Closure library for JavaScript compilation and utility stuff, Jasmine and Protractor for JavaScript unit, interface, and end-to-end testing, and I've probably forgotten some other things too. In addition to potentially teaching you about any of these that you don't already know, I plan at some point to make a stripped down libraries-and-framework-only version of the code that you will be free to use as a starting point for your own projects if you want to.

    Early input in design and game features.
    The initial design goal is to build a proof of concept imitating Space Empires IV, including the ability to use various SE4 mod files. Partly in order to alleviate any copyright infringement problems, I intend to design that version of the game such that it will only run if an installation of the real SE4 game is present. I specifically do not plan to produce a perfect clone of it, however, especially with regard to certain corner cases and bugs, and may make substantial changes if I believe they will meaningfully improve the game. Please feel free to suggest ideas for such changes, or even for how to implement them. You will, of course, be able to play the game with any such improvements that I implement.

    The ultimate design goal is considerably more ambitious - to build a unique game capable of standing on its own as a serious commercial contender. I have my own vision for what this game will be like, of course, but I am under no illusion that I have a monopoly on good ideas. The earlier an idea is presented to me, the easier it is to change plans to include it, and you will get to present ideas to me very early indeed.

    The game itself.
    During development and review, you will be able to build and run the game at any point, and I will make official versioned builds available when I think it's worthwhile. If and when this thing actually goes up for commercial sale, I will give each reviewer a free copy.

    No money.
    I want to be very explicit and up front with this: you will not receive financial compensation of any kind for your efforts. No money, no stocks, no royalties, nothing. This is a volunteer hobby effort.


    What I expect from you:
    Spoiler
    Show
    Please take this project seriously. I admit it is a hobby project I am doing in my free time, and expect it to be the same for you, but I am putting a quite significant amount of time and effort into it, and the benefits of code review will be seriously degraded if feedback comes slowly or without detailed thought.

    As I do have hopes to sell this commercially some day, I'd rather be safe than sorry and will require each reviewer to sign two legal documents I've drawn up. They say, in essence, a) the project is mine, and the fact that you gave a suggestion and I acted on it does not change that; and b) the source code is mine, don't use or distribute it without permission.

    While the source code itself is confidential, I'm not particularly worried about feature and design ideas getting out. In this kind of work, ideas are cheap, the code to make them work is the hard part. Feel free to publicly discuss features, game design, bugs, code design, library uses, etc. In fact, please do. Public discussion is great for driving up interest.

    For the actual reviews, please speak up with any and every idea you have for how the code or design could be even the tiniest bit better, no matter how nitpicky. Think a variable name isn't clear enough? Suggest something clearer. Found a typo? Point it out. Think my entire large scale concept is wrong? Please explain. Supremely high quality is a major goal here.

    For anyone who has not read it yet, I highly recommend picking up a copy of Effective Java. It is packed with a huge amount of extremely good advice, not about syntax or what the language can do, but about good and bad usage and style.

    If you are confused by something I am using, such as a third party library or design technique, first try looking it up elsewhere. If you're still confused, ask here. If you are confused by something I am doing (in the code), on the other hand, then a) read the comments near the confusing code, b) read the comments in the relevant package-info.java file, and c) if after both of those you are still confused, that is a strong sign of relatively poor code; please point it out and insist that I change it to be clear and not confusing.


    What the final game will be like:
    Spoiler
    Show
    I have a number of ideas drawing inspiration from Space Empires, Master of Orion, Galactic Civilizations, etc., but the big core idea that I have never seen anything do well is the ability to give high level orders (assemble a fleet at location X) and have them automatically translated, in a way the player can see, understand, and adjust, into low level orders (divert ship A from there, build ship B here, dispatch ship C from strategic reserve, etc.). One of the biggest problems 4X games have is that large games tend to turn into giant slow sprawling affairs where you have to micromanage so many details in such a huge empire that the game stalls out of boredom. Many games try to deal with this with "governors" or "ministers" or similar that amount to handing over some portion of your empire to the AI to handle however it decides to, but generally the AI does a very poor job of it and you have little or no control over the guidelines it operates under. I want to change that. I want a game where I can say "increase minerals production", and the game will hand me a sensible plan for how to do it for me to approve or alter, with notes about tradeoffs with other directives I've issued.

    Going hand in hand with this, I want an AI that thinks and plans in terms of such high level orders, and I think that concept will go a very long way towards making the AI challenging even on a level playing field.

    I recall hearing that Master of Orion 4 was going to have ubiquitous planetary governors everywhere, who you would give orders to and then they would decide what to actually build, and that this idea was horribly implemented and then mostly scrapped but still left remnants in the code that made improving planets behave strangely and with little control. I like the idea, and want to do it properly. In fact, I have this vision of expanding it to everything, and managing the "high level orders" thing as a series of transformations of orders from you to (e.g.) the Grand Admiral, to the High Admirals, to the Vice Admirals, and so on through the ranks. The critical thing for making it work is, I believe, giving the player a clear view of how and why the resulting operations correspond to his orders, and keeping them as servants who follow orders, not random factors who overrule or ignore you because they feel like it. And then just when you're used to them always being faithful servants, some other empire bribes one or activates a long secret double agent to corrupt your orders at a crucial point, thereby giving spy operations a mechanic just as concrete as everything else.

    For a less grand scale feature, I'm thinking a lot of research projects should have a prototype built somewhere as the semi-final stage of research completion. Imagine someone attacking your research outpost and getting driven off by your brand new bleeding-edge 5-times-as-powerful-as-the-mass-production-version (but 20 times as expensive) planet-mounted Annihilation Beam that just came out of the lab.

    I have an idea for an economic model where you have input resources (e.g. minerals), production capacity resources (e.g. factories), and operation resources (e.g. money). You pay money to cause your factories to build something out of your minerals. When your factories are operating at normal capacity, you can pay for overtime, double shifts, etc. to get even more building done, but it costs extra money per unit. When your factories are at double capacity, you can go to triple shifts but it costs even more. If you find yourself needing to do that, you should probably set those factories to building more factories. Add all sorts of other resources, such as schools, teachers, food, farms, farmers, researchers, labs, shipyards, military camps, etc. and it can build up into a complex yet sensible and understandable model.

    I remember an idea for making all ship sizes useful in combat, rather than degenerating into piles of nothing but the biggest ship available, but I think that's enough for now.


    I will eventually be asking for beta testers to just play the game and give feedback, not review code, but I don't have enough of a game for that yet.

    If you're interested in reviewing my code, please post!
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

  2. - Top - End - #2
    Ettin in the Playground
     
    AgentPaper's Avatar

    Join Date
    Jun 2008

    Default Re: Making a game like Space Empires, need code reviewers

    I'm in.

    For my experience, I'm fluent in C++ and Java, but don't have much experience in it. I probably won't be helping much with the actual coding, but I might be able to serve as an extra pair of eyes to look for bugs.

    Where I'm more likely to be able to help, is from a design perspective. I'd call myself a self-taught game designer, having spent a lot of time reading about, thinking about, and practicing game design. I've also spent a fair amount of time thinking about specifically a 4X game along the lines of Space Empires, and what I would change, add, remove, etc.

    I don't want to go too far into a rant about what I'd want to see, but here's a few of my favorite ideas:

    Population
    I think population and it's mechanics are a severely under-represented mechanic in 4X games, and that integrating it into the game more would be good not just for making the game more realistic, but also for making the game deeper and more interesting to play.

    Specifically, population should be more closely tied to the gross output and input of a star system. If a planet has 1,000 people on it, it should produce far less resources than one with 10,000,000 people on it. Growing your population and attacking your enemies should be a key part of the game, especially early on when destroying entire planets (or at least their populations) is not really feasible or desirable from either a game design or realism standpoint.

    Resources
    Resources would also be diversified a bit more: You'd have the basic four core resources: Organics, Minerals, Exotics, and Money, but each would serve a more specific purpose and be produced in more specific ways. Organics, for example, would be produced on planets and mostly care about the size and atmosphere of the planet, with minimal population requirements. Minerals would care about the type and size of the planet, but not care much about the atmosphere, and would have higher population requirements. Money would come directly from population, with higher population producing more money (taxes) for you to spend. Exotics would be produced in small quantities on planets, but would mostly be found in outer space, collected from nebulae or asteroids via special ships, which you need to protect.

    Usage would also be diversified like this: Organics would be used mostly by the population: the more organics you produce, the more population you can support, and surplus increases your population growth. The rest would be used to maintain your fleets, providing supplies. Armies march on their stomach, after all, and future armies (unless automated) are no different. Minerals are used, as expected, to build ships and structures. Exotics are used in weapons, shields and reactors in small quantities, with higher-quality components using much more. So, if you have a lot of exotics, you can create elite ships much stronger than the norm, and a lot of high tech stuff will require more exotics, so a tech race will covet them. Money is largely used to pay your military, but also to fund research and civil works.

    Technology
    Technology would be broken up into a few different bits. "Theoretical" research would be big projects meant to discover whole new fields of science, new types of weapons, new components, and so on. The number of these projects you can embark on is limited, and they are very expensive to undertake. These often signify large jumps in power and sometimes change the very nature of warfare. You also can't control exactly what you'll get. You can try to focus your team in a few direction, such as weapons, defenses, civic, logistics, etc, but each line can give you a few things, and often each discovery will be tied to, and improve, many different fields.

    The second type of technology is "Practical" or "Applied" research. This is your straight-forwards "Make gun better" type of science, and you can support a lot more of these projects much more easily, and the results are far more predictable and reliable, if less world-shatteringly powerful. However, these do also run the risk of being made obsolete by future tech; It doesn't matter how good you are at making Mass Drivers if someone unlocks Plasma Cannons that are just better in every way.

    Theoretial research would also make tech-stealing much more important and profitable. If your enemies discover a new weapon that makes yours look like pea shooters, you need to get in on that as soon as possible. There should be a few ways of doing this, such as espionage to flat-out steal the tech, reverse engineering to learn it from captured ships, or buying the technology from someone who does have it. And eventually, the knowledge of the new tech should spread naturally until it's essentially common knowledge and your scientists can figure it out based on what they've heard, even if they aren't the brightest.


    As a final note, I'd suggest taking a look at games like Europa Universalis IV for ideas. It might not be 4X in a strict sense, but there's a lot of good stuff there especially in the diplomacy department that could translate well into a game like this. The main one I'd like to see is the general "rules" of warfare, where there's a very clear definition to the start and end of wars, who you can declare war on, and what you can take at the end of it. This system works very well to encourage long-term strategy and keeps the game interesting even when there is an asymmetric balance of power. Of course, you can't have a 4X game without the Exterminate, so if one empire grows too large, it might decide it's time to break those rules and simply start taking people over left and right. When this happens, it's likely that the rest of the races will put aside their differences and fight the big guy together, and may even do this before he breaks the rules, simply because his size and power threatens the balance of power in the galaxy too much to let him stand. This would introduce an interesting dynamic where you want to become powerful, but you have to be careful not to scare everyone into uniting against you until you're ready to fight them head-on.
    Excellent avatar by Elder Tsofu.

  3. - Top - End - #3
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Quote Originally Posted by AgentPaper View Post
    I'm in.

    For my experience, I'm fluent in C++ and Java, but don't have much experience in it. I probably won't be helping much with the actual coding, but I might be able to serve as an extra pair of eyes to look for bugs.
    Excellent, and thanks for joining. I've PMed you the review site and documents addresses. Looking for bugs is good, but good code review practice will also look for style and readability. Try to point out things that are harder than necessary to understand, that might be easy to screw up the use of by accident, unclear or ambiguous naming, and other stuff like that too.

    Quote Originally Posted by AgentPaper View Post
    Where I'm more likely to be able to help, is from a design perspective. I'd call myself a self-taught game designer, having spent a lot of time reading about, thinking about, and practicing game design. I've also spent a fair amount of time thinking about specifically a 4X game along the lines of Space Empires, and what I would change, add, remove, etc.
    And some of those ideas just might make it in to this.

    Quote Originally Posted by AgentPaper View Post
    Population
    I think population and it's mechanics are a severely under-represented mechanic in 4X games, and that integrating it into the game more would be good not just for making the game more realistic, but also for making the game deeper and more interesting to play.

    Specifically, population should be more closely tied to the gross output and input of a star system. If a planet has 1,000 people on it, it should produce far less resources than one with 10,000,000 people on it. Growing your population and attacking your enemies should be a key part of the game, especially early on when destroying entire planets (or at least their populations) is not really feasible or desirable from either a game design or realism standpoint.
    Yeah, this is one of the major failings of stock Space Empires - population counts for almost nothing, and construction is overwhelmingly dominant. That's too core a design element to change for the "SE4 imitation" mode, but for the independent game (which I'm giving a working title of Macro Empires) I plan to make it a major resource. Want to train up some top quality officers? Need population. Scientists? Population. Factory workers? Population. Automation and advanced AI technology research might change things to some degree, but the details of that are pretty far off.

    Quote Originally Posted by AgentPaper View Post
    Resources
    Resources would also be diversified a bit more: You'd have the basic four core resources: Organics, Minerals, Exotics, and Money, but each would serve a more specific purpose and be produced in more specific ways. Organics, for example, would be produced on planets and mostly care about the size and atmosphere of the planet, with minimal population requirements. Minerals would care about the type and size of the planet, but not care much about the atmosphere, and would have higher population requirements. Money would come directly from population, with higher population producing more money (taxes) for you to spend. Exotics would be produced in small quantities on planets, but would mostly be found in outer space, collected from nebulae or asteroids via special ships, which you need to protect.

    Usage would also be diversified like this: Organics would be used mostly by the population: the more organics you produce, the more population you can support, and surplus increases your population growth. The rest would be used to maintain your fleets, providing supplies. Armies march on their stomach, after all, and future armies (unless automated) are no different. Minerals are used, as expected, to build ships and structures. Exotics are used in weapons, shields and reactors in small quantities, with higher-quality components using much more. So, if you have a lot of exotics, you can create elite ships much stronger than the norm, and a lot of high tech stuff will require more exotics, so a tech race will covet them. Money is largely used to pay your military, but also to fund research and civil works.
    Some interesting ideas here, I can definitely see incorporating this into the resource utilization model I outlined, and variation in kinds of available resources, not just quantity, could be a good driver towards strategic variety among players.

    Quote Originally Posted by AgentPaper View Post
    Technology
    Technology would be broken up into a few different bits. "Theoretical" research would be big projects meant to discover whole new fields of science, new types of weapons, new components, and so on. The number of these projects you can embark on is limited, and they are very expensive to undertake. These often signify large jumps in power and sometimes change the very nature of warfare. You also can't control exactly what you'll get. You can try to focus your team in a few direction, such as weapons, defenses, civic, logistics, etc, but each line can give you a few things, and often each discovery will be tied to, and improve, many different fields.

    The second type of technology is "Practical" or "Applied" research. This is your straight-forwards "Make gun better" type of science, and you can support a lot more of these projects much more easily, and the results are far more predictable and reliable, if less world-shatteringly powerful. However, these do also run the risk of being made obsolete by future tech; It doesn't matter how good you are at making Mass Drivers if someone unlocks Plasma Cannons that are just better in every way.

    Theoretial research would also make tech-stealing much more important and profitable. If your enemies discover a new weapon that makes yours look like pea shooters, you need to get in on that as soon as possible. There should be a few ways of doing this, such as espionage to flat-out steal the tech, reverse engineering to learn it from captured ships, or buying the technology from someone who does have it. And eventually, the knowledge of the new tech should spread naturally until it's essentially common knowledge and your scientists can figure it out based on what they've heard, even if they aren't the brightest.
    Space Empires already did this to some extent, but I agree there's a lot more that can be done with the concept. Regarding stealing theoretical research, I'd think that kind of knowledge would be easier to steal or intentionally communicate but a lot harder to reverse engineer. Someone with knowledge of basic mechanics and explosives could easily take apart a gun and figure out how it works, but hand him a phaser and he wouldn't even know where to start. Hand him a textbook on the theoretical principles behind a phaser, though, and he could get a team working on building a phaser without ever having seen one in person.

    Quote Originally Posted by AgentPaper View Post
    As a final note, I'd suggest taking a look at games like Europa Universalis IV for ideas. It might not be 4X in a strict sense, but there's a lot of good stuff there especially in the diplomacy department that could translate well into a game like this. The main one I'd like to see is the general "rules" of warfare, where there's a very clear definition to the start and end of wars, who you can declare war on, and what you can take at the end of it. This system works very well to encourage long-term strategy and keeps the game interesting even when there is an asymmetric balance of power. Of course, you can't have a 4X game without the Exterminate, so if one empire grows too large, it might decide it's time to break those rules and simply start taking people over left and right. When this happens, it's likely that the rest of the races will put aside their differences and fight the big guy together, and may even do this before he breaks the rules, simply because his size and power threatens the balance of power in the galaxy too much to let him stand. This would introduce an interesting dynamic where you want to become powerful, but you have to be careful not to scare everyone into uniting against you until you're ready to fight them head-on.
    I'm not familiar with Europa Universalis beyond the name, but one thing that struck me from the forum SE4 games we played a few years back is that a lot of the political-type effects I had expected to help balance things just didn't happen, not because the concepts were bad, but because the information that would prompt them to happen was not brought to people's attention, and most of the players didn't care enough to dig it up themselves, if the information was even available at all. In light of that, I think it's really important to have robust mechanisms for reporting to the player what's going on in the rest of the galaxy, what the implications of this are, and why he should care about it. Having a popup that says "X empire is trading technology with everybody in sight, they've already gained Y lead by doing so, at this rate they'll be unstoppable in Z turns" would do a huge amount to make tech trading more balanced. Design this mechanism well enough with a good base level of reporting, and it could also lead in to an extra dimension of spy mechanics, with ways to limit how much of your information gets leaked - limited in turn by how widespread the information is. Much harder to keep a new weapon deployed through your entire navy secret than to keep the same new weapon secret when only one squadron has it.
    Last edited by Douglas; 2014-10-17 at 03:34 AM.
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

  4. - Top - End - #4
    Ettin in the Playground
     
    AgentPaper's Avatar

    Join Date
    Jun 2008

    Default Re: Making a game like Space Empires, need code reviewers

    Quote Originally Posted by Douglas View Post
    Want to train up some top quality officers? Need population. Scientists? Population. Factory workers? Population. Automation and advanced AI technology research might change things to some degree, but the details of that are pretty far off.
    That's one way to use population more, but I was thinking about it more on a raw power scale. For example, in stock SE4, you can generally judge how powerful an empire is based on how many planets they have. An empire with 20 planets has twice as many resources to work with as one with 10 planets, nine times out of ten. With population growth being more important, though, you could easily expand to twenty planets over a short period, but unless you spend a lot of time and effort moving people to those planets, building up infrastructure and food production to support them, and so on, you're not going to have any more population compared to the guy who didn't expand outside of his home planet, and thus your resource and especially production output are going to be about the same.

    You would still have some incentives to expand like that, of course, such as building population-independent outposts to gather exotics, or supplement your mineral and/or organics income a bit, but you won't see the kind of exponential growth compared to a normal 4X. And even if you do ship tons of population to those planets, that reduces the population of your home planet, reducing it's output until enough time has passed and the population naturally recovers. Your population growth will grow due to the surplus food and such compared to when it was packed to the brim, but it'll be a smoother, more natural growth.

    Spreading out like that would also represent a major security concern. Your home planet is likely well defended with defense satellites and weapons platforms, plus whatever fleet you're building on it, but any other planets are likely lightly defended, and thus vulnerable to raids by hostile empires. Thus in order to grow effectively you need to be able to build a fleet strong enough to defend those various planets, and the larger you get, the more of your fleet gets tied up in defending, rather than attacking. It would be much more viable to remain small and focus your efforts on other things, such as a large offensive fleet to attack your enemy's vulnerable colonies, or cut back on your military and use that money to boost your research for a small, technologically superior fleet.

    If balanced right, I think the population mechanic could open up a whole slew of alternate playstyles that are just not viable when expanding rapidly is so powerful. Of course, it'll take a lot of balancing to make sure that this works as I think it should, but population mechanics are a major step towards that, I think.

    Quote Originally Posted by Douglas View Post
    Some interesting ideas here, I can definitely see incorporating this into the resource utilization model I outlined, and variation in kinds of available resources, not just quantity, could be a good driver towards strategic variety among players.
    I think the important thing here is to vary how those resources are obtained. Small empires with a large, concentrated population will have the most wealth, due to high taxes and relatively low defensive fleet requirements. Large, sprawling empires might have similar wealth, but will need a bigger fleet to protect it, so they'll mainly benefit from larger mineral income. Empires able to project their power beyond their borders will be able to control key areas that produce exotics, allowing them to have a quality advantage.

    Quote Originally Posted by Douglas View Post
    I'm not familiar with Europa Universalis beyond the name, but one thing that struck me from the forum SE4 games we played a few years back is that a lot of the political-type effects I had expected to help balance things just didn't happen, not because the concepts were bad, but because the information that would prompt them to happen was not brought to people's attention, and most of the players didn't care enough to dig it up themselves, if the information was even available at all.
    Taking a page from Europa Universalis, I think a better way to go about this is to simply display a lot of that information up-front. In EU4, it's fairly easy to find out how many troops your enemies have, what their makeup is, what tech level they're at, how big they are, who they're allied with, at war with, etc. The system you describe to report these events sounds cool, but I think a lot of basic information should just be available by default, displayed either on the map or in ledgers. You should be able to see fleet movements close to your border, the extent of that empire next to you, a rough image of what their tech looks like, their population, and so on. Spies and the like should be for more specific information, such as showing you what your enemies are building, fleet movements within their empire, current tech research and the possibility of stealing their research, and so on.

    I think another important aspect to carry over is game mechanics to support the end of wars. In SE4, there's rarely any reason to stop attacking once you've won a war. This makes just about any conflict into a final one, whereas if you need a treaty to gain control of planets permanently, it's much more likely that the loser of the war can turn around, re-build his fleet, seek out allies, and come back much stronger and able to win back the planets he lost. This also relies on having enforced truces built into those treaties, so you can't just declare war again and again before your enemy has had time to recover.

    Of course, if you keep implementing mechanics from EU4, you'll eventually just have EU4 in space (which would be pretty cool, granted), so I don't know how much of these mechanics you want to implement, but it's a good source of ideas for how to enhance the political aspects of a 4X game, since there's really no game that does grand strategy and politics like Europa Universalis. I'd definitely recommend trying it out if you haven't already, if nothing else because it's a great game with few other games that are quite like it.
    Last edited by AgentPaper; 2014-10-17 at 12:38 PM.
    Excellent avatar by Elder Tsofu.

  5. - Top - End - #5
    Titan in the Playground
     
    ShneekeyTheLost's Avatar

    Join Date
    Dec 2004
    Location
    I wish I knew...
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Another game you may want to look at for ideas is FreeOrion. Another take on this general idea, one of the things I absolutely love the most about it is how any resource shifting MUST be done gradually. There's a maximum delta limit on how resources change. For example, if you have a planet with a focus on, say, research, and it has 100 research points it is currently providing per turn, and you suddenly need some Industrial infrastructure to be able to build things faster, you can immediately switch to an Industry focus, but the numbers are only going to move by 1-3 per turn (and unlocking faster rates are gated and expensive technologies). This means that while you CAN shift focus, it won't happen immediately in response to a direct threat (got invaded), and there's costs (it takes you a long time to go BACK to your previous focus as well, meaning effectively twice as much time lost).

    This is rather realistic, while industrial infrastructure can be re-purposed fairly rapidly (Ford Motors switching from producing cars to producing tanks for WW II), shifting the overall infrastructure focus from industry to research is not something that happens overnight. And shifting BACK again is just as difficult.

    This sort of general infrastructure paradigm shift is something I'd love to see, because it makes the strategy a bit more difficult. You simply HAVE to think twenty or thirty turns in the future. You have to make decisions along the lines of "Hmmm, this guy is mobilizing on my border. So, do I start industrial switch now so I can be up and running to build and replace ships in the war, or do I continue with my research focus and hope I can match his forces with fewer numbers but better equipped?". You can't simply research hardcore until he invades, then immediately swap over to heavy industry and crank out a ship in a turn or two like you could in MoO2.

    This could dovetail VERY neatly with your idea for the AI, because it is something your 'advisors' could handle for you, without needing to micromanage every single colony you possess. Tell your 'council' "Hey, I want a research focus, make it happen", then gradually, your numbers shift in that direction. You get more research points and fewer of some other points.

    Other ideas that FreeOrion incorporates that you might want to review:

    * Mining as a separate focus from Industry. Industry eats up minerals, but you have to devote work to both tasks. You can build up a stockpile of minerals, however if you are consistently doing this it means you aren't being as efficient with your numbers, your mining is probably too high for your industry. Because shifting focus is so slow, this is a problem that can be difficult to solve without over-extending in one way or another. The only thing worse than sitting on a huge pile of resources you can't do anything with because you don't have the industry is to run out of resources just when you need it most.

    * Research is often broken down to 'theoretical', which has a number of branching technologies but doesn't itself produce anything immediately useful, or 'applications' which do have something immediately useful, or 'refinements' which builds on something already useful to make it more useful. However, no matter how you push Mass Drivers, it's still not going to be as good as Lasers or Plasma. Of course, they're cheaper and faster to produce, so they're STILL useful even after you research the newer technologies, as an 'I need something to fend off harassment IMMEDIATELY'.

    * Research has both a research point cost and, in many cases, a number of turns minimum, which translates into a maximum number of research points to devote to that project. Of course, you can run multiple research projects simultaneously... if you have the RP for it. Prioritizing these projects can dramatically affect the efficiency of your total research output. For example, if you have two projects, both of them costing 100 RP each but one of them having a max of 10 per turn and one having a maximum of 100, and you have 20 RP per turn, you have two options. You can rush the one without a cap, and do it in five turns, then do the other one in ten, for a total of fifteen turns. OR, you can run the one with a cap as a higher priority, both projects getting 10 RP/t each, and both finishing in 10 turns. Some things just can't be rushed, after all.

    These are all concepts which might be valuable to your own project, because I feel that these were things that made FreeOrion an improvement in the genre as a whole and might also fit with your design concept.
    Quote Originally Posted by The Underlord View Post
    All hail great Shneekeythulhu! Ia Ia Shneeky fthagn
    Spoiler
    Show
    Quite possibly, the best rebuttal I have ever witnessed.
    Joker Bard - the DM's solution to the Batman Wizard.
    Takahashi no Onisan - The scariest Samurai alive
    Incarnum and YOU: a reference guide
    Soulmelds, by class and slot: Another Incarnum reference
    Multiclassing for Newbies: A reference guide for the rest of us

    My homebrew world in progress: Falcora

  6. - Top - End - #6
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    I have one of my former coworkers reviewing stuff now, so that's good.

    I have finally completed a scheme where my Hibernate entity classes have various boilerplate code automatically generated just by marking them with a custom annotation. Said boilerplate includes equals(), hashcode(), and toString(), but also goes considerably beyond that into some interface tricks that should make handling foreign key relationships, and some other things it would be hard to explain, substantially easier.

    I have also learned that IntelliJ's idea of whether code is being used or not is highly unreliable when you're using Guice or writing an annotation processor.

    Quote Originally Posted by AgentPaper View Post
    That's one way to use population more, but I was thinking about it more on a raw power scale. For example, in stock SE4, you can generally judge how powerful an empire is based on how many planets they have. An empire with 20 planets has twice as many resources to work with as one with 10 planets, nine times out of ten. With population growth being more important, though, you could easily expand to twenty planets over a short period, but unless you spend a lot of time and effort moving people to those planets, building up infrastructure and food production to support them, and so on, you're not going to have any more population compared to the guy who didn't expand outside of his home planet, and thus your resource and especially production output are going to be about the same.
    I guess I didn't communicate the extent of my idea well enough. That's pretty much exactly how I think my model is going to work out. You have a mine with X capacity. In order to function at nominal levels it needs Y population working in it. Build more mines, and you'll be able to go farther before hitting the threshold for higher price, but it won't help if you don't have the population to reach that point in the first place.

    Though actually it would be a multi layered system more like this:
    You have X population, which you can pay Y money, to produce Z work units.
    Separately, you have X mine capacity, which you can allocate Y work units to, to produce Z minerals.

    Quote Originally Posted by AgentPaper View Post
    If balanced right, I think the population mechanic could open up a whole slew of alternate playstyles that are just not viable when expanding rapidly is so powerful. Of course, it'll take a lot of balancing to make sure that this works as I think it should, but population mechanics are a major step towards that, I think.
    Space Empires is I think unique among 4X games I've played in that it has no mechanic at all aimed towards limiting the power of expansion. In the Civilization games, you have resource income outright discarded in quantities based on distance from the capital, and unhappiness and I think more resource wastage in some of them based on your empire size. In both the Civilization and Master of Orion series, production of everything is based primarily on population, with varyingly powerful and costly ways around it. In Galactic Civilization, you have to pay money for everything and money comes from taxes which are based on population.

    Quote Originally Posted by AgentPaper View Post
    I think the important thing here is to vary how those resources are obtained. Small empires with a large, concentrated population will have the most wealth, due to high taxes and relatively low defensive fleet requirements. Large, sprawling empires might have similar wealth, but will need a bigger fleet to protect it, so they'll mainly benefit from larger mineral income. Empires able to project their power beyond their borders will be able to control key areas that produce exotics, allowing them to have a quality advantage.
    Population is one piece of a complicated puzzle. I would like a wide variety of play styles to be viable, and fine tuning that will be a major goal of beta testing later.

    Quote Originally Posted by AgentPaper View Post
    Taking a page from Europa Universalis, I think a better way to go about this is to simply display a lot of that information up-front. In EU4, it's fairly easy to find out how many troops your enemies have, what their makeup is, what tech level they're at, how big they are, who they're allied with, at war with, etc.
    A substantial amount of that information actually is readily available in Space Empires 4 if the scores screen is set to show everyone. I don't think it helped much, if at all, in the forum games when I turned that on, and I think failure to draw attention to the information and explain its relevance is a big part of why. The limited nature of the information on the scores screen is another big reason, but I think really solving it properly requires dealing with both factors.

    Quote Originally Posted by AgentPaper View Post
    The system you describe to report these events sounds cool, but I think a lot of basic information should just be available by default, displayed either on the map or in ledgers. You should be able to see fleet movements close to your border, the extent of that empire next to you, a rough image of what their tech looks like, their population, and so on. Spies and the like should be for more specific information, such as showing you what your enemies are building, fleet movements within their empire, current tech research and the possibility of stealing their research, and so on.
    Agreed, there's a lot of information that should require special effort to hide, rather than for others to find out.

    Quote Originally Posted by AgentPaper View Post
    I think another important aspect to carry over is game mechanics to support the end of wars. In SE4, there's rarely any reason to stop attacking once you've won a war. This makes just about any conflict into a final one, whereas if you need a treaty to gain control of planets permanently, it's much more likely that the loser of the war can turn around, re-build his fleet, seek out allies, and come back much stronger and able to win back the planets he lost. This also relies on having enforced truces built into those treaties, so you can't just declare war again and again before your enemy has had time to recover.
    An idea I have for that is a logical extension of the "population is power" concept. You capture a planet. Its population is now yours, yay! Its population still feels a lot of loyalty to the other side, though, boo! That population is going to be much less efficient at transforming money into work than your natives, and they'll have a high chance of spontaneously rebelling and switching back to their original side. Maintaining a strong military presence in the area mitigates both these things, but that's a strong military presence that is no longer available for further attacking. Sign a peace treaty, and both problems drop enormously - but only as long as you keep the treaty. These factors diminish over time as the local culture gets used to the new status quo, until eventually the new population is fully assimilated and as loyal as your natives.

    The preferred course of war then becomes:
    1) capture however many planets you can keep suppressed
    2) negotiate a treaty
    3) keep the treaty until suppression is no longer needed
    4) consider renewed hostilities

    By the time old loyalties have diminished enough for step 4 to come around, the losing side has had time to regroup.

    Of course, this doesn't affect genocidal strategies, but there are all sorts of ways to disincentivize that separately.

    Quote Originally Posted by AgentPaper View Post
    Of course, if you keep implementing mechanics from EU4, you'll eventually just have EU4 in space (which would be pretty cool, granted), so I don't know how much of these mechanics you want to implement, but it's a good source of ideas for how to enhance the political aspects of a 4X game, since there's really no game that does grand strategy and politics like Europa Universalis. I'd definitely recommend trying it out if you haven't already, if nothing else because it's a great game with few other games that are quite like it.
    I may have to check EU out at some point.

    Quote Originally Posted by ShneekeyTheLost View Post
    Another game you may want to look at for ideas is FreeOrion. Another take on this general idea, one of the things I absolutely love the most about it is how any resource shifting MUST be done gradually. There's a maximum delta limit on how resources change. For example, if you have a planet with a focus on, say, research, and it has 100 research points it is currently providing per turn, and you suddenly need some Industrial infrastructure to be able to build things faster, you can immediately switch to an Industry focus, but the numbers are only going to move by 1-3 per turn (and unlocking faster rates are gated and expensive technologies). This means that while you CAN shift focus, it won't happen immediately in response to a direct threat (got invaded), and there's costs (it takes you a long time to go BACK to your previous focus as well, meaning effectively twice as much time lost).
    That reminds me, I actually did have exactly that idea some time ago, and I think it's a good one. I'm a little surprised to see another game using it, as I hadn't previously heard of any game having such a mechanic.

    Quote Originally Posted by ShneekeyTheLost View Post
    This sort of general infrastructure paradigm shift is something I'd love to see, because it makes the strategy a bit more difficult. You simply HAVE to think twenty or thirty turns in the future. You have to make decisions along the lines of "Hmmm, this guy is mobilizing on my border. So, do I start industrial switch now so I can be up and running to build and replace ships in the war, or do I continue with my research focus and hope I can match his forces with fewer numbers but better equipped?". You can't simply research hardcore until he invades, then immediately swap over to heavy industry and crank out a ship in a turn or two like you could in MoO2.

    This could dovetail VERY neatly with your idea for the AI, because it is something your 'advisors' could handle for you, without needing to micromanage every single colony you possess. Tell your 'council' "Hey, I want a research focus, make it happen", then gradually, your numbers shift in that direction. You get more research points and fewer of some other points.
    Resource forecasting is a big thing that is really hard for most players but really important in a significantly complex resource system, and is something that real life governments put a lot of effort into. Some kind of projected resource demand and supply charts are among the things I want my advisor reports to include. For a Space Empire 4 example, many players are caught by surprise when they start using Phased Polaron Beams for the first time and suddenly find they're spending many times as much radioactives as they used to, resulting in a critical resource shortage that unexpectedly cripples military construction rates. I'd like my AI to take research plans and military construction priorities, factor the deployment of the new weapon into its projections, and present the player with a chart showing this gigantic leap in radioactives consumption X turns away (with a note about why it's there), and exactly how far short radioactives production will be if nothing is done.

    Quote Originally Posted by ShneekeyTheLost View Post
    Other ideas that FreeOrion incorporates that you might want to review:

    * Mining as a separate focus from Industry. Industry eats up minerals, but you have to devote work to both tasks. You can build up a stockpile of minerals, however if you are consistently doing this it means you aren't being as efficient with your numbers, your mining is probably too high for your industry. Because shifting focus is so slow, this is a problem that can be difficult to solve without over-extending in one way or another. The only thing worse than sitting on a huge pile of resources you can't do anything with because you don't have the industry is to run out of resources just when you need it most.
    This one is part of the economic model I already had in mind.

    Quote Originally Posted by ShneekeyTheLost View Post
    * Research is often broken down to 'theoretical', which has a number of branching technologies but doesn't itself produce anything immediately useful, or 'applications' which do have something immediately useful, or 'refinements' which builds on something already useful to make it more useful. However, no matter how you push Mass Drivers, it's still not going to be as good as Lasers or Plasma. Of course, they're cheaper and faster to produce, so they're STILL useful even after you research the newer technologies, as an 'I need something to fend off harassment IMMEDIATELY'.

    * Research has both a research point cost and, in many cases, a number of turns minimum, which translates into a maximum number of research points to devote to that project. Of course, you can run multiple research projects simultaneously... if you have the RP for it. Prioritizing these projects can dramatically affect the efficiency of your total research output. For example, if you have two projects, both of them costing 100 RP each but one of them having a max of 10 per turn and one having a maximum of 100, and you have 20 RP per turn, you have two options. You can rush the one without a cap, and do it in five turns, then do the other one in ten, for a total of fifteen turns. OR, you can run the one with a cap as a higher priority, both projects getting 10 RP/t each, and both finishing in 10 turns. Some things just can't be rushed, after all.
    Interesting ideas. I'm also thinking of dividing research into phases of "pure research" and "building prototypes", where the latter requires both research and industrial input. Along those same lines, it just occurred to me that some research simply isn't possible without some serious industrial equipment - for example, the Large Hadron Collider. I might give some theoretical technologies a "building the research lab" phase.
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

  7. - Top - End - #7
    Ettin in the Playground
     
    AgentPaper's Avatar

    Join Date
    Jun 2008

    Default Re: Making a game like Space Empires, need code reviewers

    That all sounds great, though the designer in me forces me to warn against making things overly-complicated. It's easy to come up with a million cool-sounding ideas for features to add to the game, but you also need to keep in mind the complexity of the game. Grand Strategy by it's very nature can afford to be a lot more complicated than most games, but that's no excuse to add in stuff that makes the game much more complex without really adding any depth.

    The resource movement thing seems like this kind of thing. It certainly sounds cool, but how does it affect the game? How does it affect the player's strategies? From the sound of it, it seems like it would basically amount to busywork for the player to do managing his own empire, rather than something that would affect the overall strategy that the player might have.

    Of course, you could certainly build a game that's all about managing your empire, but to me the real fun and depth of grand strategy games comes from how you interact with the rest of the world (or in this case, universe). In SEIV, you spend so much time managing your empire that it often feels like you're playing a single-player game even when you're playing multiplayer. I think that the more you streamline the internal management of the empire, the more time and energy the player will be able to spend thinking about his long-term strategy and what everyone else around him is doing.

    A lot of that depends on refining the UI to make things easier to do, but it could also include other stuff. For example, you could reduce how much time you spend managing planets by getting rid of the "filler" buildings like mines, farms, and so on, and instead only have the player worry about big stuff, like a Space Elevator, or a Planetary Shield. The planet still produces minerals and organics, requiring population to do so, but the individual mines are assumed to be built, rather than the player going in and saying, "Yes, I do want to mine out those valuable resources, no I don't want you to all stand around doing nothing for the next thousand years."

    Some of this you seem to be moving towards by automating these lesser tasks, but I'd warn against that as well, because now you're just giving yourself a lot of extra work without really impacting how the game plays. Why would you want to spend weeks of programming time implementing a feature that, if all works well, will have no impact on the player?

    Also, do you have a design document written up for this? Or is it mostly just ideas in your head? Having a design document would make it a lot easier to really discuss the details of how this all would work together.
    Excellent avatar by Elder Tsofu.

  8. - Top - End - #8
    Titan in the Playground
     
    ShneekeyTheLost's Avatar

    Join Date
    Dec 2004
    Location
    I wish I knew...
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Quote Originally Posted by Douglas View Post
    Interesting ideas. I'm also thinking of dividing research into phases of "pure research" and "building prototypes", where the latter requires both research and industrial input. Along those same lines, it just occurred to me that some research simply isn't possible without some serious industrial equipment - for example, the Large Hadron Collider. I might give some theoretical technologies a "building the research lab" phase.
    So basically, Theoretical research doesn't require anything, but a part of the practical research involves building a prototype to complete the research? It has to devote so much industry plus so much research to complete it? Sounds great. It also keeps the player form doing a pure science build to out-science all the things, which is typically a pretty good strat for most of these sorts of games. Requiring some industry, which means some mineral production, means you practically have to have a more balanced approach to resource management.

    Also, to address AgentPaper's concern about complexity, which is valid, is that any buildings built on a colony are going to be something required to do something. For example, a Spaceport is required to build ships at this colony. That's going to be a thing. However, the mines and farms and whatever are taken care of with the 'colony focus'. Maybe this colony has a mineral focus, maybe that one has an industrial focus. Some planets might do better with certain types. For example, a farming focus on a barren planet is probably not the best idea, but if that barren planet has rich mineral deposits or has a rare mineral resource required for something cool down the tech tree, then a mining focus would probably do pretty well there.

    That's all the micro-management needed on the colony level. If you want to build a specific thing that has a prerequisite building, then that is a building that needs doing. Planetary stationary defenses are probably another thing that needs to be built. Other than that? Your planetary governor handles all the petty details. You just tell him what focus you want and go from there.

    Which brings me to another paradigm change of building things. Planetary construction is generally not a thing, except to build the buildings in that area. The production buildings themselves build the whatevers. For example, building a Spaceyard would be planetary construction. Once it is built, however, the spaceyard itself is what builds the ships. You click on the yard and tell it what ship you want build from your available designs that it is equipped to handle. Maybe you also have a limit of how many objects a planet can have, so it has to choose between production or defense. Say you want to build a Vorlon-esque 'living ship'? In addition to a shipyard, you're going to need the Macro Life Form Hatchery in the same area. So as you progress through the game, certain things are going to need certain combinations. So you change your play style to fit what you want to build. Say on this run, you want to go bio-heavy. You're probably going to have a bunch of those hatcheries. Let's say on the next run, you're going to want to go with more of a Collapsium style build, then you're going to need fewer hatcheries and more point-singularity forges. Each playstyle has its advantages and disadvantages. You can also try combining them, but between the research costs (completely different tech trees to climb down) and the infrastructure cost, no one is going to be able to do All The Things.

    But again, that isn't very micro-intensive. You can bring up a list of empty shipyards from the Industry tab/window/whatever, tell them to build whatever, and you are done, without needing to click on a single colony if you don't want to.
    Quote Originally Posted by The Underlord View Post
    All hail great Shneekeythulhu! Ia Ia Shneeky fthagn
    Spoiler
    Show
    Quite possibly, the best rebuttal I have ever witnessed.
    Joker Bard - the DM's solution to the Batman Wizard.
    Takahashi no Onisan - The scariest Samurai alive
    Incarnum and YOU: a reference guide
    Soulmelds, by class and slot: Another Incarnum reference
    Multiclassing for Newbies: A reference guide for the rest of us

    My homebrew world in progress: Falcora

  9. - Top - End - #9
    Barbarian in the Playground
     
    BarbarianGuy

    Join Date
    Feb 2010
    Location
    Calgary
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    i would be interested. However i am still in school so not an expert java yet, and the current amount of homework not sure how often i could go over code and let you know if i spot anything.

  10. - Top - End - #10
    Ogre in the Playground
    Join Date
    Aug 2005
    Location

    Default Re: Making a game like Space Empires, need code reviewers

    As you said ideas are cheap, and they are all I can give you at this point. I have my ideas, but it's your game, not mine. :)

    Cool project, hopefully it works out.


    Big picture planning sounds good. Overly complicated subsystems sound like it conflicts with that. Minerals, mines, factories, workshifts, schools, education levels, morale... If your big picture AI isn't optimal there, player has to micro to fix it. The more complex the system, the harder the AI is to make.

    What is your goal behind the complex subsystems?
    Do you want an accurate simulation?
    Or, do you want to give the impression of a complex world whete each planet is alive and unique?
    Do you want to give the player interesting planetary scale choices?
    Do you want the player to focus on the empire instead?

    Concrete example: I want outer planet Exo-3 to colonize a nearby planet. I want to build the colony ship ASAP, with any extra resources going towards developing Exo-3 into as good of an industrial base as possible in 34 turns (started as medium-term 50 turn plan).
    If the AI does its job, I don't have to go micromanage the education system to include the miner settlements.

    If there's an event that calls for a hard choice, e.g. whether to start a risky mining operations that will hurt population in short term but speed up colony ship construction by three turns, and set back colony development by approximately 5 turns at the end of the current plan... I'd rather the event told me that instead of hiding it under mine, production, population etc. subsystems.

    A resource storage that makes it possible to produce ships quickly in an emergency but slows down production right now is an interesting choice. It might not be a good complicated subsystem with many moving parts.


    On research: a friend and I adore Master of Orion 1's research. The randomization of what tech you have available makes it better for single player. A game where bad research choices hurt you becomes a story... Good or bad, it's still a fantastic experience. That probably wouldn't work in multiplayer. What is your target audience, your goals?

    One-off prototypes that are super powerful would be risky to balance and make fun IMO. That planetary super-laser sounds like a Civ Wonder that gives bonuses to laser weapons & related research, not the result of tech research project. My idea of prototype result is Millennium Falcon, a ship better than one of its type has any right to be, not the Death Star.

    A prototype weapon imo should be versatile and mobile, but ultimately expendable - the research should be more important than the result. A prototype gun that's useless to the player because he will not be in a war, that's going to be an annoyance in game 17, and you want it to be cool! So, versatility.

    Maybe the prototype ships can be constantly upgraded, with each upgrade coming with a small but permanent bonus in addition to the system itself. Maybe it gives a warship into a science crew, enabling science vessel options if such exist. Maybe they can be presented to the people as inspiration, giving planetary bonuses.

  11. - Top - End - #11
    Orc in the Playground
    Join Date
    Dec 2007

    Default Re: Making a game like Space Empires, need code reviewers

    I have some questions
    what game engine do you plan to use?
    what scale are you planing for the game (in average number of colonies)?
    what is your plan for battles and ship design, focused on individual ships like MoO2 or fleets
    like SE4?

  12. - Top - End - #12
    Ettin in the Playground
     
    AgentPaper's Avatar

    Join Date
    Jun 2008

    Default Re: Making a game like Space Empires, need code reviewers

    So, I've done a bit of thinking about it, and I think there are three core tenets that need to be applied in order to make the game have a fun and interesting political landscape. I'm using examples from Europa Universalis, but those are only examples, not necessarily the only way to accomplish them.

    1) The defender has the advantage.
    This is very important for creating a stable political landscape. Not all empires will be evenly matched, so if one empire is slightly stronger than another, it is natural for them to go to war with them, and often very easy to see who will win even with relatively small differences in power. The onus is set on the weaker player to find ways to prop themselves up, such as alliances, in order to survive. If the defender has the advantage, however, then the onus is instead on the attacker to find or create enough of an advantage to overcome that. This leads to less warfare overall, and more time spent playing the political game, trying to maneuver into a position that you can attack from, rather than just to survive.

    The most basic form of this is some kind of mechanical 'defender advantage", such as a home territory buff, or powerful planetary defenses, and so on, but the more important aspect to this is actually political. Whenever someone declares war, it is by no means guaranteed that your allies will join you, whereas if you have war declared on you, it is almost certain that they will, outside of extreme circumstances. This is important, as having additional allies join the war not only makes it less likely that you lose, but also makes it more likely that you win, something that most mechanical defenses will never do.

    While stuff like home turf advantage and planetary defenses are important, I think it's even more important to give the defender active defenses as well. Easy allies is one simple way of doing this, but there are others as well. For example, you might get direct military bonuses to your military power, whether you're fighting on your land or not, simply because your population is motivated to protect themselves more than normal.

    Another way is for war-making to actively weaken the attacking force (and possibly the defender as well) above and beyond simple loss of military forces. EU4 has a mechanic called "War Exhaustion" which measures the general wear and tear of warfare. It goes up when you take losses or if a war drags on too long, and only goes down when you're at peace for extended periods of time. As it goes up, your population becomes more and more likely to revolt, your manpower (needed to recruit soldiers) recovers more slowly, and your people produce less goods. This modifier can get very high, such that even if you're winning a war, you could easily end up weaker in the end because of how costly it was.

    Finally, there's Attrition. This represents the gradual loss of troops to things like starvation and disease in EU4, but the general principal is that you take more attrition while in enemy territory, with a minimum of 1% attrition per month in enemy territory. Your armies will generally be able to make up for this with reinforcements unless the attrition is very high, but it's very easy to get bogged down in trying to siege a lot of enemy land and end up losing more forces in this way than you do to enemy action. The most famous real-world example of this is Russia's "Scorched Earth" strategy.


    2) No conflict ends quickly.
    It's pretty common in SE4 for two sides to go to war, one large battle is fought with most or all of each side's fleets taking part, and then one side (usually the attacker) wins and the other side has no hope of recovering. The entire game essentially comes down to that single battle, and once it's lost, the loser may as well just quit the game, because they'll never be able to build a fleet large enough to match the winner's fleet ever again. This is a nightmare for politics, because it essentially means that every single war is all-or-nothing. It's hard to justify going to war to protect a third party when you losing that war will almost assuredly mean losing the entire game. It's simply too big of a risk.

    EU4 does this in a few ways. First, there's the siege mechanic: In order to conquer land, you must first occupy it, and in order to occupy it, you must lay siege to the fort that protects it. It's possible to assault the fort with overwhelming numbers and take it quickly, but in general this is prohibitively costly and only rarely a good idea. In general, the better strategy is to leave a small force behind to lay siege to the fort, slowly starving them out over the course of months or even years.

    As well as simply adding time before the war ends, this also plays an important role in allowing the defender to recover from an initial loss. Because you need to leave forces behind to take care of the siege, you're limited in how far you can penetrate into enemy lands, since that would leave your weak siege armies and your weakened main force both vulnerable to a counterattack. Instead, you're forced to lay siege to what you can without spreading your forces too thinly, giving your enemy time to re-build their army and continue to fight.

    Speaking of re-building, that's another thing that should probably change: In SE4, it takes a long time to build up a large military force, and in general your limit is how many ships you can build, with the upkeep for those ships generally being rather low. However, in EU4, making troops doesn't take much time at all, and you can easily re-build your entire army over the course of a few months as long as you have the money and manpower to do so. Instead, the limit on the size of your army primarily rests on the upkeep they cost, which goes up exponentially if you try and build a larger army than your country can support. This means that, even if you fight and win a major battle that decimates the enemy's forces, it is very common for the enemy to fall back, re-build, and come back in a relatively short timespan with an equally large army ready to fight it out again. Of course, eventually they'll run out of money or manpower or both, but only after you've beaten them back a number of times over a number of battles.

    Eu4 also does this in the long-term by limiting how much you can gain from any single war. I mentioned the warscore system before, but essentially you're limited in how much territory you can take from an enemy in each war, which combined with the truce system allows the defender time to re-build and gather allies before the next war. However, there are also other mechanics, such as Overextension, which cause problems if you annex too much land too quickly. As long as you keep your pace reasonable, it won't hurt too much, but if you go over a certain limit, really nasty stuff starts happening that could very easily tear your empire apart.


    3) Wars can be good in the long term, but are always bad in the short term.
    This is important to prevent an empire with an advantage from snowballing out of control. If every war won makes you more powerful right away, then you're encouraged to go to war again and again. The game becomes a race of who can conquer the fastest, and defensive strategies are doomed to failure by their very nature. If instead going to war makes you weaker, at least for the short term, then it becomes a game of risk versus reward. Even if you win the war, if it leaves you vulnerable to attacks from your other enemies, you could end up losing more than you gained in the end.

    This is probably the easiest of the three tenets to see, and there are already a number of mechanics that support this, both that you've mentioned and even in SE4. Losing ships in battle is the most direct form, but also the penalty to production in newly conquered planets. The previous two tenets also indirectly support this. However, it's still good to keep it in mind going forwards, to make sure that the mechanics that support it have the teeth to really fulfill their purposes.
    Excellent avatar by Elder Tsofu.

  13. - Top - End - #13
    Titan in the Playground
     
    Aotrs Commander's Avatar

    Join Date
    Jan 2007
    Location
    Derby, UK and Bleak Despair battlestation. Species: Spirit-Bound Skeletal Lich (Lawful Evil)
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Not a coder, so can't offer anything on that front, I'm afraid...

    I am always on the look-out for the perfect 4X, though... Currently the best contender is SotS 1 and 21, thought I played Space Empires V (with the ubiquious fanmod that everyone recommends, granted) recently and was quite impressed and your proposal sounds interesting.. (If the tactical RTS battles in SE V had been a bit more dynamic, it would have nearly been a perfect sort of game1.) So, out of curiousity, what did SE IV do different to SEV? (And by extension how is your end-product going to work?) I'm thinking here specifically of the stuff like SE V's ability to change space with stellar terraforming, ship building, the space combat RTS, ground-side (if primitive) RTS and SE V's delightfully extensive tech tree (even when cut into more managable chunks by said fan mod).



    Relatively cheap/quick ship builds does sound interesting - for one thing, the quicker they are in player time investment to get built (meaning the less time the player has to sit around waiting for the next fleet to build), the more likely for casualaties not to matter. (Unless some sort of XP/level system is involved. Certainly I find in, say, SotS 1/2, I am much more prepared to accept casulaties where there is no real XP than I am in, say, Civ IV or something where units get considerably better with expereince.)



    1The perfect one would be something like MoO3/SE V's tech tree size and length, SotS 1/2's tactical combat (mechanically and graphically), GalCiv 2's planet infrastructure (perhaps with a dash of Moo3/SE V), MoO3's scale, SEV 's environment manipulation and something akin to SotS 1/2's tactical combat but on the ground (or something like Star Wars Empire at War's.) So, not asking for much, really...!

  14. - Top - End - #14
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    I've been busy and distracted for a while, but I'm planning to get back to work on this when I get back from Christmas vacation. Currently I'm looking into switching from thread-based transactions to JTA-based transactions, which should let me implement multithreaded data processing without running into various problems with having parts of the same logical batch of work spread over several transactions. And no, I don't expect the people who are only here for non-technical game design stuff to really understand that last sentence.

    Quote Originally Posted by AgentPaper View Post
    The resource movement thing seems like this kind of thing. It certainly sounds cool, but how does it affect the game? How does it affect the player's strategies?
    Most of the time it should be a background element that affects the calculations but that the player doesn't need to care about unless he's trying to seriously fine tune optimizing the growth curve, or something. The main things I want it for are a) avoiding "video game logic" (how does a one planet empire get a zillion times its own resources - at literally no cost to anyone - by opening trade with a larger neighbor?) without having to think about and specifically eliminate each instance of it, and b) possible emergent behavior from the interactions of where each input and output comes from or goes to. If I do it right, I could end up with consequences that are superficially similar to what would be random events in other games, but that are actually logical results of player actions that could in theory be anticipated and dealt with in advance.

    For example, random other game: There's a shortage in a critical technical component, -50% construction penalty to planets X, Y, and Z because the random number generator randomly hates you this turn. My game: There's a shortage in a critical technical component. It's X component, it's because Y primary source for it just got blockaded, it's used in Z armor system so you could deal with it by building ships with different, less, or no armor, and if your spies had been better you would have been informed five turns ago when the blockade plans were drafted (and not incidentally it's being blockaded because it's the primary source of this component).

    Quote Originally Posted by AgentPaper View Post
    I think that the more you streamline the internal management of the empire, the more time and energy the player will be able to spend thinking about his long-term strategy and what everyone else around him is doing.
    That is a major point of what I want to build, but it's really only the player-facing presentation and controls that need to be streamlined to get that benefit. I acknowledge streamlined presentation with complex behind-the-scenes machinery is a tricky combination to make, but I want to try for it.

    Quote Originally Posted by AgentPaper View Post
    Also, do you have a design document written up for this? Or is it mostly just ideas in your head? Having a design document would make it a lot easier to really discuss the details of how this all would work together.
    It's mostly in my head right now. I'll put writing design docs (some technical for code implementation, some non-technical for game mechanics) on my todo list.

    Quote Originally Posted by ShneekeyTheLost View Post
    So basically, Theoretical research doesn't require anything, but a part of the practical research involves building a prototype to complete the research? It has to devote so much industry plus so much research to complete it? Sounds great. It also keeps the player form doing a pure science build to out-science all the things, which is typically a pretty good strat for most of these sorts of games. Requiring some industry, which means some mineral production, means you practically have to have a more balanced approach to resource management.
    I generally like going tech-heavy in games like this, but there should be drawbacks to it and other equally viable strategies, and a literal all-in pure research strategy is kind of absurd.

    Quote Originally Posted by endoperez View Post
    What is your goal behind the complex subsystems?
    Do you want an accurate simulation?
    Not necessarily accurate, but with good verisimilitude and logical interconnected consequences.

    Quote Originally Posted by endoperez View Post
    Or, do you want to give the impression of a complex world whete each planet is alive and unique?
    An impression of complexity is part of what I want, yes. I want it to feel like the player is in charge of a semi-realistic empire rather than an excessively simplified abstraction.

    Quote Originally Posted by endoperez View Post
    Do you want to give the player interesting planetary scale choices?
    Do you want the player to focus on the empire instead?
    In the very early game, the planet is the empire.

    I want a system capable of producing random-like effects without any actual randomness involved, such as the example component shortage I described above. If a player want to go looking for the cause, it's there to be found. For handling that system, I'm thinking of a multi-layer system of AI governors that I can pile on one layer at a time as the player gets comfortable with it. At first, the player is handling direct control of his homeworld, and there's a planetary advisor there talking about options and priorities and how he would accomplish X goal. Hopefully this can get the player used to the idea that the AI is reasonably competent at getting planetary-scale objectives done right, and all he really needs to do is set the objectives appropriately. Then the player is managing a system, and there's a system governor talking about the same things but in terms of what objectives he'd give to the planetary governors, and it goes up from there along the same lines. In general, the player should be deciding what to do, not how to do it, and should be confident that the governors can get the "how" part right. Of course, I'll have to actually make said governors competent for that to work, which is a challenge of its own.

    Quote Originally Posted by endoperez View Post
    On research: a friend and I adore Master of Orion 1's research. The randomization of what tech you have available makes it better for single player. A game where bad research choices hurt you becomes a story... Good or bad, it's still a fantastic experience. That probably wouldn't work in multiplayer. What is your target audience, your goals?
    My goal is to have single player gameplay that can be challenging (depending on difficulty setting) even for veteran players and feels like you're in charge of a realistic (given the futuristic scifi is handwaved) complex empire, and also multiplayer that doesn't inherently take forever in bigger maps.

    Quote Originally Posted by endoperez View Post
    One-off prototypes that are super powerful would be risky to balance and make fun IMO. That planetary super-laser sounds like a Civ Wonder that gives bonuses to laser weapons & related research, not the result of tech research project. My idea of prototype result is Millennium Falcon, a ship better than one of its type has any right to be, not the Death Star.
    It was not my intention for that example to sound like the Death Star. If you have the tech to build a Death Star, you can build however many Death Stars you have the resources for, no one-off prototype limit involved. Prototypes are one-offs because they are inefficient and/or overly expensive, not because allowing multiples would unbalance gameplay.

    Quote Originally Posted by endoperez View Post
    A prototype weapon imo should be versatile and mobile, but ultimately expendable - the research should be more important than the result. A prototype gun that's useless to the player because he will not be in a war, that's going to be an annoyance in game 17, and you want it to be cool! So, versatility.
    If he's not (going to be) in a war, why is he researching gun technology? If he's not researching gun technology, he wouldn't have built a prototype gun.

    Quote Originally Posted by endoperez View Post
    Maybe the prototype ships can be constantly upgraded, with each upgrade coming with a small but permanent bonus in addition to the system itself. Maybe it gives a warship into a science crew, enabling science vessel options if such exist. Maybe they can be presented to the people as inspiration, giving planetary bonuses.
    Ultimately, the prototype concept boils down to a bigger, fancier, more powerful version of whatever you were researching when you built it, made impractical for mass deployment by excessive cost. It might be interesting to make a designated ship that gets retrofitted with every new military prototype you build. Give opponents a combination "oh god, we're screwed" and "oh my god, how much did that thing cost?" reaction.

    Quote Originally Posted by Smight View Post
    I have some questions
    what game engine do you plan to use?
    Making my own.
    Quote Originally Posted by Smight View Post
    what scale are you planing for the game (in average number of colonies)?
    Anything from one up to however many your computer can calculate in a reasonable amount of time, depending on game settings.
    Quote Originally Posted by Smight View Post
    what is your plan for battles and ship design, focused on individual ships like MoO2 or fleets
    like SE4?
    I would like for both individual ships and fleets to have reasonable purposes for deployment, and I have a big idea for making fleets work better when composed of multiple types of ships with different roles.

    Quote Originally Posted by AgentPaper View Post
    So, I've done a bit of thinking about it, and I think there are three core tenets that need to be applied in order to make the game have a fun and interesting political landscape. I'm using examples from Europa Universalis, but those are only examples, not necessarily the only way to accomplish them.

    1) The defender has the advantage.
    So very much yes. The attacker has the inherent advantages of knowing where the battle will happen in advance and being able to concentrate forces from his entire empire in that one pre-known place. There need to be some enormous defensive advantages to prevent that from turning into either mutually assured destruction or the first strike winning every war. In real life, shorter supply lines, terrain familiarity, better protected support, and the ability to concentrate forces from elsewhere quickly are a major part of that. In video games of this type, a lot of those factors are often abstracted out or would require much less progression per turn to make workable. Regardless of how it happens, there need to be mechanics that make instant knockout attacks require absurdly overwhelming power.

    SE4 has quite the opposite. I once wrecked a major empire that had been throwing a new fleet of multiple dozens of ships at me every few turns by getting a tiny squad of 4 ships past his border and blowing up every colony in sight while fleeing the ships in pursuit. By the time a mine field stopped them, those 4 ships had a big chunk of his empire destroyed and most of the rest rioting over the losses.

    Quote Originally Posted by AgentPaper View Post
    2) No conflict ends quickly.
    It's pretty common in SE4 for two sides to go to war, one large battle is fought with most or all of each side's fleets taking part, and then one side (usually the attacker) wins and the other side has no hope of recovering. The entire game essentially comes down to that single battle, and once it's lost, the loser may as well just quit the game, because they'll never be able to build a fleet large enough to match the winner's fleet ever again. This is a nightmare for politics, because it essentially means that every single war is all-or-nothing. It's hard to justify going to war to protect a third party when you losing that war will almost assuredly mean losing the entire game. It's simply too big of a risk.
    Part of the reason for this is that SE4 has no reason for players to deploy meaningful forces spread out through their empires, and there is no diminishing returns on the power you get for concentrating more forces in one spot. If, say, the bulk of an empire's military force were required to deter piracy, a major war loss would turn into an uptick in pirate activity as you frantically assemble a new fleet from a portion of your anti-piracy forces.

    Quote Originally Posted by AgentPaper View Post
    Speaking of re-building, that's another thing that should probably change: In SE4, it takes a long time to build up a large military force, and in general your limit is how many ships you can build, with the upkeep for those ships generally being rather low.
    "Upkeep is low". *snort*

    If your military is not being constantly trimmed down by losses, maintenance costs in SE4 can be staggeringly high. I have had games where the price of maintaining my fleet (not including new construction) was, if I recall correctly, well over half my total income. Build rate is the short term limit, yes, but the long term limit is most definitely maintenance cost, and if war is being declared after a long period of peace you will be dealing with fleets at the long term limit. The problem in SE4 is how fast a war fleet moves relative to that long term.

    Quote Originally Posted by AgentPaper View Post
    3) Wars can be good in the long term, but are always bad in the short term.
    Something along these lines is close to inherent in the concepts, but how strong a factor it is varies. At its heart, war is a matter of spending resources in order to gain or preserve resource production. Making war less attractive is a simple matter of increasing the required resource expense and/or decreasing or delaying the resource production gain.

    Quote Originally Posted by Aotrs Commander View Post
    Not a coder, so can't offer anything on that front, I'm afraid...

    I am always on the look-out for the perfect 4X, though... Currently the best contender is SotS 1 and 21, thought I played Space Empires V (with the ubiquious fanmod that everyone recommends, granted) recently and was quite impressed and your proposal sounds interesting.. (If the tactical RTS battles in SE V had been a bit more dynamic, it would have nearly been a perfect sort of game1.) So, out of curiousity, what did SE IV do different to SEV? (And by extension how is your end-product going to work?) I'm thinking here specifically of the stuff like SE V's ability to change space with stellar terraforming, ship building, the space combat RTS, ground-side (if primitive) RTS and SE V's delightfully extensive tech tree (even when cut into more managable chunks by said fan mod).
    I was in the beta test of SEV, but didn't play it much and haven't played it since. Stellar manipulation, detailed ship building, tactical space combat, and a lot of technologies were inherited from SEIV. Space combat being real time, ground combat being more than two sides repeatedly exchanging volleys, and the sheer quantity of technology levels were new to SEV. As I recall SEV also had a hex-based system grid and limited sight range within a system, which were both new.

    Quote Originally Posted by Aotrs Commander View Post
    1The perfect one would be something like MoO3/SE V's tech tree size and length, SotS 1/2's tactical combat (mechanically and graphically), GalCiv 2's planet infrastructure (perhaps with a dash of Moo3/SE V), MoO3's scale, SEV 's environment manipulation and something akin to SotS 1/2's tactical combat but on the ground (or something like Star Wars Empire at War's.) So, not asking for much, really...!
    I'm not familiar with how combat works in SotS, but I know what you're talking about for the rest.
    Last edited by Douglas; 2014-12-27 at 12:49 AM.
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

  15. - Top - End - #15
    Ettin in the Playground
     
    AgentPaper's Avatar

    Join Date
    Jun 2008

    Default Re: Making a game like Space Empires, need code reviewers

    Glad to see things are still coming along. I can't stress how important a design document is, not just for sharing with others what the intent of the game is, but for clearing up how you actually want the game to work. It's really easy to think you know what kind of game you want, and how it should play out, but then go to actually accomplish that and realize that it's completely untenable, or simple doesn't make any sense outside of your head. Forcing yourself to write it down, first generally and then in more detail, forces you to look at your ideas as they actually are, rather than just what you want them to be.

    The resource thing especially feels like something this could benefit from. I can see the idea you've got, but it's going to take a lot of planning and careful design to make it actually work out that way, rather than just being effectively random because it's too complicated for anyone to understand what's going on, let alone track and manage such specific details.

    For one, you'll need to keep the number of materials down to a very small number. A dozen different types of good is probably a good hard limit, preferably it'd be more like 7-8 (3 raw resources, 4-5 manufactured resources).
    Excellent avatar by Elder Tsofu.

  16. - Top - End - #16
    Ogre in the Playground
    Join Date
    Aug 2005
    Location

    Default Re: Making a game like Space Empires, need code reviewers

    The resource thing might feel worse than random events. At least random event explains what is happening and how it affects you, and how long.


    A thing like that can completely hose you over. Suppose you lose a single resource, not to blockade, but because you lost a single planet? Permanently?

    And it affects all your other planets?

    It's such a huge threat you have to consider it and prepare for it. On the other hand, If the AI management is good enough for the player to ignore it, then your hard work was meaningless because it doesn't show.

    If the player must consider it... That in turn either forces you to go through a boring, complex resource map or, when the 'event' happens, accept that it was a preventable mistake and your fault.

    Boring vs punishment. Stick and stick. How would it make the player want to play the game?
    Last edited by endoperez; 2014-12-27 at 02:59 PM.

  17. - Top - End - #17
    Titan in the Playground
     
    ShneekeyTheLost's Avatar

    Join Date
    Dec 2004
    Location
    I wish I knew...
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Rather than unique resources that are required to build something, I'd go with resource boosts. For example, planet X seems to have a high density of ores that will produce 25% more raw materials when set to focus on mining. Planet y seems to be rather verdant and any food produced will result in 25% boost.

    We're dealing with a high-level position, not bogged down in every day shenanigans, after all. One can assume that, as long as you have supply lanes, any of your resources can get anywhere in your empire. Which brings me to another point... supply lanes.

    To quote some military guy or another: Amateurs study tactics, professionals study logistics. Supply or shipping lanes can be an extremely interesting mechanic to use, both in offense and defense. In effect, to ensure that your empire is properly supplied with everything, you need to build shipping lanes. Your merchant fleet runs through these shipping lanes and makes sure that everyone has what they need. So you can have one planet with a focus on growing and processing food. That food is then distributed all throughout your supply network. So you don't have to have every planet doing everything simultaneously.

    The upside is that you can use your food-producing planets to support a larger population on a rockball with valuable mineral resources. The downside is that if an enemy fleet decides to interdict a supply line, you need to chase them off of it.

    This has a number of very interesting tactical complexities that can be implemented, both in offense and defense. Defensively, if you are in the middle of your empire, it can be hard to cut off all the supply lines going to a planet, however the opponent's fleet is probably at the end of a narrow supply line. Cut that supply line, and they are forced to retreat or starve. Advantage to the defender. Also it means at least part of your fleet needs to be ready to defend it from such tactics.

    By that same token, blockading a system might be rather interesting, depending on what that particular planet lacks, if you can manage it. At the very least, it will force your opponent to respond to your threat.

    Shipping lanes are created with merchant fleets. You can use the merchant fleet to establish a shipping lane for a recurring maintenance cost. The cost of one shipping lane might well be nominal... thousands of them will cost a large empire significantly. This also is a deliberate handicap given to mega-empires who would otherwise have no blockades to just roflstomping the galaxy. It also makes a player think twice about redundant shipping lanes, which might end up costing them if the system gets blockaded.

    Once you get off the main shipping lanes, there's a limit to how long you can last before you start losing units. Blockading a system will also prevent any resources generated by that system from being accessed by the empire at large (a.k.a. the player). A merchant fleet attached to a military fleet can keep it supplied for longer, multiple merchant ships can be used to ferry supplies from the nearest friendly system.

    While there is no way to destroy a shipping lane directly, it must both start and end in a friendly system. If a system is captured by an opponent, all shipping lanes connected to that system are disbanded. However, placing military ships on an opponent shipping lane can cause it to be non-functional until someone kicks you out. This gives way to raiding and piracy as viable methods of engaging an opponent.

    Shipping lanes are also more economical for military vessels to traverse, as opposed to open space. Which, again, gives you a defensive advantage because your ships will be able to arrive at a friendly output faster than opponent ships can get there over open space.
    Quote Originally Posted by The Underlord View Post
    All hail great Shneekeythulhu! Ia Ia Shneeky fthagn
    Spoiler
    Show
    Quite possibly, the best rebuttal I have ever witnessed.
    Joker Bard - the DM's solution to the Batman Wizard.
    Takahashi no Onisan - The scariest Samurai alive
    Incarnum and YOU: a reference guide
    Soulmelds, by class and slot: Another Incarnum reference
    Multiclassing for Newbies: A reference guide for the rest of us

    My homebrew world in progress: Falcora

  18. - Top - End - #18
    Ogre in the Playground
    Join Date
    Aug 2005
    Location

    Default Re: Making a game like Space Empires, need code reviewers

    I like the shipping lines as an abstract idea. They would also provide a peacetime reason to have ships. They could then be retrofitted into military ships, or military ships could be used to support supplyvlines in peacetime to help cover their upkeep costs.

  19. - Top - End - #19
    Titan in the Playground
     
    Knaight's Avatar

    Join Date
    Aug 2008

    Default Re: Making a game like Space Empires, need code reviewers

    It might work better to have clusters - everything within a certain closeness is naturally clustered together and shares resources, other things have to be explicitly connected. This creates situations where you can cut off resources, but has fairly minimal micromanagement.

  20. - Top - End - #20
    Ogre in the Playground
     
    SangoProduction's Avatar

    Join Date
    Aug 2014
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    I've only gotten to read about 3 posts so far, so I don't know if you are still wanted help, but I am strongly proficient with Java. I admit not having checked C++ yet, though it shouldn't be hard with a day's research. I am quite exceptional with reviewing code (especially if I know what's suppose to be going on). I am going to a top tier computer science school, but I can't seem to convince myself to work on personal projects on my own accord. Perhaps this will help me to break that habit. (I know that statement makes me seem lazy, or inconsistent, but I've yet to miss a deadline, or produce a nonfunctional machine, save for 2 times in the past 5 years... I just have some physical incapacity for self-motivation.)

    As for the projects that I did actually manage to finish, they include basic simulations (which I hope to make more complex soon), and a couple automated character sheets (I think I still have one on my laptop).

    Also, with concerns of population and technology, you should perhaps look into "artificial population". IE. Population made by labor. If you are space-faring, you probably have at least a basic concept of automation, and can research something akin to "Learning Machines."

    Also, perhaps an action called: "Incentivize Reproduction." Which would eat at your labor on the planet, as well as some of your stored money, but would increase your population growth significantly.

    I can't really think of anything else without seeing the game in action.

    (Also, I tend to prefer to suggest small non-game-changing things, over huge ones, like shipping lanes, because I largely think along the lines of how to improve something that exists rather than coming up with an entirely new feature. If that's the type of suggestions you prefer, though, I can certainly try, though.)
    Last edited by SangoProduction; 2014-12-31 at 07:28 AM.

  21. - Top - End - #21
    Pixie in the Playground
     
    DrowGuy

    Join Date
    Feb 2015

    Default Re: Making a game like Space Empires, need code reviewers

    Just randomly noticed this thread - is this project/offer still active?

  22. - Top - End - #22
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Yes, but I'm having computer troubles at the moment. The computer that hosts my source control server and that I do all my work on is currently in the shop, being examined for why it's unable to boot up. It's been there for a week now, when it was supposed to be fixed within two days...
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

  23. - Top - End - #23
    Pixie in the Playground
     
    DrowGuy

    Join Date
    Feb 2015

    Default Re: Making a game like Space Empires, need code reviewers

    Ouch, hopefully you get that resolved soon :( Anyway, I'd be interested if you still are looking for more people.

    Quote Originally Posted by Douglas View Post
    Yes, but I'm having computer troubles at the moment. The computer that hosts my source control server and that I do all my work on is currently in the shop, being examined for why it's unable to boot up. It's been there for a week now, when it was supposed to be fixed within two days...

  24. - Top - End - #24
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Ok, I have my computer back now, finally. The tech had to reinstall the OS and wipe my RAID, but he was able to copy my data off first so there should be a VM image of my Phabricator server just waiting for me to reinstall the software to run it.

    I had the foresight to host a constantly-updated clone of the git code repository on a cloud service, so the source code was never in danger, but having my local data back means I don't have to recreate a Phabricator instance, lose code review comment history, and set up people's accounts again. It also means my not-yet-committed work in progress is saved.

    On a side note, this little incident has taught me that RAID5 is no substitute for proper mechanically separate offsite copy as a backup mechanism. Does anyone have suggestions for a good cloud backup service, preferably designed to handle cloning entire hard drives with saved checkpoints?

    In any case, I should be back up and running, and resume work on this, within a few days.
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

  25. - Top - End - #25
    Ogre in the Playground
     
    SangoProduction's Avatar

    Join Date
    Aug 2014
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Unfortunately, I only store my important documents/programs on my backup laptop, and don't use cloud storage (I just get more storage per dollar, and don't have to worry about not being able to access my information when I need it...or accidentally, somehow, have an infinite loop running that makes it into the cloud storage, and then takes up far too much space and then I'm stuck paying the fines.)
    But, it's good that you've got the situation handled now.
    "I know this: if life is illusion, then I am no less an illusion, and being thus, the illusion is real to me. I live, I burn with life, I love, I slay, and am content."

    -Conan of Cimmeria (Queen of the Black Coast by R.E. Howard)

    Journals from my D&D campaign
    My Vestige
    Found my Artifact
    Player Expectations
    Familiar with Druids?

  26. - Top - End - #26
    Barbarian in the Playground
     
    D-naras's Avatar

    Join Date
    Jan 2009

    Default Re: Making a game like Space Empires, need code reviewers

    I'd love to give a hand in this. I am fluent in Java and C++ but I haven't had much experience actually coding in them, so I would like to take this opportunity to get some experience in both. As far as game design goes, I am an amateur game designer with a board game and an trpg on the way. When it comes to 4x games I have a smidgen of experience (mostly Civilization 3).

  27. - Top - End - #27
    Dwarf in the Playground
     
    GM.Casper's Avatar

    Join Date
    Sep 2009

    Default Re: Making a game like Space Empires, need code reviewers

    Quote Originally Posted by endoperez View Post
    On research: a friend and I adore Master of Orion 1's research. The randomization of what tech you have available makes it better for single player. A game where bad research choices hurt you becomes a story... Good or bad, it's still a fantastic experience. That probably wouldn't work in multiplayer..
    Here's my solution to this: have the same random tech tree apply to everyone! Basically it's the game declaring 'no lasers for anyone'. And you wont even know that until you have the tech tree explored at least partially.

  28. - Top - End - #28
    Firbolg in the Playground
     
    Djinn_in_Tonic's Avatar

    Join Date
    Nov 2006
    Location
    Stuck in a bottle.
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    I'd definitely interested, although I'll admit primarily as a way to brush up on my own coding: it's been a little while since I've done anything outside of PhP, HTML, CSS3, and the occasional Javascript. That said, I used to know C++ decently, and I've been meaning to teach myself Java for a while -- this seems like a great opportunity.

    I'm also up for giving actual gameplay feedback when you get to that point: like AgentPaper, I'm a self-taught student of game design, and I love getting a chance to put that knowledge into practice, especially when it can help someone find ways to improve something they care about.

    That said, there's a chance that I may have to bow out eventually: I have an upcoming interview with a major game developer (a third interview, so it's sort of serious), and, while I doubt any non-compete agreement extends to helping people out with games in completely unrelated genres, there's a possibility that it does in fact prohibit that sort of thing. So apologies in advance if that occurs!

    Ingredients

    2oz Djinn
    5oz Water
    1 Lime Wedge


    Instructions

    Pour Djinn and tonic water into a glass filled with ice cubes. Stir well. Garnish with lime wedge. Serve.

  29. - Top - End - #29
    Barbarian in the Playground
     
    Zyzzyva's Avatar

    Join Date
    Feb 2015
    Location
    Toronto, Canada

    Default Re: Making a game like Space Empires, need code reviewers

    Java dev (android, specifically, but come on) who likes doing code-reviews at work. Would totally be willing to throw some time at this.
    Spoiler: Worst PC Concept Ever
    Show
    Quote Originally Posted by Rhaegar14 View Post
    I came up with a master ninja with a robotic arm that is simultaneously both a vampire and a werewolf. He is the first of his clan in a thousand years to master the Warp Blade technique, which allows him to bend space-time to his will. So in addition to being a cyborg werewolf vampire ninja, he's also a time traveler and functionally immortal.
    Quote Originally Posted by Milodiah View Post
    ...kinda sounds like Samuel Haight got sent to the world of Rifts.
    Quote Originally Posted by Anonymouswizard View Post
    And we have a new winner!

    Avatar thanks to ThePrez1776.

  30. - Top - End - #30
    Surgebinder in the Playground Moderator
     
    Douglas's Avatar

    Join Date
    Aug 2005
    Location
    Mountain View, CA
    Gender
    Male

    Default Re: Making a game like Space Empires, need code reviewers

    Ok, I've finally gotten off my game-playing ass and gotten the server running again. I'll be PMing signup instructions to SangoProduction, dartom, D-naras, Djinn_in_Tonic, and Zyzzyva momentarily.

    Getting JTA-based transactions to work is proving to be difficult, and I'm considering trying other approaches to enabling parallel multithreaded turn processing calculations. Does anyone with relevant experience have opinions and/or helpful resources on the subject?

    Also at the top of my project todo list is creating a technical design document.
    Like 4X (aka Civilization-like) gaming? Know programming? Interested in game development? Take a look.

    Avatar by Ceika.

    Archives:
    Spoiler
    Show
    Saberhagen's Twelve Swords, some homebrew artifacts for 3.5 (please comment)
    Isstinen Tonche for ECL 74 playtesting.
    Team Solars: Powergaming beyond your wildest imagining, without infinite loops or epic. Yes, the DM asked for it.
    Arcane Swordsage: Making it actually work (homebrew)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •