Alright, it’s been awhile since this game’s progression just kind of died, but I do intend on releasing a well polished demo before the end of the year. I’ve been super busy with work and I was able to finish my online courses so I have some room now, but I want to pick up progression again and hopefully make a decent, featured worthy, game.
Aug. 5th, 2016.
The date that the Site: 012 Incident took place.
i thought this was becoming a dead topic.
you need to post more often on here my dude!
Well, it was actually dead since I’ve been very busy over the summer, but the project is still far from dead, I hopefully plan on adding a lot more.
I know game’s basic mechanics should probably be finished first, but I’m gonna be experimenting with basic generations of hallways just to see if random generated maps is possible.
I realized one downside with random generation is that I can change or set an object’s name. (I’m sure someone has done it, but I can’t figure it out). So if a room is generated that needs a level 4 keycard to access it, it will be very difficult to try and rig the door up to allow that. It’s currently set by the object’s name. If the door’s name is 4, it will set the keycard level to 4 so the player has to have a level 4 keycard or higher to enter.
I either have to make 5 different versions of each door so it knows which one to spawn, or I try messages, but to message one specific door without a proper object name (since spawning doesn’t give you one) so this might not even be possible.
Another downside is that some rooms are larger than others, so I have to make each room based on a grid size so they don’t overlap each other.
I’m gonna experiment around with it for a while, but this will probably take another year to figure out.
Not sure if I’m doing it the right way, but since a horizontal hallway is 10 blocks tall and a vertical hallway is 6 blocks tall, a normal room will be 6x10. Which means each segment is gonna be 60 spawns for each and every block. Maybe more depending on decorations and such.
I also have to re-add the floors as game objects so they can be spawned as well.
I might end up cancelling the idea of random generation, since a lot of it is just actually creating a room, the rest is just raycasting and movement.
My idea of random generation is having a primary (or two) blocks move around each grid space (X being 6 spaces and Y being 10 since my art style gives me very un-proportional room sizes). It will randomly choose a direction and it’s next direction so it can generate corners. If a T way is made, it can spawn another primary or sub-primary object to generate the new path. So there is a chance you can either get a very long hallway, or a straight up maze. I might make it slowly increase the spawn ratio to spawn a room that is needed to play the game and decrease hallway spawns so that way it’s not a super large map.
The only reason I want to stick to a pre-made map is so that different sections are kept together, such as heavy containment (which I could make it a huge preloaded section, which could cause me having to use 1000 spawns to do it), but that way containment cells won’t be mixed with offices.
I’m sure there’s probably a much more efficient and faster way for random generation, but so far this is a hallway segment in bundles.
This screenshot is just from a Top-Right Hallway segment. Each bundle inside this bundle is a spawn that spawns a specific object depending on where it is needed for that segment.
After almost an hour of just connecting links and copying bundles I was able to make the Horizontal and Top-Right segment. I literally can’t imagine making a larger room.
So far I haven’t had any issues loading in two different chunks and I want to see how fast I can load in a world once I get the all of the hallway segments done. I still need to add all 4 T roads in each direction, all 4 Corners (got one done so far), one four way, both directional hallways (already got horizontal). So far that’s 10 different hallway segments to make a complete map. I might make 4 way’s really rare or none at all since that probably would make the map more intricate and overwhelming with a ton of different paths. I also have to add doors as well which would put me around 14 different segments. Not including large door rooms and the heavy containment areas.
This design will most likely be a permanent theory and will not be used unless I find the time to work on it.
Alright, this is the last message for tonight before I head off.
So far the system seems to work decent enough and I have a good idea in mind. I only have made four rooms so far, but once I get the main segments done, I can start fidgeting around with seeing how well the random generation looks.
The code I currently have in place should work, but I won’t know until I have the segments to prove it. Not quite sure how I will have T ways where the primary object has to emit or spawn another generating object for that direction. I’m afraid that a T section will spawn and both generators spawn paths into each other making a deformed donut. I might have to add a millisecond delay when it spawns so it has time to raycast different chunks and move away from them.
Another issue is that I’m afraid that it will spawn way too many T sections, but I’ll figure it out and hopefully debug it later.
I also wanted to add saving to the game, but when you have to save and reload every single chunk, that’s gonna take forever. One way I could do this is that the generation will load until it’s far enough from the player and actually generate the map as you explore. This way it would be less laggy for the player (unless they explore a lot or end up with an insanely large map).
I also want to add one of each special room. Maybe two if it produces consumable items or something (like a med room).
One issue for T sections is that I don’t want a ton of T roads being spawns and then manage to dupe a special room multiple times. Nothing like finding a ton of level 5 keycards, lol.
Although these are just possible issues I could have with this and might not even encounter any of this, but it’s always safe to assume something will definitely go wrong.
I’ll see if I can try to make a room generator for you, I wanted to do this anyways, so why not do it to also help someone else?
If you can think of something going wrong, it will probably go wrong
That’s my coding experience anyways
“I really hope X doesn’t happen”
Also, a note, to deal with possible lag from large maps, a lot of that is probably going to be from collisions, so when something is Out Of View you can use the Enable behavior to turn off collisions. (Not sure if this would mess things up, depends on your code. If this doesn’t mess anything up then make sure to have a decent-sized buffer)
Most of the objects are non solid such as the floor and horizontal walls. (For the pov, the player can walk behind and/or infront of the walls).
The only collision blocks would be corner pieces, vertical walls, and a wall hitbox (which is behind the horizontal wall).
So I’m not really sure hitboxes would be much of an issue since there aren’t many. So far it doesn’t seem to lag, unless I play the game through the editor since it’s also trying to play the code.
So after many hours and the help of Code Alpaca, I finally fixed and improved the random generation of basic hallway segments. Now I plan on adding T and 4 ways to it and see if I can actually get the hallways to branch out even more and create more of a web structure.
The basic tutorial part will stay the same as part of the introduction. You leave your office and go to the elevator. One you go down the elevator, that’s when you spawn in the random generated map. I might have two or three different heavy containment areas that are pre setted as a super large room. Since I want them to be fairly organized together.
Getting the rooms to generate might be an issue, but I currently have it so the hallways are produced with at least a one grid space gap between them so they don’t rub up against each other or accidentally merge ontop from future T ways.
So far it might end up being the future of the game, but I should probably work on getting the demo done first.
It’s been a while since this discussion has been recently active so I want to add a new poll asking who wants to be pinged regularly for updates. I usually post multiple times over one update, but if it’s something major or usually just a check in if I haven’t posted or pinged in a while then I will. I don’t know who’s all active anymore or who’s still interested in this project, but it’s probably safe to ask again.
Also the random generation is going along super smoothly. I started adding T roads which are pretty buggy and sometimes the hallways load in a bit funky, but I haven’t added the left and right T roads just yet. Once I get that done, the map itself should be fully functioning. I probably won’t post updates on it for a while after this is completed because a lot of it is just room designing and coding up to be able to spawn.
Not quite sure how I’ll actually get the rooms to spawn. Some rooms are apart of the gameplay and have to spawn at all costs. Since the hallways generate at random, but only for 10 segments, I might make it so they spawn indefinitly, but the rooms each spawn rate is increased to 1/2 until all special rooms are spawned. Some rooms can spawn more than once, like offices, or medic areas, and have a chance to not spawn at all. The heavy containment is gonna be tough to spawn since it’s gonna be quite a large area and that means a ton of extra raycasts to make sure a big enough area is cleared out to actually spawn. I might make something so when a segment ends, the farthest one away from the rest will spawn heavy containment. I’ll have to add the elevator section where once you complete the starting area, you spawn into the real game.
I might end up make a portion of the map premade so that way I can connect the elevator to heavy containment, while adding generators in different sections to spawn more hallways and generate the rest of the smaller rooms that contain items.
The original game was made so you couldn’t progress to the next area unless you found a key card. This will break the game if it was make like that because If a keycard spawned in an area that needs a higher clearance, that seed is basically unbeatable. So the only things needing keycards are the rooms and heavy containment. Although heavy containment has only one and only exit into it. If it has any more It’ll be prebuilt so it doesn’t have the chance to spawn a keycard or important item outside of the players reach.
Does anyone think this would make good gameplay? I’ll still have the original map as the demo and this system won’t arrive until a later release, but I was wanting to know if it would be better than having only one set map.
My original idea was having multiple different maps made where the items and maybe some rooms were randomly placed around, that way you can play in a few prebuilt maps with a different experience each time, but I’ve been thinking that an entirely randomized map would probably make gameplay much more difficult and enjoyable.
I also want to add a saving feature. It probably won’t save your progress once you leave or restart the level, but when you die, you return back to an earlier save. (Not sure if it will be event triggered, manually triggered, or triggered every minute). The game will be quite difficult and with a new map everytime with a whole range of entities and threats to watch out for (some insta kill you anyway) it would be very helpful to have something to save yourself on, that way it won’t be more of a rage game, but more trying to memorize a map game.
I might add two modes of gameplay. Normal, and Catastrophic mode. Normal would have reduced enemy events and allows for quicksaves whenever you want, but they have a 1 minute cooldown so use them wisely. Catastrophic mode removes the ability to quick save and has normal enemy events so Subject: 009 will chase more and longer, etc. I might include the Becoming One ending in the Catastrophic mode. When you fuse with Subject: 010 and become a super powerful entity yourself. And would have access to different lore that won’t be accessible with Normal mode.
This is just a huge dump of ideas. Sorry for whoever reads all of this, but I would really like to know your feedback on the project so far. I have to thank everyone who has participated so far for all of the help and encouragement. I probably wouldn’t have made it this far without all of you. I wanted to release a demo a month ago, but life has gotten the best of me, but I will produce a fun and enjoyable game sometime soon.
I find this very ironic since randomly generating a map seems to be even harder than an inventory system, lol. And I even asked you @CodeAlpaca for help with it as well, lol.
I have a huge new chunk of progress done for the random generation. I finished adding all of the T roads and now I need to add a 4 way since there is a chance that when a T road is created, it can shift towards Locater blocks, or alongside them. I was messing around with it and I got a pretty rare spawn of a located block actually being surrounded on all four sides. Once I add a 4 way segment, that should fix that.
I also need to add end caps for when a generator block ends it’s cycle and stops moving. So far the hallway just stops because it doesn’t have commands for when a locater block is only detecting on other locator nearby, it has to detect two or more surrounding locators to actually spawn a segment.
These are just minor issues. On rare occasions, it can spawn a mass of segments together, such as a 2x3 grid area of segments alongside each other. This isn’t supposed to happen normally, but I made it so there is a 1/10 chance to spawn a second generator block when the conditions are perfect to do so. Since I don’t have diagonal racyasting to detect for opposite corners, they can spawn right next to a turn and then generate alongside it.
I probably won’t bother fixing this unless it affects rooms spawning, but so far it just gives a pretty weird generation with pillars in the center of the large room, but it works.
I’ve been hesitating to work on the original map now since I can just randomize it and make the gameplay all the more enjoyable with a new map each time. At least I think it should be enjoyable.
I also remembered that multiplayer was a thing. If I do add a multiplayer (Won’t be until way later on) it will definitely have to be a premade map or something, because I don’t want the map to randomly generate differently for each player or something. I know shared objects are a thing, but I don’t want to risk the chance of something multiplying.
I’m still not at all familiar with multiplayer, but I think it would be neat to play this game with friends.
ive been waiting so long!
just give me a beta…
i cant handle this anticipation for
such a good game!
PLEASE, @ManiacPumpkin !
As the 1000th post on this topic (wooooo hooo! ) I would like to announce a new story I’ll be working on. It’ll be called the Wystan Program. Which was a dangerous set of trials that were authorized by Overseer Earl Wystan that utilized Subject: 010.
Subject: 010 was thought to have been destroyed like it was voted for by the rest of the Overseers, but Earl Wystan created a program that allowed soldiers and mechanical vessels to gain powers and helped turn the dimensional warfare in the hands of mankind. B-14 was a field agent lieutenant that was secretly volunteering for the program and soon became one of the most strongest entities that ever was recorded. After 305 attempts (some failed, some were successful) the program was shut down after suspicion by the rest of the overseers and all of the human subjects were killed off. The mechanical vessels or droids were able to cooperate and easier to control and they were used to kill off the humans who survived the program.
For those who don’t know who Subject: 010 is, it’s a machine that features a large cylindrical chamber in the center that is large enough to house a humanoid entity. The machine is able to magnify radiation from a fracture between dimensions which the location is unknown. The radiation then mutates humans dna and cellular growth and can give super strength, heightened senses and awareness, and some cases it can give the user abilities that are impossible to explain. The creator of this generator is unknown, but it is theorized that it was actually a Scientists from the other world.
The field agent, Justin Hawk, was soon being hunted after years of serving the Scepter Foundation.
Justin Hawk was used many times in combat with his newfound abilities, but never fully explored their capabilities. During the 10-B Order, (the mass execution of all personnel that interacted with Subject: 010, including the volunteers and scientists that monitored the trials), he was able to flee Site: 006, but got a heavy head injury that soon lead to dementia. Many other soldiers attempted to flee the organization and lived in the civilian world under new names, but they didn’t last long, the foundation has many solutions, including the army of 10-A’s.
Justin Hawk woke up one morning in an Emergency Room somewhere in a populated area. He had an torn vest and combat gear on, but he had an ID card of an SCU (Scepter Containment Unit) soldier and assumed it was his identity. Once he was released, he attempted to live a civilian life under a name he though was his.
I’m not for sure on the rest of the details, but let’s just say he is mainly on the run from the foundation, but he has no idea why he’s wanted so much. He will eventually find another 10-B who explains to him everything he forgot about the program.
It may sound boring, but there will be other entities. Orion will attempt to kill Justin Hawk, since Orion is a entity bounty hunter serving and unknown order from the other order to kill dangerous entities, including those who gained powers from Subject: 010.
Also it will explain that Earl Wystan tried to defend the personnel of the Wystan Program, but was soon voted off of the overseers and then went missing when Site: 006 incident occurred. He comes back later in the story.
On the run, Justin Hawk will come across many escaped entities and ones that soon came into our world by unknown methods. Even sighting The Titanius itself.
It’s gonna be a big collective story that should explain the basics only on the Wystan Program and the Site: 006 incident.
Just so you know, this has nothing to do with Subject: 000 or the Site: 012 incident. Just a small fragment of the story.