Setting up careers and Corporate Hierarchy

posted in KrisWolfe
Published April 29, 2019
Advertisement

It took a few hours, but I finally got back up to speed from losing my entire scene from a crash. I now have backups and will be implementing some type of version control so I don't have this issue again.

One of the good things about this crash was that I had run into a wall on how to implement jobs and this allowed me to fix it. I had made two markets...one for hiring employees and one for obtaining contracts for goods. The contracts is working and works in the way I envision for it to work for the rest of my development. Jobs do not, however. Right now, my current implementation is that employees either have a job or they don't. If they don't, they put themselves on the market to receive a job. A job contract is created, and if the employee gets hired, the job contract will extract funds from the company and pay the employee. The company either has enough employees for a task or it doesn't, and if it doesn't, it will seek out a job contract. When the job contract expires, it delinks itself from everything, resets the company and employee to not having an employee/job, and awaits garbage collection.

So I could spend my time getting a visual job market working so that the player can also do the same, but I don't want that. Because I want a visual corporate hierarchy, I want separate job types, I want employees to have skills that affect their jobs (or don't), and I want a drag and drop interface screen where you can drag employees to whatever job you want them to do. Also eventually we will have internal controls hooked up so that employees can commit fraud, and you can stop them from committing fraud and so forth.

So now my contract market is better streamlined because there's nothing on the screen for jobs, and now I can look through every good on the market, instead of only the goods that my company is working with. If my company is a producer, then the bid buttons are disabled because we aren't buying goods, we're selling goods. I also can't get sell contracts for goods I don't produce. It's pretty nifty.

This week I will be working on the job system. I am going to be using my first interface with this job system, and I have a feeling companies and skills will also move to interfaces. I like the whole superclass idea that I used for skills and companies, but it's just not working out and is confusing me. Interfaces are a lot more intuitive to me, and I think it naturally fits better with how I write code.

So Jobs will all have an interface IJob. My other code won't care what type of job it is, it will just tell the job to run it's behavior. It will know it has certain methods because it's an iJob, and that's really all my other code wants from the job class.

The corporate hierarchy will be interesting. For any jobs that are left unfilled, you will be able to drag your character into that slot. For each slot that your character is in, it will unlock a "job skill" for the scheduler, and you can slot in how much time you want to spend on each task per day. There's only so many hours in a day, so you will have opportunity cost on what to choose, and will have to hire employees if you want to have an efficient company. The corporate hierarchy itself will unlock over time as you become better at managing. You will get production debuffs if you don't have team leads after you have two employees working on a task, and then those teams will start to get debuffed if you don't have managers that have multiple team leads, and so forth.

Then we can have different parts of the company in tabs. Accounting, Sales, Marketing, HR, IT. I can implement interviewing for new employees. People in the market don't have to always apply for the job they are best qualified for, just like in real life. Employees can almost be "loot", where each time someone applies, they will have 2-6 random skills, and it's not guaranteed that those even apply to the job they're applying for. With time, this hiring skill can be increased to where maybe you always get at least one skill that's relevant. Or you can just hire a competent HR team to do it for you and you can worry about other things.

I love this idea of just making a game mechanic, and all this strategy falls out of it. Hopefully I can do it justice.

So, this week, gets this up and running, and have some screenshots.

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement