Register - Login
Views: 85597726
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
09-20-17 06:10:09 PM

Jul - Projects and Creations - MonoTroid: A MonoGame Metroid Engine New poll - New thread - New reply
Next newer thread | Next older thread
Zero One
5080
And as we fall the spirit carries on,
That a hero'll come and save us all,
As we call the ones we left below,
We all dream of the day we rise above
Level: 119


Posts: 4961/5088
EXP: 18774888
For next: 154403

Since: 05-24-10
From: Delta Quadrant

Since last post: 8 days
Last activity: 2 days

Posted on 05-04-16 03:00:50 PM Link | Quote
It's finally happening! I believe I've finally reached the point where I can design a somewhat decent Super Metroid engine and so far, it's progressing fairly well! Currently, the engine is capable of loading maps from a .map file and I've begun work on handling the wide variety of Samus' states.

Currently the only image I have is a bit of a wobbly run animation:


But more progress has definitely been made since then! You can keep up with the development here, download it to try yourself, or create a pull request and add to it.
Zero One
5080
And as we fall the spirit carries on,
That a hero'll come and save us all,
As we call the ones we left below,
We all dream of the day we rise above
Level: 119


Posts: 5044/5088
EXP: 18774888
For next: 154403

Since: 05-24-10
From: Delta Quadrant

Since last post: 8 days
Last activity: 2 days

Posted on 06-01-17 02:54:50 PM Link | Quote
It has been a long time since I last worked on MonoTroid, but in the space of about a week, I've implemented quite a few things that I hadn't even worked on before. Here's a gif nicely demonstrating everything:



The first thing was resolution independent scaling. Originally, MonoTroid rendered at 256x224, which is really small. Now, it still is doing that, except it's capable of scaling that screen up to any resolution you want. The image above is it scaled to 1024 x 896. Unfortunately, changing the aspect ratio will cause the game to stretch instead of letterbox, so I'll need to sort that later.

The second thing is actually having a camera. Before, the entire world could only exist in that 256x224 space. Samus could walk outside of that, but the game didn't have the concept of a camera, so Samus would just walk offscreen. Now, I have a proper camera that uses matrices to track a target object, which is Samus in this case. It also uses the matrix produced by my resolution code, so it scales properly, and tracks!

Third, and most significantly, the slope collision. Initially, the slopes were special cases, where the code would try and snap Samus to the gradient of the slope, depending on how far she moved along the slope. It kinda worked, but the fact that slopes are considered a special case was awful, and had so many caveats attached that I'd need even more special case code. Instead, I swapped to a solution that uses polygon collision. The separating axis theorem is used to determine if there's a collision, and provided an amount I need to move Samus by to snap her to the point of collision. The result is that my entire collision-resolving routine went from 44 lines of code to 7!

I still have a lot more work to be done, like tidying up the code, optimising it and fixing a few problems that you can probably already see in the GIF, but this marks a pretty large jump in what I'm able to do, and I'm really happy with what I've achieved here!
2Tie

Rumours of my death have been greatly exaggerated.
Level: 57


Posts: 845/906
EXP: 1434454
For next: 51474

Since: 02-22-10
From: The Codrex, Karda Nui

Since last post: 6 days
Last activity: 1 day

Posted on 06-02-17 09:56:16 PM Link | Quote
very nice! i remember downloading the project back when you posted it, but i don't think i ever ran it. that being said, the progress you summarized (and what's visible in your gif) looks very nice! can't wait to hear of more progress :3
Zero One
5080
And as we fall the spirit carries on,
That a hero'll come and save us all,
As we call the ones we left below,
We all dream of the day we rise above
Level: 119


Posts: 5045/5088
EXP: 18774888
For next: 154403

Since: 05-24-10
From: Delta Quadrant

Since last post: 8 days
Last activity: 2 days

Posted on 06-03-17 10:34:59 AM Link | Quote
Thanks! In hindsight, I probably should have mentioned somewhere in the repo that you'd have to download at least MonoGame 3.5 to get it to compile, and that there's a few quirks with levels not being included in the right place, but I suppose I can stick it in the readme when I merge this SAT branch back into develop.

I'm thinking that I'm going to start working on the editor a bit. I never progressed with that much further than simply embedding a MonoGame surface inside of WinForms. Collision is starting to get complex again, what with all of the quirks I'm getting right now, so I think the editor would make for a good break.
Next newer thread | Next older thread
Jul - Projects and Creations - MonoTroid: A MonoGame Metroid Engine New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 2f1bc75 [2017-08-27]
©2000-2017 Acmlm, Xkeeper, Inuyasha, et al.

26 database queries.
Query execution time: 0.196961 seconds
Script execution time: 0.005465 seconds
Total render time: 0.202426 seconds