#specifically 1: it detected if you click within a certain radius of a point. works great for circles but bad for other shapes
Explore tagged Tumblr posts
dravidious · 22 days ago
Text
Step 1: Be able to click a thing and drag it around
Step 2: Create my own Trauma Center from scratch >:D
#original#there was a template for how to do a click-and-drag thing but it was WRONG so i figured out how to do it better :)#specifically 1: it detected if you click within a certain radius of a point. works great for circles but bad for other shapes#so i got it to detect collision boxes instead which is somehow a non-trivial thing to do#in fact i still think i'm doing it wrong but no one online had a better method#i'm doing it by setting a variable to true whenever the mouse enters the box and setting it to false whenever it leaves the box#which is stupid. i should just be able to ask “is the mouse in the box Right Now” and get an answer#i'm SURE there must be a way to do that but no one wants to tell me >:(#not even the mouse specifically just a general “is This Point in the box?” that's not a hard thing to do is it?#that seems like the simplest thing in the world but apparently the only ways to do it are big and dumb#this should be so common so simple so easy how is this not just a method of CollisionObject?#whatever fuck you i'll just juggle my “overlapping” bool then#gonna make a “Mouseable” object and use it for everything#also i have a theoretical way to recognize sutures! i just need the ability to check if 2 lines overlap#which i thought might be simple but given how tonight has gone my hopes are now appropriately low#also i just realized i also need a way to turn mouse inputs into straight lines. no idea how to do that- WAIT MAYBE#i have a way to tell when the mouse changes direction significantly! that'll let me set the start and end points of each line!#that'll be a real nice strategy when i finally get to sutures#sutures will definitely be one of the more complicated things. start with click-and-drag forceps#and even with just forceps there's some things that have Rules to how you pull them out so that'll be a process#anyway 2nd thing wrong with the template: it set the position of the object equal to the position of the mouse#which means even if you grab the very edge it'll suddenly snap so that you're holding the center. not good
0 notes
lilsumngames · 7 years ago
Text
Devlog 2 - Multiplayer and Towns
Hey Everyone! Really exciting stuff going on. Multiplayer is working well, we polished up a lot of the controls, and towns are beginning to take shape. 
Controls Overhaul
After getting the basic mechanics of selection, movement, and gathering done a few weeks back, we’ve spent a lot of time playing with those mechanics. As is normally the case with game dev, we did’t like them! They felt clunky, detracted from the experience, and all around weren’t intuitive. We had this issue with double click in which we basically realized the only way to detect double clicks is by literally waiting to see if a second click happens - this is fine if the action double click performs happens IN ADDITION to the single click action that happens instantly before it. That wasn’t the case for us. Because our double and single click did different things, we had to wait FOR ALL CLICKS to see if they were a double click, thus causing a really annoying lag on everything you did which was just unacceptable. In addition to double click issues, everything you did opened a dialogue box asking which action you wanted to perform, even if there was only 1 choice - not very intuitive. Finally, there was the problem of group work. Say you wanted to send a group of characters to chop some wood. Throughout most of the game you would use a logging building to automate this, but let’s say you are out on your own and just want to pick up some logs. In the previous controls, you select your guys, hold alt, then click and drag in an area, which stretches a radius indicator. When you released, your characters were told basically to do the action to everything that applied within that radius, splitting up the work as they saw fit. There was a few issues with this:
1. Not intuitive - no one would guess to try that, it’s hard to even explain
2. Not specific - when you drag out a radius, it usually covers lots of different things, so you then have to pick from a list of commands saying what specifically you want done
3. Inaccurate - when you are controlling your characters by hand, you should more or less be able to know for certain what they are going to do. With radial selection, it was kind of a shot in the dark
4. Too powerful - radial selection allowed for players to automate the chopping of a huge forest without any buildings or town setup - this seemed unbalanced to us
So this is what we did. We dropped the whole radial selection thing. We made it so that if you have 2+ guys selected, when you hit a tree to be chopped, the first guy will chop that tree, and the other guys will find the closest trees that they can chop. This way it is pretty intuitive what objects you will affect, it’s very specific action-wise, it’s very accurate object-wise, and the power is directly limited to the amount of guys you have - automation does not really occur, it’s a simple command->response system.
Multiplayer
You’ve probably seen by now that multiplayer is in - I’ll lay off on details here since it was covered in a previous post. By multiplayer we mean players can whitelist, sign up online, pick their family color online, login to that account from the game, and operate in a world where any amount of other players have done the same. People can build towns next to each other, and more or less compete for resources. More-or-less just because there’s not really any scarcity nor interesting reasons to need resources.
Towns
Towns are starting to come together. You can only build most of your buildings within a town’s radius, and that radius is directly affected by your town’s population. Right now you have no way to grow that population, but that is our next step. Towns are the basis for real automation. In towns you can build job-sites that allow for you to fine tune job parameters like logging, mining, and quarrying, and then assign characters to them. The characters are working indefinitely at that point, which paves the way for players to automate town and population growth - ever increasing the interesting choices players will have.
Up Next
Let’s talk roadmap. We want to be as transparent as possible. Our current roadmap is to get repopulation in. That means you can go an entire loop from having characters, gathering resources, building a town, then having that town generate more characters with which you can continue the process, grow, and expand. We call this our core loop. Core loop is a touchy subject at Lil Sumn. The signature thing we love in games is emergent depth and meta play. These things are not easy to pinpoint. There’s not usually something you can code and say okay this piece will give us emergent depth. Usually it’s a lot of things coming together that really create the depth you are looking for. The issue with the notion of core loops is that you are boiling you game down to something that’s very plain, simple, and shallow. At the same time however, it’s one of the most useful things you can have - because it gives the entire development lifecycle a purpose and a roadmap. Without a prototype, MVP, and beyond, you basically meander around making things never knowing when you may have something playable. These two opposing forces drag back and forth at Quinn and I over many a coffee or beer. ANYWAY. The core loop, for better or for worse, is almost done - once repop is in we are going to take a little time polishing things up (a process we kinda already started), then we are going to move into what we understand as the meta-core-loop. The MCL is basically somewhere between an MVP and a core loop. While the MVP would be defined as everything the game needs to be launched, minus any extraneous features, and a core loop is basically strip EVERYTHING down to the most rudimentary mechanics and make sure those are fun, and MCL is basically adding identifiably depth-creating mechanics to a core loop until you are able to start play testing emergent features. This is a critical step for games where emergent depth is the entire purpose. Those extra features in our mind are combat and jobs. 
Right now what would you do if you got more characters through repop? Have them build more buildings via gathering and construction? There’s a few clever way to split up labor forces but beyond that it’s just not very interesting. Add jobs - now you really have meaningful choices in A. what you build and B. how you split up workers. Add combat - now it’s not just a boundless race to repopulate, but also to defend the existing setup - combat is essentially what makes multiplayer worth it at this phase.
Beyond that we would really, really love to throw in trade and money. This is really the holy grail, but it requires the boilerplate of all this other stuff to be in first. Our MCL lies somewhere between these 3 mechanics.
Conclusion
We are getting close to playability! If you want to get really involved in our pre-alpha community, you can request a whitelist here http://avalon.lilsumn.com/whitelisted.php Whitelisted players will be in direct contact with developers to schedule play tests and other fun stuff, plus they’ll probably get mad loot one day when they were some of the first Avalonians EVER!!! Co sign up if you love games and you want to get involved with this one!
0 notes