PDA

View Full Version : Wanna help out creating a new civ inspired game?


Matrix
28-08-2018, 16:19
The plan is substantial enough, so I'll start sharing my idea with you all. But we're still in the very early stages, i.e. design and framework programming.

A friend of mine and I are working on a new game, heavily inspired on Civilization (and a bit of Colonization) which should be different enough to prevent receiving a cease and desist letter.

The idea spawned for two reasons.
- Playing pitboss style requires you to start up the game, connect to the server, download the savegame, play your turn and exit the game again. This will be browser based, so you just log in and you're there. This game is primarily made for pitboss style multiplayer.
- Each new version of Civilization has one third old, one third improved and one third new, as the designers have always put it. The result is, now that we're all becoming old farts, that many of us got stuck on a certain version of the game. What if we want to play together again? III, IV, V or VI?

It's purely client-server based. The matches are hosted by a server and you connect to play the game. Single player is an option, that is, there will be an AI, but we're optimizing it for multiplayer gameplay. Thus, the player will not have to download the whole savegame, as what happens now. The server will just give you the information that you need and are allowed to know and the browser renders it.

Technicalities
Back-end: MySQL and PHP. So all 'savegames' are actually stored on a database.
Front-end: Vue.JS (JavaScript framework) and HTML/SVG for lay-out.

So any action you make is sent to the server, who then sends back the information about what you explored with that move, what the result of the battle is, etc.

The pickle I have is how to go to the next turn. Ideally I'd like to have a timed programme that does that, but it's also possible that the server checks the time when someone logs in and progresses the turn shift before the player can play his turn. Then I can keep everything in PHP.

Another pickle is starting a new game. Generating a world map will be quite a challenge.

Ideas we have so far
The looks will be similar to the original Civilization and Colonization, thus more board game styled, if you will. First of all because it's browser based, secondly I want that. :p

Biggest difference with what we know from Civ will be that it's not solely city based. People (as units) work on either the land or in a city, which can be located anywhere. So you don't have to worry anymore about how to spread those 'fat crosses'. The people working on land can produce food or building material, or work on the infrastructure. People in the city (need food and) can produce more commerce, science and culture. Later on in the game, people working on land will also contribute on those things.

Military units and weapons are separate. You can have an X amount of units per population (depending on...factors) and then 'mount' weapons on to them. Those can be multiple at the same time, e.g. guns and horses.

We're not too sure about technology yet, but we're trying to think of something else than the tech tree and are thinking in the lines of nations specializing and advancing in what they do, rather than a completely voluntary path. E.g. if you use spears a lot, your nation will be a lot more skilled with that (thus developing the Civ equivalent of phalanxes). But again, we haven't worked that out yet.

How to get it done
Well yea, it's just the two of us. He can program a bit, but will mostly be doing the graphic design. I suck at that. I am a programmer by profession now, but with a full time job. To create the whole back-end and front-end would take me years. So we're thinking of crowd sourcing and/or crowd funding. (My employer won't be happy with the latter if that becomes successful.) I'm not asking for your money now ;), but I am asking for your suggestions and insights. I know some of you, e.g. ProPain, are also programmers, so perhaps they're willing to lend a helping hand? Eventually I also want to share this idea on CivFanatics and other sites. If they put it on their front page and promote it, crowd funding would be a realistic option! But right now, I'm just interested in your input.

Shabbaman
28-08-2018, 19:14
People (as units) work on either the land or in a city, which can be located anywhere. So you don't have to worry anymore about how to spread those 'fat crosses'.

Is that a good thing? It sounds like Colonization without cities.

Matrix
28-08-2018, 21:08
You can still build cities, but they can be located anywhere. Sorry, I wasn't clear on that. Food transportation will be a factor, but we still need to figure out a system for that. Again: "People in the city (need food and) can produce (...) commerce, science and culture" and such. And this way you will also be able to claim small islands in an ocean without having to build a whole useless city. And they will also be more stationary. If you evacuate half your population, you'll basically have unhoused refugees in your own country.

Shabbaman
29-08-2018, 15:51
I get that you can build cities, but if you can simply work everything without a nearby city it does sound a lot like Infinite Worker Spam.

Matrix
31-08-2018, 15:37
- Population growth is not solely dependent on food production.
- Transportation matters. Especially in the early stage, food produced far away simply can't reach the city. Inventing the wheel would greatly enlarge that reach, for example.
- There will be other factors that make ridiculously large cities undesireable, like crime and health.

Thanks for the feedback so far. I hope you might also have to interesting ideas on how to work this out, instead of just saying what would be wrong. ;)

Shabbaman
01-09-2018, 10:47
I hope you might also have to interesting ideas on how to work this out, instead of just saying what would be wrong. ;)

I'm not sure I'm any good at that. I'm good at figuring out what doesn't work. And I can't code anyway.

Matrix
02-09-2018, 00:45
That's ok. [^] Any kind of feedback is welcome.

I was kind of hoping this would spark some new activity on this site, but where are all the others? Do they simply not check the site anymore?

Can't you send an e-mail to all members, telling that we're on to something new and exciting? Or is that against the GDPR? [mischief]

socralynnek
02-09-2018, 01:03
I check here from time to time...

...sounds very interesting what you have in mind.

I guess, complexity of how the logics work should be kind of connected to the desired game flow.
Is it more like a game where you duel for an hour or a few in one go?
Or more like you login like once a day and make your turn and a game might last a few months...or both?

Seems like you want a game where you can micromanage a lot? (Which would then more fit to the second style)

By the way, I am a programmer, too, and of course always wanted to do games; but with php I only came in contact very shortly at the university; I am more comfortable with C++/C#

Rik Meleet
02-09-2018, 13:04
Back in the early days of Civ 5 Sulla wrote a concept on how a cool civ orientated game would look like. I posted that on CDZ (don't have time right now to find it).

Search for it or use this: http://www.sullla.com/Civ5/civ5editorials.html

Rik Meleet
02-09-2018, 21:48
Found it: http://www.sullla.com/designingciv.html

Matrix
03-09-2018, 20:28
I guess, complexity of how the logics work should be kind of connected to the desired game flow.
Is it more like a game where you duel for an hour or a few in one go?
Or more like you login like once a day and make your turn and a game might last a few months...or both?

Seems like you want a game where you can micromanage a lot? (Which would then more fit to the second style)
The primary objective is one-turn-per-day gameplay, thus a game that can take months to complete. So indeed, micromanaging/optimizing your economy should actually be a fun part of the game, as well as diplomacy.

That also means thinking along the lines of what it means when you actually don't see the other players moving their units, as is the case in pitboss. During pitboss games, you actually miss a lot of what's going on. I'll elaborate a bit more on that in a separate post.

Nonetheless, given the fact that games will last for so long, it would not be fair of fun for players to have to learn the game mechanics along the way of such a game. Single player and "power session" gameplay needs to be supported, which means having an AI. We'll also need an AI for players who are going on a holiday or something like that, so that they don't have to rely on a substitute player (which should be supported as well). In the words of Saruman: we have work to do.

By the way, I am a programmer, too, and of course always wanted to do games; but with php I only came in contact very shortly at the university; I am more comfortable with C++/C#
Cool. :) We won't be using a C-language, but programming is programming, and other languages are just a different syntax with the same way of thinking. Vue.JS, which we'll be using for front-end programming, is like playing with LEGO for programmers. If you want to learn that, it's better to start with that immediately without having to learn JavaScript first. It's actually easier than JavaScript!

PHP is pretty crude, but I learned to love it for its simplicity. It's incredibly efficient, but you would have to get used to it being a dynamic typed language, meaning variable types can be converted implicitly, which can give unintended results without compiling errors. But the way objects and arrays work really do offer efficiency.

Anyway, at the moment I'm still building the base/foundation/fundament of the project, so there's little point to join now. Once that's done, it'll be on GitHub and you and other programmers are welcome to join. [yeah]

Found it: http://www.sullla.com/designingciv.html
Not working. I guess the site is down.

Matrix
03-09-2018, 20:55
Alright, so think about how to optimize specifically for pitboss gameplay.

Players at peace can play at the same time, so everyone will simply have 24 hours to complete their turn. However, when players are at war, tactics can become messy when simultaneous moves are still allowed. Some of us might have had experience with this: the attacker can basically make a double move by declaring war and attacking at the end of the turn, and then immediately continue at the beginning of the next turn. You can also get a silly cat-and-mouse-game where people can react on the other player's move during the same turn. Basically the best tactic is to be online and watching what the other players do all the time. We don't want to encourage that.

So my idea is as follows: when you declare war, this will not be announced until the next turn, and you cannot attack immediately either. However, you will be the one moving your units the next turn before the attacked player can move. Turns will still last for 24 hours, but you have to first 12 hours to complete and the other will have the second 12 hours to complete. Whoever is allied during a war (an alliance doesn't need to be agreed upon, but players can have the same enemy at the same time) will play their turn simultaneously. When there is a triangular war, turns will last for 36 hours.

Furthermore, it should be possible to see what moves other players have made in the previous turn, so long as it doesn't happen in the fog of war (https://en.wikipedia.org/wiki/Fog_of_war#In_video_games) of course. Which leads me to the last point: when you move your unit, the fog of war will not fill a moving unit's trail, but is restored at the end/start of the turn. That makes patrolling possible.

Thoughts?

Shabbaman
05-09-2018, 10:41
Not working. I guess the site is down.

Works for me.


So my idea is as follows: when you declare war, this will not be announced until the next turn, and you cannot attack immediately either. However, you will be the one moving your units the next turn before the attacked player can move. Turns will still last for 24 hours, but you have to first 12 hours to complete and the other will have the second 12 hours to complete.

I see what you are trying to do here. It makes sense to have some time to prepare after a declaration of war: in reality, troops aren't immediately at the door of your palace.

Or are they?

I have an idea related to this, so I'll just pitch this now before continuing with your post: in Europa Universalis, you can get a reputation penalty and a stability hit if you screw up the declaration of war. Having different options for declaring war adds depth to the game. So why not explore that? Yes, having to wait when war is declared makes some sense, if it's a very honorable war: "hello good sir, I will be invading your country after tea". It doesn't make sense for blitzkrieg though. Or consider the current hype, the hybrid war with "green men". That'll allow you to move certain units into enemy territory before DoW.

Anyway, the waiting period. The problem with pitboss is that sometimes you're not paying attention, and playing your turns just before the 24h period has passed. Once war is declared, you might want to pay more attention. So a grace period here is nice.

But then you need to consider whether you are doing sim turns or consecutive turns. With consecutive turns in your proposal, you might end up with changing the turn order. That is... weird. Sim turns is okay, but then you'll be at an disadvantage with players who aren't in the war.

Example: you declare on me, we wait twelve hours, but in the meantime that dirty bastard (I won't use a name, but we all know who we are talking about) places a city on that spot you were both racing to grab.

tl;dr good idea, but needs a lot of work and consider turn structure

Which leads me to this: the turn structure/player sequence is a key element of a game like this

Rik Meleet
08-09-2018, 00:24
Not working. I guess the site is down.

Site is not down and it is a very interesting read. I can't post it here; it has 74k characters and posts on CDZ are limited to 10k.
Please do read it.

Matrix
14-09-2018, 16:31
I couldn't reach sullla's site then, but now I can. That's a lot of letters over there, but I'll read it. :)

About turns and war then. What I first had in mind was this: when you declare war, this isn't announced until the end of the 24 hours and you cannot move your units into enemy territory yet. After the 24 hours, it's the same turn, but then you can move and attack, and are given 12 hours extra to do so. This has two downsides however: any turn in which someone declares war lasts 12 hours longer, and you basically forfeited any units you already had moved during regular play time.

My goal is to keep turn order a holy principle in this. It might not be realistic, but this is purely out of fair play in a gaming perspective. This will be, after all, a turn-based game. So far I can't see a better situation than what I already mentioned.

Shabba's remark about the green men is a very interesting one! Perhaps it should be possible to move your units into enemy territory without declaring war. When you do that, you rish that the other will declare war on you instead, allowing that player to move first the next turn. The bad reputation, as far as AI is concerned, would be reversed in that case. Thus, declaring war determines who gets to move first the next turn, and allow units to attack. Units that are on the same tile (if allowed; I think it will be) fight out immediately who gets to stay on the spot.

In any case, it's just plain silly that units just *poof* move outside of enemy territory once war is declared, like what happens in Civ4 when you declare war on someone with whom you have an open border agreement.

Shabbaman
19-09-2018, 11:13
In any case, it's just plain silly that units just *poof* move outside of enemy territory once war is declared, like what happens in Civ4 when you declare war on someone with whom you have an open border agreement.

That is silly indeed. If you are dumb enough to your opponent into your territory, don't be surprised if that access is canceled. I don't see Russian tanks walzing through NATO territory "just for the fun of it".

socralynnek
10-10-2018, 13:55
Sorry for not replying earlier....

About the programming: I guess, I should not commit to something at the moment, time is too limited...although I think I'd have fun...

About the gameplay aspects that come to my mind,I'll write something in the next days. I guess...

Socrates
25-10-2018, 08:09
So you're designing the new Civ... Good luck with that!! A big, big while ago I was here told to learn how to code to implement my ideas, but I wasn't into programming. Until I got a master in progamming, and then many years later I started to code at work (how to sum up the last 12 years of my life). My point is... you should learn to code, at least on a basic level, you'll have much more freedom to experiment with your ideas then.

On my side I also have some ideas for a new game, and I should really get back to that soon. Time is so limited...

Chase
12-11-2018, 21:18
OK