Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem







You can see courses from the new "Courses" button on the action bar. Creating a new course from this screen should place you into an editor. From this editor you can name the course, set a price to join the course and select the subject for the course.
Clicking on any of the blank timetable slots will bring you to a screen where you can select the lesson for the period, "Free period" being students doing whatever they want. Once a lesson is selected you'll be able to add rooms and assign staff to them. The dropdown boxes will only let you select rooms that work for the lesson are unused. Same for staff. If you add multiple rooms students will use the second if the first is full helping to increase the capacity of the course.
Once you've finished setting up lessons saving will place the course into the list and allow students to sign up to it. You may edit the course at any time but students already signed up will not see the timetable changes if you decide to move things around and may end up missing lessons.
There is still more to come on this system in future updates.
The list of rooms was then sorted based on the bias score and in the cases where two rooms had the same score their distance from the player was used instead. And then a task was selected from the list semi-randomly, looking at this code now it somewhat undid a lot of the previous work in the cases of small universities.
Once inside a room that rooms script took over until the next time a task was to be selected. Buildings and Gardens for example would try and find a seat and if not they would randomly pick a free spot to stand on.
To make this work (And what took up a bit of time) I needed some way to evaluate these rules quickly (they'll be run often) and store these variables efficiently in memory. I ended up writing a small parser (using the rust library combine
Next up was making these scripts able to control the client-side of things (multiplayer and singleplayer as they both use a server). This required having the client know which script to call, instead of sending the name of the script which could waste a lot of network bandwidth I went with sending a 16 bit value that points to an offset in the list of choices, assuming both sides have the same mods loaded (in the same order) this should always be fine (And I don't think we would need more than 65536 idle options anyway).
Loading
