Jump to content
  • Advertisement
Sign in to follow this  
stratozyck

A Game Theorist tries Game Design

This topic is 867 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all - after waiting over an hour I decided to post here instead of in Announcements.

I am making some headway into my first "real" game. I am a 32 year old PhD Economist that left academia for better pay and hours in banking. My dissertation involved teaching thousands of computer agents to play a modified form of rock paper scissors to investigate patterns of honesty and lying (I won't bore you with that here) that can arise in society.

Anyways I have always been a fan of 4X games - I have been a Civilization fan since Civ I. However, I was always annoyed that on the harder difficulties, the AI always simply cheats. They know where your units are, they get bonuses, etc. I got to thinking, could I develop a 4X type game with more of the elements I liked? I knew I had the programming skills - I made a few crappy games when I was 14 and you had to learn how to draw directly to video memory. I stopped because I am such a bad artist.

What I have at this moment:

- A randomly generated map of any desired size that can be scrolled around.

- Computer controlled characters (NPCs) that do a limited set of actions (they used to randomly attack each other but I took that away for now).
- Ability to form (one) settlement with another NPC, computer NPCs can also form one settlement.
- Settlements have a small radius in which production of one of two goods (wheat or cotton) is undertaken.
- Human controlled player can hit an attack button that shows the attack distance (but I disabled attacking for now)

- Rediculously bad graphics, I cringe but I keep telling myself "4X gameplay is the same if its text based, I can hire an artist in a year or so if I stick with it."

What I am going for:

I see human history as a struggle between chaos and order. The time frame this game will seek to emulate is Dawn of Agriculture to about 1400 AD. I picked 1400 AD because that is about the time that gunpowder gave urban dwellers a final advantage over the people of the Steppes. Prior to 1400, Mongols, Huns, and other non urban dwellers were a constant threat to urbanites. Players will be able to form a society that develops strong trading partners with neighbors (or seek to conquer them). Alternatively, a player can choose the life of a nomad and possibly develop into a society crushing barbarian force. I want to play the game and be trading peacefully and think "wow I am so smart at this game, everthing is so civil" and then wham, here comes a barbarian hoarde that developed slowly like a snowball starting 200 turns ago and from a land far away. Early on, barbarians will simply be raiders that survive by attacking trade and darting in and out of territory to pillage farms.

 

Also, there will be no year counter, only a turn counter. There will be no natural end and no technologies to research. Development differentiation will be through trade, internal development of a society, and policy decisions. Barbarian/raiders will develop differently but be able to go from single bandits to leaders of a hoarde. Development for both barbarians and societies will be two ways - you can develop to something higher but also fall flat back to nothing again. Victory conditions aren't decided at the moment but one could be a "victory over the barbarians" where all societies are at peace and barbarians are eradicated or a "barbarian victory over society." In addition, an individual society could become so dominant that they win as well.

Game design:

- Economics: real, market level economics will play a large role with trade and production borrowing heavily from economic theory

- Supply and demand will be handled with CES utility functions (for AI demand for either good) and production functions that adhere to economic theory. Only societies that are connected will form a market; there will be many markets at first but as the game progresses a world market will arise

- Say you decide to fortify your realm with walls and guard towers - these require stone. To get all this stone, you end up buying up a lot from your neighbor, AI Joe. In the course of this, you bid the price up, and AI Joe shifts workers to stone quarrying and before you know it, now AI Joe has an insurmountable hold on the local market for stone due to learning curves applied to stone workers. After you stop buying stone, AI Joe now can produce and sell stone cheaper to all your neighbors - who end up fortifying quicker because of this event!
- Similarly, lets say an unknown AI society, AI Billy, was out of contact of your trade network of 4 cities (right now 1 society = 1 city and I am holding that constant for the next few weeks). AI Billy suddenly comes in and it turns out he has specialized in cloth - same as you! Uh oh, now the additional cloth in your localized market drops the price and your economy crashes.
- Emergent systems - the balance of different specialties, plus the barbarian/society dynamic, will lead to games that can be chaotic, orderly, and everything in between.

Implementation

- To attempt this, emergent systems need a lot of AI players. This game will be designed for single player for the foreseeable future. To cut down on CPU load, each player will only have 1 unit they move and that one unit will be treated more like a RPG character (as you develop your character can move more, see further, have better attack values, etc). That way, a game with 1,000+ AI characters can be reasonably fast in between turns.

- Elements of genetic learning will allow those 1,000+ characters to have adaptability to the game. For genetic learning, the more  the merrier; the drawback is large populations of genetic agents can bog down a machine. Before I left academia I worked on a genetic simulation that took 6 weeks to run even with multithreading. And that was only sampling 1/9th of the solution set. It was far more complex than the AI in this game will be.

For genetic agents, the length of time it takes is a function of the number of bits it takes the represent the strategy, the number of agents, and how long you let it run. You can run it for a few seconds but you might not get close to an answer. I think what I will do is limit the number of bits to 32-64, subgroup the agents to limit the population, and run it a little bit each turn (say, 3 seconds max).

Coding
- Two months ago when I started really thinking about this I thought a lot about my goals. This is for fun and I already have a full time career (that pays well and quite frankly I am overqualified for to the point that most days I sit at my desk and pretend to be busy - I was given 5 weeks to do a task that I completed in 3 days recently. I am not telling my boss just yet). So, people are going to flip when I say...

- I am aiming for only Mac. I am using SpriteKit and after looking at all the others (even Cocos2d) I just went with what was most comfortable. I actually like Objective C. If I do what I intend to correctly, it won't run well on mobile devices. It will be a processor hog and be doing tons of floating point calculations that have nothing to do with graphics.
- I see this as a "I always wanted to do this and now have a good idea and I don't care if it takes 5 years" type thing. I am working on it daily, keeping a developer blog, keeping goals, etc. But I don't care if anyone else likes it - I want to like it and thats it.

- If, by some stroke of luck, I really like it, I will hire an artist and think about porting it to Windows.

Edited by stratozyck

Share this post


Link to post
Share on other sites
Advertisement

Well, I have got to ask, since you're posting in game design I assume that you are looking for some kind of feedback of any kind? Right now you're klind of shooting it down after stating that "But I don't care if anyone else likes it - I want to like it and thats it."

 

What kind of feedback are you looking for? If it's just saying "look at my game" I am not sure why you did not choose to post it in announcements?

Share this post


Link to post
Share on other sites

There's also the Developer Journals that would be a good place to describe your project, particularly if you intend on posting regular progress updates.

Share this post


Link to post
Share on other sites

What kind of feedback are you looking for?


Exactly! Why did you post this, Stratozyck? Edited by Tom Sloper

Share this post


Link to post
Share on other sites

My intent is to show others that making a game doesn't have to be market oriented. If you like it, probably someone else will. 
 

In life you should never care what others think if you are doing what makes you happy. My ulterior motive was to hope to reply or link to this thread in a year and go, "cool this is how far I got!"

But alas, forum people be forum people and any excitement is met with negativity. I apologize sincerely. I shall refund you the few kilobytes of storage space. I shall grant you knowledge to refund the time you spent reading it as well.

As I am an economist I shall give you a quick list of things that if you believe, you are wrong:

"The US government is going bankrupt! The Debt is huge and we will never pay it back!"
- Nope, a country that borrows in its own currency can never go bankrupt - it can simply print the money out if all he debtors want it back. Also, countries don't ever have to pay the money back they borrow - all that matters is the Debt to GDP ratio. As long as it is long run stable or going doing things are ok. Even then, a few economists are arguing that what really matters is the Debt to Asset ratio of a country. By Debt to GDP we are over 100% in debt, by debt to asset its like 10%.

"Its econ 101 that a minimum wage causes unemployment!" 
- But its econ 201 that there are special cases where it doesn't. For instance in the existence of market power against low income workers, there are cases where it can actually increase employment. Thats not to say the minimum wage is the best solution or even the best thing to do in the circumstance.

"China owns all the US debt"
- No the largest holder of the US debt is actually the Federal Reserve. They hold a lot for monetary control purposes. Theoretically congress could write a law and seize it.

Anyways have a good weekend! I know this post will get banned/moved/burned to a crisp because thats what moderators do at any hint of not being worshipped and feared like a god.

Share this post


Link to post
Share on other sites
Come on, there's no need to horriblize. We just wanted to know if there was something we could help you with. So you were making a point, but the point was obscure, and now you've made it -- that's fine! There's no need to run away with your tail between your legs. You're welcome to share your ideas here.

Share this post


Link to post
Share on other sites


If you like it, probably someone else will. 
 

 

quite true. when looking for a new project, i always start with what i would like to play that hasn't been done yet - or done recently - or done well.

 

of course, how many others will like it depends on how niche your tastes are.

Share this post


Link to post
Share on other sites

My intent is to show others that making a game doesn't have to be market oriented.

Yes, many indie games have done well that way.

I've recently played through and enjoyed "Gods Will Be Watching", and it's definitely niche. But sometimes the niches can be surprisingly large. smile.png 
 

In life you should never care what others think if you are doing what makes you happy.

On one hand, yes, we shouldn't be easily swayed by every insult (or even praise). On the other hand, as creative individuals we need to be willing to consider (but not blindly accept) criticism, especially (but not exclusively) if it's constructive criticism.

As designers, we can't just say "but I like it this way" to every part of our design. As an artist friend likes to point out, many beginner artists never grow beyond beginner status because they claim that even the bad parts of their art are part of their "style", and don't want to stretch themselves beyond it. They don't want to invest in their own skills to improve, by practice and study, because that'd be workrolleyes.gif 

We may very well like it the way it currently is, but as we grow our skills, we may be able to see that we'd like it even better if we knew a way to improve it - and we only learn how to improve it by questioning its current form.

But we also do recognize that we can't please 100% of the people 100% of the time, so it's smart to choose ourselves as our primary audience, knowing that if we make something great that we ourselves enjoy, others will also enjoy it.
Further, the vocal minority may say "this sucks and you need to change it", but many more may be silently enjoying it as it currently is. So it's important to accept criticism, but intelligently filter it through knowledge and experience and the bigger picture of the design.
 

But alas, forum people be forum people and any excitement is met with negativity.

You might want to re-read the posts. Out of three posts, only one of them can be interpreted as negative (and only barely). The other two offered suggestions.

We were confused about what you actually wanted from us, and if you're just sharing it with us, then maybe it'd be better in as a (free) development journal, a blog, or a thread in the "Your Announcements" sub-forum?

Usually when people post in the 'Game Design' forum, they are asking for feedback on a design, or have specific questions about game design. smile.png 
 

I know this post will get banned/moved/burned to a crisp because thats what moderators do at any hint of not being worshipped and feared like a god.

Not in this community, no. Once you get familiar here, you'll realize that friendly and passionate debates and diverse opinions are very much welcome, even if you're arguing with a mod. I've done it plenty of times. The only debate-taboo is personal attacks... and the mods mostly only enforce that rule if you are attacking other users, not if you are attacking the mod.

 

It may get moved to a different sub-forum though, if the mod thinks you'll get better feedback there.

Anyway, welcome to the community! I hope you don't let our requests for clarity dissuade you from setting up camp here, I'd love to chat game design with you in the future, if only to give myself another opportunity to monologue. laugh.png

Share this post


Link to post
Share on other sites

It seems interesting with a more complex and realistic approach to economy in a game.

 

However, I would suggest trying to make it at least A BIT playable for others than yourself, even if you dont aim for a commercial product. That way, you will have people trying it as well and that way you get feedback.

 

Try to implement some features to get a feel for it (overcomplication kills MANY projects).

Trust me, I know:)

Edited by suliman

Share this post


Link to post
Share on other sites

Hey dude, the things you describe about your project are the closest to the idea I've been running in my head for years, albeit with a different execution.  I personally love it and am excited to see how you realize your idea.  You should create a developer journal and post some screen shots.  I've started my journal a while ago, but the goals are very similar but the difference will be what you and I choose to represent.  Ideally I'd like to strike that balance of a simulation being as real and simple as possible while being fun to control.

 

Agent based economics, let's make it fun!

Edited by Awoken

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!