Harris, strategy game

Harris, strategy game

Postby ec429 » 27 Dec 2012, 07:15

Harris is a strategy game based around the actions of RAF Bomber Command in the Second World War. In Harris, you take on the role of the Commander-in-Chief of Bomber Command, tasked with launching bombing raids against Nazi Germany. It is your responsibility to take the war to the enemy and destroy their capacity and will to wage war.

The game is turn-based, but in an odd way: you give the orders for a night's raids and then watch them play out (so most of the game mechanics actually work in a realtime-y way).

Project page: Github (with a wiki).

Download: Latest build tarball for Linux x86-64; or latest build zipfile for Windows.

Screenshot:
harris_ctrl.png
Screenshot of Harris's "control centre"


Gameplay video/tutorials: on YouTube.

Contributions sought: primarily playtesters, but see the wiki page for more.

License: GPLv3+

Elsewhere: LGDB.
Last edited by ec429 on 26 Aug 2020, 18:52, edited 4 times in total.
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby farcodev » 13 Jan 2013, 21:41

It gives me a KOEI's feeling (w/ strategy games like Nobunaga's ambition).

Keep it up!
farcodev
 
Posts: 163
Joined: 09 Feb 2011, 02:52

Re: Harris, strategy game

Postby ec429 » 18 Jan 2013, 22:21

One of the things I'm considering adding is a kind of achievement system, but one that makes sense within the constraints of crunchy realistic strategy:
Certain things, when achieved, allow you to make political capital, thereby justifying a higher budget. For example, making the first raid on Berlin, completely destroying a city for the first time, or launching your first 1000-bomber raid. (Each of these was, in fact, used by Bomber Command to argue for more resources - the first city to be destroyed was the Baltic port of Lübeck, and the first 1000-bomber raid, Operation Millennium, attacked Cologne.)
Would this fit the game, or would it reduce the sense of realism and make the game feel more arcade-y?

Also, should I model exceptional conditions like the firestorms of Hamburg and Dresden, where unusual concentration of the bombing combined with dry conditions and narrow streets to produce abnormal destruction? It might be hard to model this in a way that makes it attainable while keeping it rare; Bomber Command only managed to do this twice in the whole war, even though incendiaries were a major part of most area raids. (It's curious, incidentally, that the raid on Hamburg was part of "Operation Gomorrah" — an extremely apt name, given that the planners could not have predicted the effect that occurred; indeed it was not until several days afterwards that photo-recce and intel pieced together what had happened.)

Of course, these features are a little further out; really I need to get some kind of Tame Boar AI working before I worry about these things — and I am not at all sure how to go about that.
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby ec429 » 17 Feb 2013, 01:41

Recent changes mainly revolve around gameplay balance.
  • Made damage more likely to result in a kill. Generally made defenses more deadly
  • Reduced losses from pure mechanical failure
  • Doubled budget contribution of bombs on 'specific industrial targets' (TCLASS_INDUSTRY)
  • Doubled budget contribution of bombs/leaflets on Berlin
  • Increased budget contribution of Gardening (minelaying) and Nickelling (leaflet dropping)
The object of the changes is to generally increase the loss rate while also increasing the player's ability to sustain losses. This is because, previously, the loss rate was around 1 or 2%, which is ahistorically low.

I also fixed a problem that I introduced back in December, when I added several Ruhr towns to the target list (eg. Duisburg, Wuppertal, Bochum, Hamm...); many of these towns overlapped, causing bombs aimed at one to hit another. This was particularly annoying when one had been destroyed, because bombs hitting a destroyed target earn no budget (and some of the towns were almost impossible to hit because all the bombs ended up on their neighbours instead). Unfortunately, the result of the fix is that some of the Ruhr towns are odd-looking on the map.
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby Julius » 17 Feb 2013, 13:38

That looks actually quite nice, it just needs a major GUI and sound FX overhaul ;)

What license are your current art assets under? Maybe if you can give some instructions how to prepare some GUI graphics something nice could be made out of this:
http://opengameart.org/content/real-tim ... n-horizons
by making it look a bit WW2 airplane cockpit like?

The overview map would also look cooler if it was using some WW2 style tactical map, or strategic clay model.
Hmm maybe something like this:
Image
User avatar
Julius
Community Moderator
 
Posts: 3297
Joined: 06 Dec 2009, 14:02

Re: Harris, strategy game

Postby charlie » 17 Feb 2013, 15:04

Function is greater than form. I wouldn't worry too much about the UI aesthetics until the core gameplay is solid (and it is progressing nicely). You could spend hours designing a gorgeous UI that becomes a headache itself to maintain as you add to the game.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Harris, strategy game

Postby Evropi » 17 Feb 2013, 15:55

Julius {l Wrote}:snip

Actually, they looked a bit more like this!

Pursuit to the West Wall.jpg
Pursuit to the West Wall 1944


Well, this is actually part of a teaching program to cadets the US began in 1938 (which continues to this day) but maps looked similar to this style. Which is far too complicated. Especially because it uses those horribly difficult NATO-like symbols to convey what's what.

If you want a super-duper simulationist game you can try Armored Brigade, which, while unfortunately closed-source, is built using open-source technologies (ClanLib and more). And it's free right now. That said, Harris seems pretty simulationist indeed.
You just wasted 3 seconds of your life reading this.
User avatar
Evropi
 
Posts: 385
Joined: 02 Sep 2012, 16:18

Re: Harris, strategy game

Postby Tranberry » 17 Feb 2013, 16:05

As an UX and Graphic designer I must agree with Charlie on this, decide on function and how it should be use by the player then design a nice GUI.
I agree with Q until I post differently.
User avatar
Tranberry
Community Moderator
 
Posts: 140
Joined: 08 Dec 2009, 21:46
Location: Hjo, Sweden

Re: Harris, strategy game

Postby farcodev » 17 Feb 2013, 16:10

Yeah, core functions are more important than graphics at start.
farcodev
 
Posts: 163
Joined: 09 Feb 2011, 02:52

Re: Harris, strategy game

Postby Julius » 17 Feb 2013, 19:38

Heh, I get what you mean, but it isn't really and "either or" compromise if done smartly (besides the fact that it is rarely the same people doing it). And even though this is a pretty technical game, it is an game after all and those live off the graphics, too. For games function is not greater than form, it is equal to it.

Putting an effort into graphics relative early on, will (besides making it a better game) hugely increase motivation of all contributors as it is just more of an game than an spread-sheet simulator ;)

P.S.: I am a big fan of the meme "form follows function", however note that it doesn't imply a sequence of events strictly speaking.

P.P.S.: I recently read an quite eye opening article about some Russian engineers that had a look at how real inventions are usually done, e.g. how to systematize the process of innovative thinking. Quite "meta" so to speak, but one interesting fact was that most really awesome inventions resolved contradictions without compromise, e.g. they found a way to have two seemingly contradicting things the same time without any major compromise on both of them. So be innovative and stop thinking in "either or" terms :)
User avatar
Julius
Community Moderator
 
Posts: 3297
Joined: 06 Dec 2009, 14:02

Re: Harris, strategy game

Postby ec429 » 20 Feb 2013, 01:16

Personally, I quite like the austere look the game has now; it's of a piece with the seriousness of the theme. (Note, though, that unlike a lot of modern games with a "serious moral theme", I'm not preaching anything. The game doesn't declare to the player whether bombing cities is right or wrong; the closest it comes to that is the minute from Churchill in 1945, which is actually opposed to my own viewpoint.)

However, I wouldn't be averse to a more aesthetic GUI; if someone with graphic design skills were willing to collaborate, I'd welcome that. On the other hand, the bomber type icons are staying — I'm just too proud of them to let them go…

As for sound effects, I don't really see a place for them. UI click noises would be annoying, the action in a raid is too fast for sound FX (especially in the 1,000-bomber realm), and if you want music you're probably better off just opening a playlist in your music player.
Julius, could you explain where you think sound FX would fit in?

In other news, my latest idea is to add in stats tracking and get people to send me the results; that way I get accurate feedback on how well tuned the difficulty level is. The main cost is that it will make the save-file much bigger (and also increase memory usage); however, I think that's not really an issue with today's hardware. There is also the problem of finding people who are willing to play the game through to 1945 several times…

A plea for advice: How do I make the Manchester less pointless? Realism demands that it's basically a flop, but at present I think that, assuming the player knows how bad it is, there is essentially no reason to build any. I think that, in order for it to be worthwhile having it in the game, it has to have some use. So far I can see two possibilities; please comment on them and suggest others. (1) make produced Manchesters count towards increasing the production cap on Lancasters (ie. the more Manchesters you built, the faster you can build Lancasters when they come along). This of course loses its value once the production cap is enough to saturate your budget. (2) improve the Manchester's accuracy. At present it's only 45%, which is probably reasonable given the distractions of keeping the damn thing flying, but perhaps that's already covered by the high failure rate (and loss rate!) and I should increase it towards (though probably not all the way up to) the Lancaster's 80%. (Arguably I also ought to improve the accuracy of the Halifax I, although it does already beat everything that comes before it on that stat.)
At the moment, the Manchester is, to my mind, much like the Whitley: its only real selling point is its long range, and at the time you're likely to be using it, you're not likely to be attempting long-range raids anyway. Certainly, I don't tend to go much deeper than Schleswig-Holstein and the Ruhr until 1942, except for the occasional Berlin longshot 'to keep them on edge'.

Those of you (if any) who have spent some time playing the game, do please tell me about your strategies and tactics. I'd like to hear what people think works and what doesn't.
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby Julius » 20 Feb 2013, 06:47

Personally I like music that fits the theme, but obviously that is maybe a bit difficult to come by for free (and freely licensed). Other sound fx could be bombing raid sirens going off etc. Look at the game Defcon ( www.introversion.co.uk/defcon/ ) to get an idea how to include nice SFX into such a strategy game.
User avatar
Julius
Community Moderator
 
Posts: 3297
Joined: 06 Dec 2009, 14:02

Re: Harris, strategy game

Postby ec429 » 12 Mar 2013, 00:36

I have now added an 'event log' to the save file format, and implemented logging of what I hope are all the interesting events.
This is important because it means stats and graphs are now possible. Consequently, it should be easier to evaluate balance.
So: when playtesting, don't just send me your opinions (although please, please, do send me your opinions); also send me the data, in the form of the save file.

If you've got a current save file which you want to continue, in order to make stats work properly do the following:
  1. Load the file in Harris, then save it out again. (This is to generate unique aircraft IDs.)
  2. Make a copy of the save file. Call it something like 'init.sav'. (This is because the event log is a list of changes, and thus meaningless without knowing the initial state.)
  3. Add the following to the end of the original save file:
    {l Code}: {l Select All Code}
    History: 1
    dd-mm-yyyy 20:00 I INIT init.sav

    where dd-mm-yyyy is the date from the "DATE:" line at the top of the file.
  4. Load the modified save file into Harris, and start playing!
  5. If you send me the resulting save file after playing for a while, be sure to send me the init.sav.

Hopefully fairly soon I'll be able to turn this data into lots of lovely graphs, charts, and statistical miscellanea.
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby ec429 » 14 Mar 2013, 22:37

There were some bugs in the initial implementation of aircraft IDs, particularly around the generation of the start-point saves. This would have made stats analysis needlessly complicated.
A/c ID generation in gensave.py is now produced by a repeatable, portable, and hopefully stable process, ensuring that the start-point save can be used to understand the event log.
While it is possible to reconstruct the start point of a sufficiently long event log, please consider starting over with the new version if you've only played a short time.
(Another alternative is to copy the old qstart.sav to init.sav before building the latest changes, then patching your save-file to refer to init.sav on its INIT history line.)
The above doesn't apply if you up-converted an old save file as per the instructions in the previous post, since in that case the A/c IDs were generated by Harris and the results stored in init.sav.

Thank you for your patience :)
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby beoran » 15 Mar 2013, 21:07

Well about the Manchester, from what I read in Wikipedia, it is the predecessor of the Lancaster. That means that if we're talking history and counter factual history, if you don't buy enough of the Manchester, the Lancaster will simply never come to exist. Avro didn't do a very good job on the Manchester, but the money they earned and the experiences learned allowed them to improve the design until they ended up with the Lancaster. The Manchester is a failure that helped fund and develop the development of a success. In industry, it's sometimes like that. I think that in the game, likewise, planes should only be unlocked if you buy enough of the previous version from the same builder company.
beoran
 
Posts: 35
Joined: 03 Feb 2013, 22:27

Re: Harris, strategy game

Postby charlie » 15 Mar 2013, 22:13

That is a great way to come at it, beoran.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Harris, strategy game

Postby beoran » 16 Mar 2013, 13:24

Oh yes, and since it is counter factual history, the opposite should also be possible: if you buy significantly more planes than historically happened, then the successor of those planes should become available during the war and not after. For example, if you buy plenty of Manchesters and Lancasters, their postwar successor, the Lincoln could become available before the end of the war.
beoran
 
Posts: 35
Joined: 03 Feb 2013, 22:27

Re: Harris, strategy game

Postby ec429 » 17 Mar 2013, 01:00

beoran {l Wrote}:Well about the Manchester, from what I read in Wikipedia, it is the predecessor of the Lancaster. That means that if we're talking history and counter factual history, if you don't buy enough of the Manchester, the Lancaster will simply never come to exist. Avro didn't do a very good job on the Manchester, but the money they earned and the experiences learned allowed them to improve the design until they ended up with the Lancaster. The Manchester is a failure that helped fund and develop the development of a success. In industry, it's sometimes like that. I think that in the game, likewise, planes should only be unlocked if you buy enough of the previous version from the same builder company.

That's a lovely idea, but I don't think I could make it work; too much potential to screw up the gameplay.
Besides, in the specific case of the Manchester and Lancaster, it didn't really happen that way. When the Manchester started its career, it was clear to everyone that the design of the aircraft itself was sound and that the only problem was the Vulture engines. I think the Lancaster project would have gone ahead even if the RAF hadn't bought any Manchesters at all.
It could perhaps work for the Handley Page Halifax though; the problems with the Halifax Mark I were much harder to fix, and if the RAF had given up on it HP might have done the same. I'll have a think about it.

In other news, I've started implementing various graphs based on the new stats framework. They're done in Python and require matplotlib (on Debian-based systems, just apt-get install matplotlib).
To generate them, run "stats/namegraph.py < savefile.sav", where name is one of the names below:
  • como: Air Ministry Confidence and Aircrew Morale vs. time
  • cshr: Budget rate vs. time
  • prodloss: Production & Losses per aircraft type vs. time
  • value: Total cash value of all your aircraft (also split by type) plus cash reserves, vs. time
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby ec429 » 17 Mar 2013, 17:46

Implemented a couple more stat graphs:
  • losstarg: loss rates by target
  • losstype: loss rates by type
Also, some of the graph generators now take arguments:
  • value takes --nototal (don't display the total) and --project (include projected future budget, calculated as cshr*25)
  • losstarg takes --type <int>, filter on bomber type
  • losstype takes --targ <int>, filter on target
To match the bombertype and target IDs up to their names, you can run 'stats/hdata.py --bombers' (or '--targets') to get a table of bombertype data (resp. target data); the first column ("i") is the ID.
You can also see some other data with stats/hdata.py; the arguments --events, --fighters, --flaksites and --ftrbases will yield, respectively, event dates, fighter types, flak sites and fighter bases. You can also dump out all the data with --all.

Note: I've also added another event-type ('OB') to the stats tracking, which marks when an aircraft becomes obsolete; while it's possible to calculate this from bombertype data, it seemed easier to include it in the event stream, so that history-replaying code can naïvely keep a count (and even track individual aircraft, thanks to A/c IDs) by just watching for CT, CR and OB events. This change shouldn't affect you unless you've already played past January 1941 (which is when the Blenheim becomes obsolete), so all you need to do is download/pull and recompile again. (If anyone has played past Jan '41 with the previous version, let me know; it shouldn't be too hard to up-convert the savefile.)
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby Evropi » 17 Mar 2013, 17:52

Can you uhh, make a 'compiling for dummies guide' or better yet, a static Linux build? I don't really know much of compiling and stuff and I have no idea of how to get libatg to be found while I try to compile the game.
You just wasted 3 seconds of your life reading this.
User avatar
Evropi
 
Posts: 385
Joined: 02 Sep 2012, 16:18

Re: Harris, strategy game

Postby ec429 » 18 Mar 2013, 00:23

Evropi {l Wrote}:Can you uhh, make a 'compiling for dummies guide' or better yet, a static Linux build? I don't really know much of compiling and stuff and I have no idea of how to get libatg to be found while I try to compile the game.

You should just need to 'make; sudo make install' in libatg and all the right stuff should happen (it's done with libtool), then 'make' in harris. If that doesn't work, post the error messages.
(I'll put the above instructions into the readme soon.)
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby ec429 » 18 Mar 2013, 23:01

Evropi: Step-by-step build instructions now in file 'install'.

beoran {l Wrote}:Oh yes, and since it is counter factual history, the opposite should also be possible: if you buy significantly more planes than historically happened, then the successor of those planes should become available during the war and not after. For example, if you buy plenty of Manchesters and Lancasters, their postwar successor, the Lincoln could become available before the end of the war.

After a while, the idea of doing some alternate history began to appeal to me somewhat, so I decided to create stats for four bombers that were cancelled before they went into production. You can see the results in the git branch 'xbombers'; only two of them are actually available in the game because I haven't done the artwork for the other two yet. (You can help!)
All but one were unnamed at the time of cancellation, so I've made up some names of my own. The four bombers are:
  • Supermarine Type 317 "Southampton". A four-engined heavy designed by R.J.Mitchell, this was abandoned when an air raid destroyed the prototype and drawings.
  • Armstrong-Whitworth AW.39 "Elswick". A derivative of the Whitley, re-engined with Armstrong Siddeley Deerhounds.
  • Vickers Windsor. Barnes Wallis' four-engined high-altitude bomber using the same geodetic construction as the Wellington.
  • Short Bros. "Selkirk". The projected development of the Stirling, referred to by the company as "the Super Stirling", with the wingspan increased to 135ft.
Do have a look and see what you think. I'm still not sure whether I can fit these into the game, but they make an interesting 'mod'.
Perhaps I should do the same thing from the German side, with the Uhu, the Volkesjäger, and perhaps even the Wasserfall radar-guided surface-to-air missile (yes, really)…
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby charlie » 19 Mar 2013, 00:58

ec429 {l Wrote}:Supermarine Type 317 "Southampton". A four-engined heavy designed by R.J.Mitchell, this was abandoned when an air raid destroyed the prototype and drawings.

Whilst you are on an alternative history direction, why not make this a random event, so that any 1 of the planes may get cancelled after an enemy air raid, due to this very cause.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Harris, strategy game

Postby ec429 » 30 Mar 2013, 21:21

charlie {l Wrote}:Whilst you are on an alternative history direction, why not make this a random event, so that any 1 of the planes may get cancelled after an enemy air raid, due to this very cause.

I dunno, that feels like it could seem dickish and arbitrary to the player. I suppose it could be an optional setting; indeed I might be able to merge all the xbomber stuff back in and have a bunch of options to say "make xbombers available" "randomly cancel planes" etc. But that probably ought to wait until the basic game's finished.

In other news, I've incorporated a couple of UI suggestions Evropi made on IRC:
  • For assigning bombers, ctrl-click now works like middle-click (assigns all).
  • Messages (like the orders from Portal) now have a proper 'Continue' button rather than using the signature as a button.

I've also added another script under stats/, 'tombstone.py' which counts the total number of aircrew missing in action.
User avatar
ec429
 
Posts: 40
Joined: 27 Dec 2012, 06:53
Location: Cambridge, UK

Re: Harris, strategy game

Postby beoran » 05 Apr 2013, 21:29

I for one am glad that you're considering adding alternate history to the game. I suggest to make it an integrated option to toggle. :)

Also interesting in this aspect would be that England could /lose/ the war if you perform extremely badly, or win a bit more early if you perform better than historically.
beoran
 
Posts: 35
Joined: 03 Feb 2013, 22:27

Who is online

Users browsing this forum: No registered users and 1 guest