#matharoo
Explore tagged Tumblr posts
Text
Prathama Blood Centre, Ahmedabad. Matharoo Associates.
#brutalist#brutalism#architecture#interior#interiors#design#ahmedabad#india#matharoo#gurjit singh matharoo#2000
463 notes
·
View notes
Text
Enhance your maths skills with Matharoo's expertly crafted maths word problems worksheets. Perfect for students and educators, our comprehensive collection of maths word problem worksheets is designed to build problem-solving abilities and boost confidence. Explore Matharoo for top-quality resources that make learning maths fun and effective
0 notes
Photo
”Up to the Sea,” Surat, India,
Matharoo Associates
#art#design#architecture#interiors#india#surat#matharoo associates#staircase#stairwell#stairway#concrete#sculpture#stairsdesign#luxuryhouses#luxuryhomes#luxurylifestyle#Staircases#grand staircase#balustrades#handrail
235 notes
·
View notes
Text
"if we were to dissect a house as we might a human cadaver, we would find ourselves able to isolate and describe its various appendages and their functions in a decidedly anatomical fashion."
ultrakill by arsi "hakita" patala // mystery flesh pit national park // anatomy by kitty horrorshow // perfect vermin by talia bob mair and angad matharoo // i want to play god by cao hui // house of leaves by mark z. danielewski
3K notes
·
View notes
Text
12.07.2023 - Recycling programming
Fangst will be our first commercial release, meaning we're charging money for it and putting it up on stores and all that stuff. But it's not our first game. Since starting a student business at Folkehøgskole (Translating to… county college?) back in 2016 we've worked on: -3 free browser games under Vertebrae -3 edutainment games on commission from Aluminiummuseet in Holmestrand -6 gamejam games each at Global Game Jam Hamar And we've spent 3-4 years working on Liquid State, a previous commercial title that had to be put on hold due to lack of funding.
(screenshot from a presentation we sent to a funding org)
All in all that adds up to 18 and a half games. Roughly speaking. The smallest gamejam games have been opportunities to try new things and experiment with features we haven't touched before, the browser games demanded optimization to make performance good enough to run in browser, the edutainment games tested our ability to work under pressure with hard deadlines, and Liquid State gave us a clearer idea of what works and doesn't work when working on a big long term project. They have also given us a backlog of previous works to pull from when developing new games. Not just in terms of lessons learned and getting used to workflows, but also straight up pulling bits of reusable code here and there.
I'm Åge by the way. This blogpost is mainly written from my point of view as a programmer and is going to be focused on programming. But I asked Hauk and he let me know the following:
Liquid State in particular had a big impact on Fangst's animations. Liquid State used traditional animation for the main character and puppet based animation for enemies, which gave him experience with both forms of animation and a clearer idea of how to make effective individual frames with good poses and how to polish the puppets.
Left: Liquid State. Right: Fangst wip sketch.
As for programming, here are some examples of reused/informed code.
Stepping Stone is a 2D platformer that required somewhat competent collision and input code. It was meant to be a frustrating experience to play through, but the frustration was supposed to be built on the repetitiveness of the gameplay not on things outside of the player's control like clipping through walls or not jumping when you wanted to. I spent much of the game's development tweaking the player controls and collision code, and this got ported into Fangst as the beginning of the main character's movement code before adding some of Liquid State's player physics.
Throughout 2021 I spent some time on an unreleased project with a top down camera titled No Future Towers. I made a twitter thread about my process here. I wanted the buildings to have depth to them so I made a fake 3D effect with 2D parallax but it was kind of a pain to work with. Then I read a blogpost by Matharoo about GameMaker's built in 3D camera features. I ended up using this for the 3D effect in that project, and then reused that effect in Fangst to quickly set up depth without having to program in layer parallax manually.
No Future Towers also had an ocean theme with a soundscape of seagulls and crashing waves and creaking wood. I threw this soundscape together with royalty free sound loops, and then ported the sounds into Fangst for some placeholder atmosphere to test the vibes before getting a sound designer on board.
Liquid State had a pretty dramatic impact on Fangst. One of the reasons we're confident in having combat in a game that has a lot of moving parts already is because we've been able to port a lot. Liquid State was a combat focused beatemup, which required things like hitboxes that can remember who they're allowed to target and who they've already collided with, spawning hitboxes at specific positions in specific frames of an animation, changing the hurtbox of the player on the fly, enemies getting stunned while in knockback, and basic enemy AI. This carries over pretty directly to Fangst, so the lucky few who got to try early demos of Liquid State back in 2017-2019 may recognize some of the overall feel.
Liquid State's camera also makes a return. Most of the pain points in the previous camera blogpost were lessons I learned during Liquid State and I managed to reuse some of the equations for following the player/moving ahead of the player.
Fangst is made with GameMaker Studio 2, now formally known as just GameMaker. I previously worked with GameMaker Studio 1.4 (oh how I miss you, old sprite editor) but when GMS2 came out I knew I had to transition over to the new version eventually despite my stubbornness. GMS2 is a pretty substantial rework of the engine with a lot of changes under the hood and a different workflow, which means a lot of frustration and wasted time in the transition period. We ended up doing the switch to GMS2 when we started working on educational games for Aluminiummuseet, figuring that we'd need to overhaul our workflow anyway. Getting this pain point out of the way early made it a lot easier to continue using GMS2 for later games, and let me build up a backlog of useful GMS2 scripts for major changes like window resizing, the layer system, etc.
The Aluminiummuseet games ran on Android devices and the browser games ran on, well, the web browser. These platforms are much weaker than the average PC and have various quirks of their own, requiring a lot of consideration of how to make sure the game runs as optimally as possible and avoiding platform-specific bugs. This is evident in the games themselves, the latest games run better than the oldest games. I had to look into things like ordering sprites so they're packed on the same texture page, avoiding transparency on backgrounds when viable, and using the debugger to find out where the game loses the most performance. This has informed how I program things going forward.
And finally, Antidote had a big impact on how text is structured in-game. Antidote is a very text-heavy game with a lot of dialogue boxes, and we originally planned on having a Norwegian language option in addition to the existing English language text. This meant that the game's text had to be saved in a way that made it easy to access, because having text hard-coded in and spread out across many different objects would make it a pain to keep track of and would waste everyone's time when it was time to edit/translate it and it would also risk weird edge-cases where it pulls the wrong language's text. So I programmed it in a way where all textboxes pull dialogue from this one big script that holds all the dialogue in one place. This type of text system serves as the base for text in Fangst as well.
These were some examples of wholesome program cannibalization, and I can't wait to see what we end up cannibalizing from Fangst in the future.
We plan on coming back to the office and resuming work next week. Thanks for reading!
Love, Åge
8 notes
·
View notes
Text
Trigger Zones and Parallax Hell
If only you knew the pain I've been going through with cameras in Game Maker Studio for the past few weeks! But it's fine, I've got it all figured out now. This post is going to be a pretty long one. To be honest, there are a lot of little things I've done since the last post that I'm just going to either gloss over or save for a different post (maybe?) Primarily trying to standardize my code, resizing my sprites again, and hitbox thingzzz.
Anyways let's get into CAMERAS!
So game cameras were a little bit of an enigma for me going into this. From application surfaces to resolution, to window size... Quite frankly, they're very powerful tools when it comes to building a game, and all the stuff you can control with GameMaker's camera was frankly-
a massive headache.
Come down the rabbit hole with me-
TRIGGER ZONES
First things first, I had to get the camera set up. There are a lot of tutorials on this, all of which are slightly different. My code ended up somewhere in the middle of all of them. Here was the first tutorial I followed:
How to make a Camera for any GameMaker game in 4 minutes by Shaun Spalding
So Shaun Spaulding's video helped me get the camera set up in the first place, although frankly, this method didn't last very long in my project. It was good and simple but for whatever reason, people really don't recommend you use GameMaker Studio's Room Builder's camera settings, but rather code them yourself. I'm not sure why else other than the fact you get a lot more control over your game's in-game camera, resolution, and window size, plus you can create cutscenes and stuff with it. Next was-
Smooth Camera Tutorial + Pan/Zoom [GameMaker Studio 2] by Matharoo
Matharoo's code was more complicated at first but it gives you that level of control that I was just talking about, and it sets it up in mostly the same way. Although, my code now is definitely a mash-up of the two tutorials.
With those two tutorials, now our camera looks like this:
This is great! Now we have an actual camera instead of looking at the whole room! But if we look at our camera's view, we can see that the camera is seeing out of bounds. Matharoo's video may have actually covered this (you can watch it yourself) but where I found my solution was-
Camera Modes | GameMaker Studio 2 by FriendlyCosmonaut (this one starts at 14:33)
I did not watch this entire video but it looks like it has a lot of useful information in it. Even though she isn't making the same type of game in the video, she does cover the topic I needed, which the provided link will actually jump straight to that section of the video
This is solid! Now that we have one problem solved, it's time for another-
Unless you're going for something more old-school like Super Metroid, we're likely going to have big open rooms that twist in multiple directions. I had a pretty clear vision of how I wanted the camera to operate. My trajectory is in the direction of Hollow Knight, which has a simple yet complex camera system that is very well explained in this YouTube video:
youtube
This video sort of became my "mission statement" with all this. Unfortunately, I don't have a tutorial I can point to for how I coded all the stuff in this video, but I did realize Shaun Spalding briefly touched on his own solution to this kind of problem with what he called "trigger zones". This is a good way to describe my own solution. Essentially we're going to create an array of overlay objects, or "trigger zones" that will restrict the camera's movement to only being able to move where they say. This is more or less the setup we're looking at:
This is how Hollow Knight's cameras appear to be working in the video, and how we'll set them up too. I won't dive too deep into the nitty-gritty coding on this one, but basically, each of these trigger zones is an object in GameMaker that will bind the camera by their respective dimensions.
This gets very inter-relational with all these objects since each object needs to be able to apply its own unique dimensions to the camera boundaries. It did become a little bit of a headache managing what turned into 5 or 6 different camera-related objects which were all modifying each other.
Here are some pictures of how this looks in practice. Keep in mind that these would all be turned on at once to function properly:
Vertical Trigger Zones (the camera won't move above or below the zone the player is in)
Horizontal Trigger Zones (the camera won't move too far left or right in these zones)
Zoom-In (or Zoom-Out) Zone (the camera will zoom in/out as far/close as the width of this zone)
These are just a few examples but hopefully, the concept makes some sense to you! So finally, with these systems in place, our cameras will finally move like this:
And that is (mostly) the end of that. Scope creep has kept me coming back and adding incremental changes to all these features (specifically the zoom one). Fundamentally they will continue to work the same but it's easy to keep tuning things like camera speed and zoom speed.
Anyways, with this stuff done it's time to get to the next thing:
PARALLAX HELL
So the actual solution to this was straightforward--use a 3D camera and follow this tutorial:
From 2D to 2.5D: GameMaker Studio 2 TUTORIAL (Using 3D Camera) | Easy Parallax by Matharoo
It's what Hallow Knight does, it creates a natural parallax effect, and it makes a lot of the artistic work pretty easy. But, the reason it took me so long to get here is a story that brings me great pain...
To start, I wasn't originally going to use a 3D camera because they sounded somewhat complicated. Even Shaun Spaulding sounded like he didn't recommend them in his tutorial that I shared above (although maybe that's just for beginners). What I was going to do could be called "interpolated parallax," where we are basically moving a bunch of image layers around relative to the position of the camera.
You can learn more about this in this video by Pixelated Pope.
That doesn't really need to make sense to you, but that's what I was doing. Now, this method could have totally worked theoretically if it weren't for the fact that GameMaker Studio 2 has actually removed certain coding properties from GameMaker 1.4, which makes this method kinda unreasonably difficult? At least from what I tested. It works great if your only intention is to have an endless runner game or if you want to accommodate for open space by drawing individual sections of background together in a giant 4k+ canvas.
It sounded messy and I didn't really want to deal with it. Eventually, I learned more and more about GameMaker Studio's 3D camera, which was easy to set up for my specific needs.
It did take a while to fine-tune it all but I did get there in the end. It did, however, break my zooming trigger zone. This post is already long enough but basically, I thought the solution would be needing to change the camera's field of view with trigonometry when it was actually just changing the camera's distance with a basic ratio...
Not my brightest moment there and it took a painful couple of hours of staring at the same code and Desmos to figure that out.
ANYWAYS...
The camera system is finished! Or at least, finished enough that I can move on to designing backgrounds, and just fine-tune this bit by bit later down the line.
Honestly, this was all very time-consuming, and the struggles with the zooming trigger zone were a bit demoralizing, so I'm ready to get back into the art generation side of things!
I also plan to spend some time beating Hallow Knight and maybe a few other platformers I can take reference from for backgrounds 😎
See you next time, everyone!
#gamedev#hollow knight#original character#coding problems#indiegamedev#parallax#hell#actually hell#gamemaker studio 2#art student
8 notes
·
View notes
Note
Thanks beyond thanks for the reply - you'll definitely get credit (or at least a big tip if i can ever finish this project and get it out there), because you're among those I've learned from, and coming from a position of zero education and no modern programming knowledge, I can assure you: it's been difficult to piece together an education in game design with an improvised curriculum, so every little bit helps. While most people who get into this come from a programming background end up needing assistance with the art and music ends, I'm coming at it from the opposite side of the spectrum: I've been composing, recording, and engineering music since the magnetic tape era and doing digital design/animation for just as long, so it's just the coding I have to really apply myself to and make myself learn. I won't lie: it's been frustrating, trying to figure it all out by reading manuals and various youtube videos, reddit threads, and yoyo forums because while I'm able to learn the functionality of the code easily enough and there are a lot of helpful resources out there in that respect, context is everything and it can be maddening, trying to figure out how to apply what I've learned in useful or practical ways. For example, I've figured out enough to know that data structure grids can probably help me overcome my current problem with collisions (like you, I began building my 2.5d environment from that exact Matharoo video and even managed to write a pretty decent place-meeting-3d script from the ground up... until, like you, I hit my current impasse of being unable to figure out how to handle multiple collisions at once... but, unlike you, every alteration i make to my code only creates more problems), but while I understand how ds grids work, I can't figure out the proper context in which to apply them as a solution to my collision problem. So, I'm giving up and resorting to reverse engineering - when it comes to a lot of things, I can usually figure stuff out if i can just see it working under the hood, so i hope that's true for ds_grid collision implementation. I'm telling you this because I downloaded your suite of 3d scripts and intend to try and figure out how to implement them, working backward. I honestly don't mean to steal all your work, as you've been more than generous in helping people like me by sharing it in the first place, but it's hard to resist using it as a basis for my education because the physics of your project and your design process and ideas (like self-skinning objects) are so similar to mine. I can assure you, though: I won't be simply copying and pasting your functions, because I have no idea how to use them or from where to run them... it'll be trial and error (already, in trying to structure a Shaun Spaulding-style collision code (might as well start with what i know and see what works!) using your version of place_meeting_3d, I immediately encountered a "variable not defined" error in the instance-place-3d script it calls... maybe because I'm substituting noone for null, which is a variable gm doesn't appear to recognize, or maybe not... this is gonna be fun). At any rate... thank you. Sooner or later, I'll get past the physics and into the familiar territory of writing, drawing, and composing... but without your scripts, who knows how long that would take me! Shoulda gone to college... oh well.
You're welcome, anytime! Gamedev is such a multidisciplinary thing that it's a LOT to try to do all at once, whether you're coming from a programmer position and aren't good at art, or an artist who doesn't know programming yet. College helps with foundational stuff, but what you're doing (researching and learning yourself and putting it into action) is a pretty powerful method and will carry you a long way
You're right, null is a macro I created to stand for noone. Hard to break my day job coding habits haha. It sounds like you're somewhat familiar with the debugger, but I highly, highly recommend learning it more (especially breakpoints and such) for figuring out stuff like "variable not defined". The GameMaker debugger can be a little misleading at times, but it's so much easier than all the guesswork. It's improving a lot in the latest updates too!
It's been a while since I've looked at my 3D collision stuff in depth (it kind of scares me now lol), but yeah, learning how the ds_list stuff works should help. It's basically just (if I remember correctly) grabbing a list of things the object is colliding with, and then checking whether or not they match up on the z axis. I don't want to necessarily say "collide" because it's not using the built-in GM functions for z-axis collisions, but it's checking the z position, height, and seeing if either intersect.
So basically: get a list of collisions on the normal x, y coordinates as a ds_list, then loop through the list and check for intersection on the z axis. If so, there's a 3D collision!
Gamedev is no joke, but you've got the right approach and you're making great strides, keep it up!
3 notes
·
View notes
Text
#best dermatologist in ludhiana#chemical peeling in ludhiana#acne treatment in ludhiana#microneedling in ludhiana
0 notes
Text
Top 7 Architectural Firm In Ahmedabad
Ahmedabad, a city renowned for its rich cultural heritage and thriving urban landscape, hosts a diverse array of architectural firms that contribute significantly to the city's aesthetic evolution. The firm's influence extends beyond mere structures, delving into the realms of urban planning and design, shaping the cityscape with a blend of contemporary vision and respect for tradition. However, I can provide you with a list of architectural firms in Ahmedabad that have been recognized for their work.
1. NDA Projects, is known as leading architectural firm in Ahmedabad, pioneers innovative design solutions. Their expertise encompasses a diverse range of projects, from residential to commercial spaces. With a commitment to aesthetic excellence and functionality, NDA Projects reshapes urban landscapes with visionary architectural brilliance.
2. Apurva Amin Architects, a design powerhouse in Ahmedabad, embodies elegance and sustainability. Renowned for contemporary and eco-friendly designs, they craft spaces that harmonize aesthetics with functionality, leaving an indelible mark on the architectural canvas.
3. Bimal Patel & Associates, based in Ahmedabad, pioneers urban planning and design. Led by Bimal Patel, the firm excels in creating architectural marvels that seamlessly integrate modernity with cultural essence, shaping the city's landscape with innovative precision.
4. Kamal Mangaldas & Associates, an architectural force in Ahmedabad, is celebrated for its intricate designs and meticulous attention to detail. Their innovative approach transforms spaces, merging tradition with contemporary flair, leaving an enduring imprint on the architectural horizon.
5. Matharoo Associates, a beacon of modern architecture in Ahmedabad, redefines spaces with avant-garde designs. Known for experimental brilliance, they blend functionality with artistry, creating structures that push the boundaries of architectural innovation.
6. Aakruti Architects, a design force in Ahmedabad, specializes in creating timeless spaces. Their portfolio reflects a harmonious blend of modernity and traditional aesthetics, delivering innovative architectural solutions that resonate with both functionality and visual appeal.
7. Vastu-Shilpa Foundation, based in Ahmedabad, founded by Pritzker laureate Balkrishna Doshi, is a beacon of architectural brilliance. Known for sustainable designs, the firm harmonizes tradition and modernity, reshaping environments with visionary expertise.
#architecture#design#architectural#architectural design#interior design#interior decorating#architectural firm#architecture firm#interior design firm
1 note
·
View note
Text
Matharoo Associates folds concrete home in India around courtyards
0 notes
Text
Lower Primary Maths Worksheets Australia
Explore engaging primary maths worksheets by Matharoo, designed according to the Australian curriculum. These worksheets focus on key skills like addition, subtraction, and problem-solving, incorporating real-world scenarios to enhance student understanding. Perfect for teachers and parents looking for effective lower primary math resources.
0 notes
Photo
Curtain Door by Matharoo Associates, Surat, India,
Constructed out of 40 pieces of thick Burma teak and set between concrete walls. When pushed open, the wood feathers out into a massive curve.
The sculptural entryway includes 160 pulleys, 80 ball bearings, one wire rope and a hidden counterweight
Photography by Dinesh Mehta
#art#design#architecture#curtain door#surat#india#matharoo associates#teak#doorway#sculpture#unique doors#doors#heavensdoorways#doorsdesign#portal
10 notes
·
View notes
Text
(talia bob mair and angad matharoo's perfect vermin on the left, cao hui's sculptures on the right)
YEAHHH BABEY THAT'S WHAT I'M TALKING ABOUT!!!!!!
i love you anatomy by kitty horrorshow i love you gluttony levels in ultrakill i love you games with pulsing walls and weirdo organic houses MWAH
204 notes
·
View notes
Photo
Matharoo Associates designed Stripped Mobius House in Ahmedabad, India -- via ArchDaily
1 note
·
View note