My finished so_long project for 42 Nice, last updated on March 26th 2023, at 18:56.
This project took me ~210 hours of work, over ~22 days.
It was validated on March 27th 2023, on first push, with a grade of 125/100 with 3 outstanding flags.
I'm doing this project for 42 Nice, just after finishing pipex with bonuses.
I've loved video games since I was 3 and my mom did the unthinkable and bought me a gray Nintendo DS with New Super Mario Bros.. It was all downhill from there...
Since then, I've owned every Nintendo console, a PC, a PSP and a PS4. You can see the extent of my addiction on my HLTB page.
Needless to say, I've been eyeing this project for a while now, and I'm finally doing it!
I already have a good idea of what I'll be doing, I want to make a Yoshi's Island (SNES) inspired game. Well, only for the bonuses.
I'll first make the mandatory part to become familiar with the MLX library, and then I'll move on to the serious stuff.
Wish me luck as I embark on this journey!
I'm EXHAUSTED! I'm pooped. I want to go home and eat a sandwich.
More seriously, I've been so engrossed in this project that it kinda feels like the end of an era.
You know how when you come out of watching an amazing movie and you don't know what to do with your life anymore?
But even though I love this project very much and I'm extremely proud of what I've accomplished (I remember the days of my so_long only being a white screen with a black pixel you could move with the keyboard sniff 🤧), it's time to let it go and go on to explore new projects (coming for you Minishell 👀).
It's been great but anything I'd add to this would be unnecessary fluff. I'm content leaving this project as is.
I thank my friends and family for the emotional support and the feedback💗.
And I don't thank bbourret for the emotional burden and the dubious feedback (🤪 guuh duh make koopas NO >:[ ).
Good night.
NOTE: This game has only been tested for MacOS! I offer no promise of portability to other operating systems.
Maps shouldn't be any larger than ~60 (width) by ~30 (height) for playability's sake (if the game uses 32x32 textures).
The game will start lagging if you have too many collectibles,
so the MAXCOINS
macro sets the number over which collectibles won't be animated anymore.
You can modify this threshold in srcs/game.h
and bonus/srcs/game_bonus.h
with the MAXCOINS
macro.
You can modify a lot of things in this game.
Check out my comments in bonus/srcs/game_bonus.h
and in bonus/process/process_bonus.h
to know what to change.
Fiddle around with some stuff and have fun!
You can change texture size by changing the SPR_DIM
macro in srcs/game.h
and in bonus/srcs/game_bonus.h
.
You can then use your own textures by creating a new folder in the textures
folder.
In it, you'll need spritesheets with these names:
map.xpm
,bg.xpm
-> will display starting from the window's bottom, tiles horizontally only, fills the window vertically with the first sprite,coin.xpm
,player.xpm
,font.xpm
.
For the bonuses, also add:
player_bonus.xpm
,cursor.xpm
,projectile.xpm
,end_bg.xpm
,enemy_fly_h.xpm
,enemy_fly_v.xpm
,enemy_ground.xpm
.
Then, you'll just have to change the macros in game.h
and sprites_bonus.h
to use your folder's name instead of basic or bonus.
If you're unsure of how to make the spritesheets, check out how the three included texture packs are made (textures/basic
, textures/bonus
and textures/bonus2
).
All sprites in the basic texture pack were created by myself with Aseprite.
All sprites in the bonus texture pack were ripped from the original Super Mario World 2: Yoshi's Island game on SNES and uploaded to The Spriters Resource by various rippers. I then edited them myself to be usable in my game with Aseprite.
Credit goes to the following rippers from The Spriters Resource:
- Inky
- Drshnaps
- Sonicfan32
- Murphmario
- DogToon64
- Bacon
- David "Tonberry2k" Hurley
- Barack Obama
- playgames169vg
- MarioFanGamer
- Nemica
- daemoth
- Romi
- Superjustinbros
- Arima
Super Mario World 2: Yoshi's Island and all of its assets belong to Nintendo.
I am using these assets in the context of a learning project for 42 Nice and in no way do I plan on releasing this game commercially, even as a free or opensource game.
This repository only exists to privately share my project to friends, family, fellow 42 Network students and recruiters.
If the contents of this repository infringe on your copyright, please contact me through my email address.
Please note that the 42 Nice project so_long does not explicitly ask to reuse other video game's assets. Their use was a decision on my part and my decision alone.