I wrote many games (nothing came out, just fun stuff for me) on my MacBook Air 12 years ago. A small group isn’t going to create a giant triple-A title with state-of-the-art graphics. Small screens can sometimes be a problem (I wrote a few C++ and OpenGL apps on a stock eeePC while traveling so I understand) but if you use the windowing features (Stage Manager in the next version of macOS, Mission Control in the current version) things are easier.
Personally, for school, I think the Air is a perfect machine because it’s small/light enough to take to class, relatively affordable compared to other Macs, and way more powerful than people think. I used to run Unity, Maya, ZBrush, Xcode, Modo, Houdini and many more that I probably forget on mine.
And as another poster mentioned… Java? Um… Personally, I would choose one engine (Unity, Godot, etc.) and focus on the language of that engine because the engine will build on multiple platforms.
That being said, it sounds like you’re new to game development, so let me give you some tips in this regard:
-DO NOT I REPEAT DON’T get caught up in technical arguments (x language is better than y, x engine is better than y). You can argue all day, but if you don’t get out of the game, the argument is of no use to you. A lot of newbies (not telling you fair in general) will say “I need to use Unreal but instead of Blue Prints I’m going to run my own solution in C++”…yet these people don’t know how to do Tetris or of Pong. If you don’t know the basics, no engine will improve your game. Make games, not argue.
And on the subject of engines: for engines, I used to love Unity, but I switched to Godot recently, I like it much better. Your mileage may vary. The engine really isn’t important unless you’re a AAA studio, the finish of the game is.
-Don’t expect school to teach you and don’t wait to learn. I learned how to make games in high school with a book on game development in C. My school didn’t have computer science classes I just taught myself (it was in the mid-19s 90). If you wait for school to teach you what you need to know, you won’t be able to find a job by the time you leave because your peers have been diving into their free time and doing things rather than waiting.
-Start small. I cannot stress the importance of this. A neat little game will teach you infinitely more than a large unfinished project. And by small I mean MICRO. Your first play should be something that moves a point on the screen towards a goal. Too many people follow guides/tutorials and end up getting lost when it comes to making their own projects because they were busy following a recipe instead of learning how to cook.
-With programming: you’ll get stuck, you’ll think you’re bad at it, you’ll want to give up. It’s literally part of the programming and doesn’t really go away, you just get better at coping with it. Often things click when you skip them and learn a different concept. It takes time and practice and writing code is a skill, so you have to do it to get good at it.