Jump to content

  • Log In with Google      Sign In   
  • Create Account

Input Required - Feudalism (game)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
14 replies to this topic

#1 weymiensn   Members   -  Reputation: 180

Like
1Likes
Like

Posted 29 June 2013 - 04:52 PM

Greetings,

 

Regardless of your intent and/or input I want to thank you for reading my topic. The following content which you are about to read, whether it will be enjoyable I cannot say, is the game I wish to create in several steps. First a very simplified prototype (2D, sucky graphics, ...) and build further and further until I create a will polished game. This will be, of course, a personal endeavor that will span a period of months, perhaps a year or two, three.

 

Why so long? First I want to program the game myself in C++, a language I just recently started to learn. Smart? Probably not, but what better way to learn then a real project? It will be a long road filled with depression, happy feelings and many, many, many compile errors. I have foreseen it. Do I have any game developing skills whatsoever? No, beside a programming experience, though, alas, in C#. So why not write this game in C#? I want to learn C++, simple. I am not in a hurry to develop a game and make a quick buck out of it. No, I just see it as a learning experience which will slowly teach me the skills to be a decent C++ developer.

 

I, of course, hope and will try to garner the help of this fine community whenever I am in need and depression is near. So forgiveness in advance for silly problems and endless rambling posts such as this one.

 

Currently, I am writing down my idea in a design document, while I am used to write documents for software I have written most often they were pretty technical, mere documentation actually. So I took to the internet and looked up what a design document for a game should include and I hope I did a decent job at the game overview, which I was made to believe should be a short version of what the entire document will describe.

 

So is the text beneath acceptable and did I explain my vision/idea clearly enough so others will know what I am thinking off or am I just a simpleton that got everything wrong.

 

All input is welcome, the good, the bad and the off topic, but please try on topic...

 

Feudalism is an city-building simulation game with strategy and role-playing elements added to it. In it the player will play as a landed noble, in the Dark Ages, ordered by his/her liege to found and govern a new settlement in the newly conquered lands for the glory of the realm. The game is one where management skills and a keen eye for detail will enable to bring out the maximum potential of his land during these harsh and dark time. The game targets due to its setting and genre to those who love both history, the medieval period and city-building simulation games such as SimCity. The game itself is aimed for PC only.

 

The player's main task in Feudalism is constructing and ruling an estate while reaching specific objectives given at the start of a mission when doing campaign. Constructing and planning the settlement is done by zoning the lands as either demesne, which is the land reserved for the personal use of the lord (the player), plotted lands, which is land available for peasants to hire, or service buildings. While constructing and planning the settlement is a major aspect of the game, the greatest challenge for the player will be managing his estate. This is done by optimal people management skills and squeezing the maximum potential out of the land and your peasants. If the player fails to properly run his estate, the settlement will fall prey to various dangers such as peasant rebellions or famine and should the player character, the lord, die either from hunger or be killed in a rebellion the game ends.

 

The game will reward the player by allowing him to further customize the manor, the center of the settlement and home of the lord. This is done by adding modular pieces available when certain requirements have been met. Extending the manor does not always serve only as an aesthetic reward, but can also be functional such as increasing its defensive or storage capabilities or offering completely new functionality such as a dungeon.

 

Feudalism will be an easy to pick up game as the controls will be intuitive and reminiscent of other games of its genre such as SimCity, Caesar and Stronghold. The first mission in the campaign will also serve as the tutorial introducing the basic the player should know to start building his estate. This tutorial should be as short as possible, leaving most to be discovered by the player himself. The player however will be accompanied by his advisor who throughout the game will direct the player's attention to any pressing issue the settlement is currently facing.

 

The setting of the game is the early medieval period in Europe, when the feudal system was in full swing. This is the era where the first "castles" were nothing more but wooden motte[1], with the villages surrounding these defensive structure. As the game progresses the player will gradually see his wooden motte transform into a more solid stone variant and eventually to the iconic well-known stone castles often associated with this time period. The game will be try to bring a colourful touch as to not bore the player with too much greyness and bleakness.

 

Due to its nature the game, it will have a minimalistic story, even the campaign. However, the campaign will offer a little back story; placing the tasks in a historical perspective so to teach the player a little bit about the situation in a certain region in that time period.  Events such as the Treaty of Verdun, which divided the great empire of the Charlemagne, or the Norman Invasion of England, with which William the Conqueror pressed his claim for the crown of England, will serve this purpose.

 

While the game is serious in its nature, the game will be accessible  by most demographics, though it would not be suited for the very young since the game will include the less beautiful aspects of history and aspects of life such as war, crime and racism which must, of course, be place in their proper historic perspective. The game will especially be suited for gamers who enjoyed previous games of this genre as the Caesar and Stronghold series.


[1] A fortification with a wooden or stone keep situated on a raised earthwork or hill, accompanied by an enclosed courtyard, surrounded by a protective ditch and palisade.

 

 

 



Sponsor:

#2 MrSkullz   Members   -  Reputation: 151

Like
3Likes
Like

Posted 29 June 2013 - 05:32 PM

Just FYI, the Unity engine uses C# pretty extensively.  And don't underestimate the power of run time dependency injection for testing.  Its painful to do in C++ which is one of the major advantages of Java/C# over C++.  I would take a page out of one of the lean startup gurus and leverage (yup, buzzword) existing libraries over building your own.  If you already have experience in C# then Unity sounds like the way to go.  You wouldn't write an operating system + network stack from scratch for your game, why would you write a game engine if one existed?  There are still PLENTY of problems to be solved in implementation. Building it from scratch in C++ will take way more than 3 years.  Stand on the shoulders of giants.

 

From reading your description I don't see any role playing elements other than the setting.  Is this going to be pretty much SimCastle?  SimCastle would be awesome.



#3 weymiensn   Members   -  Reputation: 180

Like
1Likes
Like

Posted 29 June 2013 - 06:07 PM

Thank you for your input MrSkullz,

 

I am not saying C# is a bad language, I love C#. It is a great language which does an awesome job. The reason why I am going to do this in C++ is because I want to learn C++ since I really want to be good at 2, instead of just one programming language. For the prototype, the oversimplified 2D prototype I, indeed, intend to reinvent the wheel and write my own engine this is to actually understand how those blasted things are designed and work, but in a smaller scale than the Unity or Unreal engine. As mentioned, I am in no hurry to release, nor profit from the project.

 

When the early-early prototype works and I want to switch to more advanced 2D/3D I will most likely start using a 3rd party engine, since as you said, why write my own engine when there are great tools already available such as Unity and Unreal. I already played around with both and my experiences at the moment tell me that I favor the Unreal engine over the Unity engine. I find the UDK easier to use than the Unity counterpart.

 

Of course, I am still open to suggestions and/or remarks you might have after reading this.

 

Indeed, you could regard the game as a SimCastle, but unlike SimCity, where jobs are very abstracted, you will have a direct say in what a large group of the peasants that live under your rule will do on the estate as they are obligated to do certain duties for you under the feudal contract. The demesne, the land which is used to fulfill the needs of you, the lord, must be cultivated by doing various tasks: hunting, gathering wood, harvesting. One of the tasks in the game will be managing all this, because if you do not you will starve, your mansion will neither be maintained nor built, .... However, not all peasants are obligated to do tasks for the lord since they are not bound to you by feudal contract, others only work for the lord and others do both. This is the people management aspect of the game.

 

Indeed the roleplay elements have not been touched so far in the overview, since I am still working on that. Since I am going for a more realistic depiction of feudalism than Stronghold did (one of my peeves about Stronghold) is that each peasant will be a persistent character. Each character being "unique" is distinguishable by its traits such as pride, lust, diligent. These traits affect how a characters lives. For example: a character who has the "Envy" character will be more likely to turn to a life of crime, while a character with the trait "diligent" will be more efficient at work.



#4 Dragonsoulj   Crossbones+   -  Reputation: 2110

Like
2Likes
Like

Posted 29 June 2013 - 06:15 PM

Since you mention doing 2D and transitioning to 3D (if I read your posts correctly), why not start with SFML? It allows for OpenGL, so you should be fine doing your 2D stuff, then transitioning over to 3D, possibly still keeping some of your 2D creations like the interface.



#5 MrSkullz   Members   -  Reputation: 151

Like
4Likes
Like

Posted 29 June 2013 - 06:24 PM

That sounds sweet.  Not just SimCastle, SimCastle on crack!

 

It sounds like your primary motivation is to learn C++ (a noble endeavor, to be sure) I must ask if you want to learn C++ software development or graphics programming.  To me they seem to be very different things.  If you stick with an active graphics engine you can probably translate your C# skills (basic OOP) to C++ without much issue.  You will learn the syntax and then get into the gritty details of the semantics pretty fast and the big moving parts (design patterns, etc) are pretty much the same.

 

If you are going for graphics programming it really doesn't matter which language you pick because it has nothing to do with the programming language other than how the language interacts with the operating system and drivers.  In my experience C++ excels at this but the underlying procedures, abstractions, and techniques are really independent of the language and you use C++ because of its speed and ability to map low level operations onto high level objects.  Then you plug it into a C# or Python library and off you go.

 

My advice would be do pick a goal for 6 months (working map, working render engine, etc) and start with that.



#6 weymiensn   Members   -  Reputation: 180

Like
0Likes
Like

Posted 29 June 2013 - 06:25 PM

Thank you, Dragonsoulj, for pointing that out, you read my post correctly. I will certainly jot that down and have a look at. At first glance it looks very interesting.

 

But now, I must go to bed... Been working far too long...again!



#7 Camilo   Members   -  Reputation: 189

Like
3Likes
Like

Posted 30 June 2013 - 01:03 AM

Overall sounds like a fun game, if well designed and balanced. I'd try it.

Regarding the choice of language and engine, I do agree with Skullz in that a higher level approach is usually more suited for these one-man-efforts, but also understand your desire to learn C++. One option would be to write the renderer in C++ (with the excuse that it needs the performance, although it probably won't, on today's hardware) and write the rest in a higher level language (C# ?). Maybe even add scripting language for the game logic (IronPython?). That would open the door to modding, if that interests you. As a nice side effect, it forces you to modularize your code and define clean interfaces.



#8 weymiensn   Members   -  Reputation: 180

Like
0Likes
Like

Posted 30 June 2013 - 04:34 AM

Thank you MrSkullz and Camilo for your input,

 

Indeed as you said, MrSkullz, my primary goal is to learn C++, though as I was writing down this little idea and I still am writing it down but far more detailed I am beginning to get more and more excited, because it is really a game I think could work, though that may be because it is a game I would want to play. I want to learn C++ for software development, not just for grpahics programming, which, by the way, would be the first time I am really getting into the whole graphics programming in my life. Not many business applications require awesome graphics! As you said the things I am really struggling with in C++ are the differences it has with languages such as C# and Java. Some things I am struggling with are pointers, references and generally how one writes a class in C++ which is quite different in C++, while still being the same in the end.

 

As I mentioned the choice of the language was made from a learning experience point of view, not because C++ is faster at what it does than C#, because for simple games this really does not matter. Though I think most likely I will come to the conclusion that the idea would be better if I were to program a game like solitaire first... just to grasp the thing. 

 

First I am going to write down the entire idea I have for the game down on paper,  so I have a better picture of the idea I have in my head with clear defined borders. So I can better plan my course of actions. I will certainly think about all what you have said MrSkullz and Camilo.



#9 Acharis   Crossbones+   -  Reputation: 3663

Like
-1Likes
Like

Posted 02 July 2013 - 06:41 AM

Feudalism is an city-building simulation game with strategy and role-playing elements added to it. In it the player will play as a landed noble, in the Dark Ages, ordered by his/her liege to found and govern a new settlement in the newly conquered lands for the glory of the realm.

Landed nobles were not building cities, they only onwed the land of the city. Usually, a city was nominally a vassal of the noble but in practice the cities paid the noble to buy freedom. We can say cities were outside the feudal structure (in some countries there was even a law that if a peasant escaped and staid in a city for one year he was considered a citizen and could not be brought back forcibly to the village)... The person who run the city was more like a city council or patricians or mayor (burgermeister/doge).

 

I suggest retheming/renaming the game a bit.


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#10 weymiensn   Members   -  Reputation: 180

Like
0Likes
Like

Posted 02 July 2013 - 06:56 AM

Perhaps the term city-building simulation game would be inappropriate, because the time frame and the scale of your settlement in no way will repressant urbanisation whatsoever.

 

However, it does have some elements of the genre in what you as player will be doing, "subinfuedation". This is zoning lands into plots open for tenure by freemen or villein. (terms for these differ vastly from region to region). This and ensuring services are avaible such as a mill so that the produce of your land the demesne. Peasants (the villein) will have to work as their tenure often so dictated. In fact the majority of the game is managing the peasants, ensuring your estate/fief enters a condition called autarky, self-reliance. This is something landed nobles in the olden days, did do. 

 

Perhaps the term city-building and word choice in certain sentences gave the wrong impression, but you are never in any way building a city. Populations above 1000 would pretty much be impossible in the game and if they were would take a looong time, since population grow depends on the natural course of things (no immigration).



#11 Acharis   Crossbones+   -  Reputation: 3663

Like
-1Likes
Like

Posted 02 July 2013 - 07:29 AM

So, you mean not a city building but a village building?

 

You might run into a problem of lack of content. Because, what can you have in a medieval village? Plots of land, houses, exactly one inn, exactly one church/shrine, exactly one mill, maybe some blacksmiths and other artisans (but not too many since these goods are taken from a city in exachange for the food). It would be very difficult to design...


Europe1300.eu - Historical Realistic Medieval Sim (RELEASED!)


#12 Milcho   Crossbones+   -  Reputation: 1175

Like
1Likes
Like

Posted 02 July 2013 - 07:41 AM


So, you mean not a city building but a village building?

 

When you said this, I thought of the Settlers VI. You can't say you're building a city there, as the population probably never goes above 500. Yet the game has surprising amount of depth. Hunter's huts to catch wild game, Butcher's shop to turn it into food. Then a soap-maker that uses the fat to produce soap for hygene. Woodcutter huts to provide wood, broom maker for more hygene. Farm for cows or sheep, cheese maker, banner maker (for citizen happiness), beekeeper huts, meadery, wheat fields, bread maker. On top of that, the way you earn gold is from taxes to the shops

 

The reason why you'd need more than one, at least in that game, is that each shop can produce limited output - i think up to 9 citizens can live off of one shop. But even with a hundred citizens, that means you need quite a few shops (of different variety - for example the breadmaker, sausge maker, smokehouse, cheesemaker all satisfy the 'hunger' need)

 

Actually that game sort of matches the original description in this thread, though its obviously not exactly the same. Still, I think it's something to learn from if making a village-building game.



#13 weymiensn   Members   -  Reputation: 180

Like
0Likes
Like

Posted 02 July 2013 - 08:00 AM


You might run into a problem of lack of content. Because, what can you have in a medieval village? Plots of land, houses, exactly one inn, exactly one church/shrine, exactly one mill, maybe some blacksmiths and other artisans (but not too many since these goods are taken from a city in exachange for the food). It would be very difficult to design...

 

In the time period this game is taking place...there very few cities, most regions were mostly self-reliant since trade and travel had nearly died out. Like mentioned in the text: 

 

While constructing and planning the settlement is a major aspect of the game, the greatest challenge for the player will be managing his estate. This is done by optimal people management skills and squeezing the maximum potential out of the land and your peasants. If the player fails to properly run his estate, the settlement will fall prey to various dangers such as peasant rebellions or famine and should the player character, the lord, die either from hunger or be killed in a rebellion the game ends.

 

 

While the whole constructing is one feature of it and certainly one that should be enjoyable, the main focus is placed on the management of the fief/estate. Fail to do so and harvest will fail, your home will fall in disrepair, ... generally bad things will happen if you rule the land without any care. You yourself have little control what your peasants are going to do for a living on their own. They just take up their land tenure and start living their lives, the only impact you have on them is deciding what their obligation is towards you yearly for that tenure (most often help harvest crops on your land during harvest season).

 

However, the feudal contracts also forces you to uphold many obligations such as protecting them from any harm such as famine. As feudal lord you are obligated to offer relief during times of famine. You will have a choice there: will you give them food or not? Doing so, will make it harsher on your family, but refusing to do so might cause a rebellion that might cause a game over, or kill many of your subjects, subjects that are not easy to replace. You will also have to protect them from exterior threats such as bandits or Norse raiders.

 

And finally, you will have to ensure that your land will be productive enough so that you will be able to uphold your duties as a vasal to your liege for every year you too will have to pay tribute, failing to do so will also cause a game over.

 

While village/city-building is the genre, like most their is a strong management aspect to the game and most of the focus will be spent here. Secondly I am not aiming for a big game... I am doing this on my own, you know.

 

weymiensN



#14 wodinoneeye   Members   -  Reputation: 818

Like
0Likes
Like

Posted 13 July 2013 - 05:07 PM

2D is fine for data representation which is a key part of debugging/tuning your simulation -- you have to be able to watch things happen to see what is right/wrong  so you can adjust the code (usually adding lots more endcase handling to the behavior logic)

 

You WILL need a good way to see the internal states of your entities  (not thru a debugger except as last resort) - that is highly inefficient

 

Animated actions only show what the logic decided and not WHY it decided

 

 

Add a text logging window (echo to file)  to do detail traces and a plethora of  easily insertable debug routines to dump relevant information and to ad hoc add more variations  of the dumps   (the old PRINT statement method of debugging is completly relevant to this kind of programming)

 

Also you want to be able to SAVE the entire state of the game  exactly   so that you can  recreate exact situations you observe and then want to run again  after adding debug tracing code 

 

Likewise build up a situation builder that lets you place specific objects to gether to interact  (like an arena) so you can test lots of the likely combinations  this may even go as far as setting/forcing them into specific states   to act out what they do next.   Have a script language (ebven if its native code) to assemble these 'situations'  to have them instanly invoked/setup  for debugging/tuning testing


--------------------------------------------Ratings are Opinion, not Fact

#15 mippy   Members   -  Reputation: 1002

Like
0Likes
Like

Posted 14 July 2013 - 09:17 AM

If your goal is to learn c++ then I suggest writing c++ components for an existing game engine.

 

Writing a platform something from scratch involves huge amounts of skills in software architecture, datbases, content management, data types and their quirks etc. My experience from "writing stuff from scratch to learn" is that I always get stuck in issues related not to the core language & syntax, but boring things like how different filesystems work or how the png image format is built up. I then end up spending days reading and studying fringe systems/apis etc.

 

I think it's much more rewarding and actually more educational to mount oneself in a framework and work with the api from the inside in a specific language. The api will force a certain amount of correctedness out of you which you won't learn if you roam and do your own thing.

 

Note that most of my coding experience is in java and javascript/php + various xml formats.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS