Im creating a game called Acaso. Basically, it is a roundbased game with boxes that supply random weapons, both good and bad.
How can this be Monetized?
Skins will be a big focus of the game, allowing cosmetic appearances for your favorite weapon
Starter Packs are a big focus, and I would like to create an algorithm that adjusts the content and price based of a users info (ie Builders club type) This could make more people feel like they could afford it
Expansions would be added for free, but they would contain packs adding a variety of cool items to use to enhance your gameplay (cosmetically)
How much progress have I made?
Currently, I have the core gameplay round mechanics created
Alpha Release Requirements
I would like to have 20 weapons added to the game; One gamemode; Three maps; Little Polishing
Beta Release Requirements
25 Weapons; Monetization added; Three gamemodes; 5 maps; Considerable polishing
Official Release Requirements
30 Weapons; Full Monetization; Five Gamemodes; 10 Maps; Fully polished and optimized to make future releases easier
Conclusion
I would like to release this game in Alpha by the end of the year. Thanks for reading!
I can write a basic run-down description and the current status here I guess.
The Source Engine uses a CSG system to generate its geometry. Its not based on boundary representation like Roblox’s CSG, rather its based on plane intersections. When two planes intersect they form an edge, and when three planes intersect they forms a vertex. The result is a convex shape, which is labeled as a “solid” in the map file.
Solids don’t have an origin point, or a transformation reference. The only thing I can really do is compute a bounding box of the vertex intersections, and then use large NegativeParts to cut out everything in front of each plane. So far things have worked perfectly when it comes to solids.
However, Source takes things a step further and includes displacements, which are essentially height-map grids on the faces formed by the solid. It works best if there are only 4 intersection points, but apparently it seems to support more than that (I’m only supporting 4 atm). The height map is applied using the normal vector of the face. However, each point on the displacement map can also have a 3D offset.
There also seems to be some sort of sewing functionality but the documentation is confusing and while I’ve managed to get my displacements to sew together using some complex trickery, I still haven’t figured out exactly what the correct way to do it is. I know it must be some simple transformation of the data, but I’ve tried several combinations of the sampled data points and haven’t been able to get 100% accurate shapes.
There are several 2D grids of data I have to take into consideration:
normals
distances
offsets
offset_normals
alphas
I still need to do some further research before I can make displacements perfect. On their own they work just fine, but when surrounded by other displacements, Source is doing some weird trickery. I’ve tried to look at the C++ code for displacements, but its all very bloated and C-like for all the math needed to do physics and textures and stuff quickly. I’m sure I could figure it out, but it would take a lot of digging and experiments.
I’d like to do that too, but it’s more convenient to edit stuff in studio and see results instantly rather than modelling > saving > uploading/importing > positioning, repeat
It’s a pain to work with (this is 260 GUI instances) but for me it’s more time intensive to design it in an outside program then port it than it is to suffer in studio for a few hours.
I use the native roblox Arcade font, the corners just Right-Angle triangles, the images of the rooms are just screenshots from studio with the greenscreen cut out, and the tiny little dots on top of the GUI are made from a single ImageLabel with Tiling.