Monthly Archives: May 2012

Video

This video shows a part of the simulation going on in my game, SimCom.

Advertisements

Timestaking stuff

Almost all of the graphical assets are done, and i’ve spent the weekend implementing them and replacing the placeholders. This is taking waaaay more time than i thought it would, and it feels like i’m moving along in slowmotion, which would be a good thing if it wasnt that time is actually running out.

It’s now 4 weeks left, and yet i havent implemented all graphical features, adapted it to xbox controls, scripted objectives, nor polished…

Either it’s time for panic, or time to take a few days vacation from my day job…


Small update

So, the graphics are coming toghether real nice. The designer, Murry, is an excellent artist, and it shows he has great experience from making assets for games. Ill be uploading some screens later on when it’s all implemented.
In the end, it turned out to be 58 folder with animations, so it’s going to take some time though. =)

Also, i wrote my own implementation of the a-star pathfinding algorithm, and works as it should. But i’ll probably have to try to make it more effecient. The map structure to support the algorithm is going to be really helpful aswell, when it comes to determine wall and top positions and drawing some supporting sprite elements.

I’m starting to feel a bit stressed about this, since the absolute deadline is less than 5 weeks away, and i havent even put it in playtest yet, let alone balanced it, or properly implemented all the graphics.

How well polished does it need to be upon submission?

//A


The magic of elevators

I must admit that when i started to code an elevator system for a building sim, i thought it would be as easy as max an hour of work.
– Push the button, enter the elevator, exit on your floor.

And in theory, it is very easy, especially when you only have one user of the elevator, and just a couple of floors in your building.

But, this turned out to not be working so well when you have more elevators and a really tall building and 100+ employees to use the elevator.

Scenario
A worker with a high index and a late update (compared to all workers with index below), comes to the elevator and push the button. The elevator is already in use, and thus the worker has to wait.
This goes on almost forever, because workers with lower indexes, who’s also waiting for the elevator will be getting it first since they will always push the button before a worker with higher index, because they have their update methods earlier.

So, what needed to be done was a queue system that records which worker was there first, so that their “button push” will be dealt with in a first in, first out – manner.

But, if there is always the fifo-person to use and order the elevator to a certain floor, then he could be the only passenger at any given time. Ofcourse this is not really effecient, nor user friendly. And it wasnt they way i wanted it to work. More people are supposed to ride it at any given time.

But, this is also supposed to be effecient.
The scenario turned out like this.

  1. Push button, to order the elevator to my floor.
  2. The elevator cart is on my floor, was it because i pushed the button, or is it going to pass me?
  3. If it’s going to pass me, stop and enter the elevator ONLY IF
    – There is a passenger slot free.
    – The elevator is moving in the direction i want to go.
    – The elevators current destination is further or equal to my destination.
  4. If it’s because i pushed the button, enter the elevator.
  5. Wait until the elevator is on my destination floor.
  6. Exit.

And then there is the twist with draw order, when i have multiple elevator carts in the same elevator shaft, but thats another story! =)


Still not happy

.. with the elevator sytem and queue system.

The FIFO kind of system is working the way it should, but im getting the impression that this is not the most effecient system for an elevator. This is becoming very clear when the company has about 100 employees, and everyone wants to go home from work at around 5pm.

Back to the drawing board on this i guess. =/


Working out some bugs

Spent the larger part of the day of straightening out some bugs, ive been dragging with and been annoyed about.

Thing is, when i set out to do this game, i didnt really realise that when doing an office simulator, i actually hade to do AI for all things at the office. This is including a somewhat smart elevator system, and elevator queue system.
This is the thing thats been bugging alot. It didnt properly register when somebody got off the elevator for some reason. And only sometimes.

Now, this is probably the most annoying part for most devs, that something only happens “sometimes”, and its really hard to figure out what the actual scenario is when this happens. But anyways, i figured it out, and im glad thats out of the way.

Still waiting for the last bits and pieces from Murry the designer. Should be able to do a video/trailer in about a week or two!


Artwork from the game

Artwork from the game