Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411197 Posts in 69315 Topics- by 58380 Members - Latest Member: feakk

March 19, 2024, 03:10:38 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBuilding Buildings (Project 2, 2018)
Pages: [1] 2
Print
Author Topic: Building Buildings (Project 2, 2018)  (Read 5082 times)
HuvaaKoodia
Level 1
*



View Profile WWW
« on: March 24, 2018, 10:02:47 AM »

Project 2 out of five is under way! finished!

A deductive logic challenge (puzzle) about designing interconnected room layouts for buildings with differing needs.



Play it here
« Last Edit: June 05, 2018, 12:40:58 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #1 on: March 26, 2018, 01:37:26 PM »

An effective hour and a half ragging on the source material and fixing things (on paper)

(Video processing took too long. Link in the next post.)

Got the basic project foundation laid down already. Using the Model-View-Controller architecture again, why not. Making sure that a few Unity related issues, which popped up in project 1, are swept under the rug.

1. Completely reloading the main scene when loading new levels. In Pro1 I kept the main scene around, unloading and loading levels into it. This caused grief with events! If an object from a level listened to a controller event it would stick around even after the level was unloaded! Some nasty bugs stemmed from that.

Reloading the main level every time before additively loading in the actual level removes this problem. It is less optimal, but this is PC we are talking about. Such optimization is not worth the trouble.

2. Using ScriptableObjects for databases. Cleaner code and useful for limiting which resources are going to the build. For instance, a demo shouldn't have all the levels and music to make the executable smaller. For Pro1 I had to manually remove things before building.

3. Keeping MainController line count under control. I will more aggressively wall off any suspect code into other controllers or helpers scripts. It is not productive wading through 800+ lines all the time.


Didn't quite get to the interactive parts yet, but managed to accidentally create this when loading in all the blocks from a temp level.



Neat, huh?

First block interactions tomorrow, maybe even the resources. Will try to work fast. The rush of a new project! Loving it.

Cheers!
« Last Edit: March 26, 2018, 11:26:46 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #2 on: March 26, 2018, 10:38:21 PM »

Finally managed to up it. Too tired yesterday!



Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #3 on: March 28, 2018, 10:12:02 AM »



Plopping down (and removing) rooms is implemented. The building status updates accordingly and a simple GUI is also in place. Good progress I'd say.

The design is still slightly open. I'd prefer not to have a huge amount of rooms meaning the production lines are going to be short. It might prove impossible to create small, challenging levels with a handful of rooms in which case additional puzzle mechanics are needed.

Currently thinking about adjacency constraints ("This room cannot be build next to a noise producing room") and floor constraints ("This room cannot be built in a floor with 3 or more trash"). Maybe both? Will have to figure that out tomorrow.

Cheers.
« Last Edit: June 05, 2018, 12:43:21 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #4 on: March 30, 2018, 02:59:37 PM »



Decided to go with adjacency constraints as they increase the potential for deduction within each floor. First vertical connection mechanic is in too: elevators (for people, freight elevators later). Had to write a bunch of code for marking rooms usable/unusable when an elevator is added or removed. Warning icons pop up in the GUI when a room is not set up correctly, resources are overused or an objective is not yet fulfilled.

Still, a few bugs linger and there is no way to advance to the next building once the objectives are met. Will postpone the prototype release until these problems are fixed. The basic rooms in right now are not adequate for crafting actually challenging levels. Will have to think of new designs without being overly specific (keeping the visual asset count to a minimum would be ace!) Hopefully these systems are enough, but who knows.

Cheers.
« Last Edit: March 30, 2018, 03:07:46 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #5 on: April 02, 2018, 01:45:19 PM »



The prototype is finished!

Try it here

The elevator code took more thinking to get right. Supports an arbitrary amount of them now, which is needed for more complicated levels. Also added warnings everywhere. Who doesn't like those?

More rooms and levels next. Maybe even some graphics tests. Might be able to procedurally generate something simple.

Oh, Prototype stream tomorrow too. Lets say, at 12.00 UTC on Twitch.

Cheers!
« Last Edit: April 04, 2018, 03:57:14 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #6 on: April 03, 2018, 01:26:03 PM »





Did forget one thing again: the 2D GUI resource icons. They aren't exactly needed, but would improve the usability somewhat at least. Will see if there is enough time left for them. I don't even know how many resources there are going to be.

Started work on more rooms. Industrial production is first on the line. There will be some strange buildings once I start mixing things up.

Cheers.
« Last Edit: June 05, 2018, 12:47:01 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #7 on: April 06, 2018, 10:36:23 AM »



Industrial production, tourists, shoppers, security and cooling? Most of the rooms follow the rather standard format: requires this, produces that, not next to this room thx. Elevators and security systems mix up the proceedings to a degree: some rooms need guards, some need surveillance cameras. These can't be placed just anywhere due to space constraints.

Lastly there's my most recent innovation, the cooling unit! This one is required by certain rooms to function, like the big power generator, but on top of that it negates the heat production of neighbouring rooms! This is just the type of idea I was waiting for to pop up: effects which modify how previous rooms can be used! Will have to think of other modifiers too.

24 rooms in total. That's nearly my target, but some of them are simply bigger versions of previous rooms (apartments for instance) so there's still need for variety.

Many small GUI improvements here and there. Removed limitations stemming from the prototype, such as the redundant info panel and inflexible layouts. Also added a simple hover overlay for buildings which affect the whole floor (security buildings and elevators at the moment). Functionality-wise the interface seems pretty solid as is.

17 levels down. Many of them are no doubt broken already due to changes to some of the rooms, but that'll be an easy single-pass fix. Will also figure out which levels are actually good enough at that point. 17 levels per week is just about fast enough to reach that 50 level mark in three weeks. Trying to add another batch of rooms next week and then simply cranking out loads of levels in the third week with all the puzzle mechanics in place. Should be enough time, surely.

Cheers!
« Last Edit: June 05, 2018, 12:48:52 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #8 on: April 11, 2018, 10:59:22 AM »


My favorite level at the moment, immortalized in a form most beautiful: the alpha screenshot.

Slow start to the week. Had to attend RL both Monday and Tuesday cutting the hours in half. Nonetheless important progress was made. First off, the rooms: electronics manufacturing, ventilation, noise barriers and robotic workers! Initial levels for the first two too, more on the latter later.

Feature complete then? Not quite. There are still certain small issues with how resources are handled. For instance, trash burning/recycling rooms reduce the amount of trash by 3, 5 or 10 meaning the total amount often goes to the negatives. Since the prototype stream I've decided that, for the sake of clarity, no resource shall go below zero. This does, rarely, lead to annoying situations where the numbers don't quiet match up. I also cannot have 0 trash as an objective. Will implement a fix if I can come up with a low bug-risk, easy to explain solution.

Apart from the rooms the most important contribution this week (so far) is not new content. It is all about managing content development instead: *drumroll*, a level statistics spreadsheet! Yes, spreadsheets are needed when the amount of content grows beyond the magic-memory-number (is it seven? I forget). With 50 levels in the horizon I need to be able to quickly figure out which type of levels I need to make next.

Currently the plan entails 5 sets, 10 levels each. A-set is basic stuff, mostly tutorials; B-set is for apartments; C is for plastic industry; D for electronics; and lastly, E is a mix of everything! Needles to say the E-set needs to wait until everything else is in place. Already excited to get to them big, complex, difficult levels. That's what this is all about!

Cheers.
« Last Edit: May 18, 2018, 01:14:58 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #9 on: April 13, 2018, 10:01:55 AM »


Solution for A10. SPOILERS!

Took another look at the level development plan and realized that the categories, outlined in the last post, were already out of whack in a good way! Designed the easy tutorial levels and only came up with 5. These combined with 5 apartment levels make up the A-set, already finished. B is still for plastics (shoppers and tourists too, forgot to mention). Assigned C for the modifier buildings (cooling, ventilation, noise barriers). The last two sets are untouched.

Ran some calculations on the monetary costs of buildings. Had to increased the worker breakroom cost 5 times (from 1 to 5!) to make sure they are more expensive than the robots. There are a bunch of rooms needed for maintaining the robots so the final price took a while to suss out. (1.01 per 'bot vs 1.7 per human, atm.) Also cleaned up some database code. Arrays are now sorted editor time, not runtime, with the help of an AssetModificationProcessor. Never used that before; very handy.

A day ahead of schedule. The effective working hours are pretty much the same as required (90.25 hours), even with reduced hours this week. The prototype was the opposite, you see, overtime the whole week. It pays to record the hours; takes only a few minutes every day, yet it is essential data when making sure the project is on track (alongside the schedule, obviously).

Level design next week. Only 15 some levels left to build from scratch. The others need touch up and re-arranging.

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #10 on: April 17, 2018, 10:03:08 AM »

The level sets are neatly divided into groups of five levels per category, for instance, the upcoming D-set is composed of electronics and robotics. Might divide E-set too as there's a style of level design I've been avoiding thus far: freeform, meaning the levels have nothing but a clean floor plan with zero forced rooms. This can be overwhelming especially with loads of rooms to choose from so I will utilize it with care, mostly in the second half of the E-set.


D1, a small freeform level.

All is looking good except despite being ahead of schedule momentarily, I might fall behind right away. Taking time off next two days for recreational purposes. Why? For fun mostly! Also a bit of rest before the Ludum Dare this weekend. Cannot say no to that either!

Making levels is easy now that the mechanics are in place so I'm not too worried even if I cannot quite get all of them done by Friday. Next week is for menus anyways and that is a pushover!

Cheers.
« Last Edit: June 05, 2018, 12:53:55 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #11 on: April 20, 2018, 11:00:45 AM »

In other words, E-set still to do. Tested all the 40 levels, they seem ok. No doubt more tweaks are needed. Proper testing after the graphics are in.


D10, the latest and the greatest!

Those two odd off-days sure were fun, but I'll have to make up for them later. Will try to go for extra hours instead of weekend ruination this time. Most future weekends are already booked, so it's not like I have options!

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #12 on: April 23, 2018, 11:47:49 AM »



It is not pretty, yet it is functional. The key binding menu and audio sliders were fast to implement as the systems themselves were done in the previous project. I did have to add support for input axis binding (for the mouse wheel), though. I never released the input system code as promised in the last devlog, kind of forgot. Will totally do that during this project... at a later date.

The first E-set level, unsurprisingly called, E1 took some thought to get right. It is all about them elevators! A big 5x5x5 building too. Planned most of the other levels. Trying to squeeze every drop of potential out of the mechanics.

Lastly got an idea when writing the first few level descriptions, which I could do just for fun: voice over! Shouldn't take too long, and it would be good practice for one of the upcoming projects I've been thinking about.

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #13 on: April 25, 2018, 01:15:19 PM »

Tutorial panel and escape panel are still missing in the main scene, other than that all them menus are done.

Had to change one of the rooms. The plastic product manufacturer only created a single product, which was fine in levels with product exporters as they only needed a single product. On the other hand levels with more rooms requiring such products would get filled with manufacturing plants, which is not great design as it leads to bigger levels and loads of clicking.

Changing the output to 2 required me to go through all the levels containing the manufacturer to make sure nothing broke. Wrote a handy dandy editor script which searched all the scenes for me because the level design spreadsheet doesn't have this sort of info (and it might be slightly out of date in places, I'm afraid).

Well, a few of the levels did break, but it didn't take too long to fix. Also spotted other issues in some of them, so it wasn't all a waste of time. Merely annoying, the kind of work I'd rather not have to do too often.


E3, big and messy

Continuing work on the E-set. Should have 5 levels out of 10 done by the end of the week. The 50% mark for the whole project is creeping up. On paper I'm not too much behind schedule, yet I'm slightly worried for some reason...

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #14 on: April 27, 2018, 11:09:24 AM »

I'm calling it that, officially at least. GUI done, levels nearly done, level descriptions not nearly done (but they are quickies).


Tutorial panel; very simple, should be enough.

My weekends are still quite full so the alpha stream will have to wait until next week. Thursday is the day, mark that down.

I'm ready to move on to 3D modelling, so there will even be some graphics to show off come Thursday. Good to get back to Blender! It's been a while.

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #15 on: April 30, 2018, 12:36:06 PM »


Yes, that there is the first 3D model for the project. A warehouse, very exciting...

Made a spreadsheet (suprise, surprise) about the models I need. 20 are shared by at least two rooms and 14 are custom models only used by a single room. The warehouse is used by 7 rooms so decided to make it first. Each warehouse needs custom icons, though. The plastic product exporter will have to do with a ducky, mostly as a joke.

About the "rooms", realized that most of them aren't really rooms. Water pump, power generator, trash burner; those are machines not rooms! Two room flat, family apartment, tech store; these are composed of multiple rooms! Will have to think of a new word, block being the lazy backup choice.

Lastly tried the default Unity post processing effects real quick. Will have them on by default with options to turn them off. They do make even the simplest assets look better and even allow for different color profiles for each level. Will try that one out later.

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #16 on: May 02, 2018, 10:47:51 AM »

Elements, systems, objects, things? I haven't decided yet, let's go with room for a while longer.



The visual style is still taking shape as are the model sizes and colors. Going low poly and flat shaded is easy, as in Block'hood, but will experiment on the way. The later issues will be fixed once all the assets are in. At that point it is possible to see how everything looks together.

Throwing in some references too. The power generator, for instance, is based on a generator from my favorite RTS. Recognize the design?

Cheers.
« Last Edit: May 16, 2018, 12:01:53 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #17 on: May 04, 2018, 02:04:23 AM »





Even got a few viewers this time, that's a first! Unfortunately Twitch eradicated the comments immediately, so I cannot give shoutouts to those helpful people. Too bad, will keep that in mind next time.

Another first is actually working within the stream. Made one more level, only 4 to go.

Next update on Saturday. I've got a rooms-per-day quota now and Friday is a no go. Timetables are turned.

Cheers!
« Last Edit: May 16, 2018, 12:02:42 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #18 on: May 07, 2018, 02:03:15 PM »



The texture work is inconsistent at the moment. Making 4 models per day is quite the pace and something has to give. UV's eat up a lot of the time too. I'll need to take a second pass on the textures later.

Cheers.
« Last Edit: May 16, 2018, 12:03:04 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #19 on: May 09, 2018, 01:31:29 PM »



Apartments and shops; colorful on purpose. Also a massive 3D printer! Proper relative scaling isn't a priority.

12 models to go, 2 days left. Sounds grim, but most of them are simple. Should not be a problem.

Cheers!
« Last Edit: May 16, 2018, 12:03:23 PM by HuvaaKoodia » Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic