Register - Login
Views: 99368407
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 05:28:33 PM
Jul - Projects and Creations - MonoTroid: A MonoGame Metroid Engine New poll - New thread - New reply
Next newer thread | Next older thread
Zero One
5170
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: 129


Posts: 4961/5173
EXP: 24544765
For next: 504889

Since: 05-24-10

From: Delta Quadrant

Since last post: 1.6 years
Last activity: 120 days

Posted on 05-04-16 06: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.

____________________
This is a Heisenberg post. I know I posted this really fast, but I don't know where...

My games development portfolio

My YouTube Channel
My Twitch. Check it! 3DS Code: 2879-0110-5138
Zero One
5170
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: 129


Posts: 5044/5173
EXP: 24544765
For next: 504889

Since: 05-24-10

From: Delta Quadrant

Since last post: 1.6 years
Last activity: 120 days

Posted on 06-01-17 05: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!

____________________
This is a Heisenberg post. I know I posted this really fast, but I don't know where...

My games development portfolio and my MonoTroid engine

My YouTube Channel
My Twitch. Check it! 3DS Code: 2879-0110-5138
2Tie

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


Posts: 845/1229
EXP: 2871786
For next: 144025

Since: 02-22-10

Pronouns: anything works
From: here

Since last post: 49 days
Last activity: 23 hours

Posted on 06-03-17 12:56:16 AM Link | Quote
UESCTerm 802.11 (remote override)
044 05.10.2337
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

____________________
Press B to Cancel
Press A to Acknowledge
Zero One
5170
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: 129


Posts: 5045/5173
EXP: 24544765
For next: 504889

Since: 05-24-10

From: Delta Quadrant

Since last post: 1.6 years
Last activity: 120 days

Posted on 06-03-17 01:34:59 PM 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.

____________________
This is a Heisenberg post. I know I posted this really fast, but I don't know where...

My games development portfolio and my MonoTroid engine

My YouTube Channel
My Twitch. Check it! 3DS Code: 2879-0110-5138
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 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

29 database queries.
Query execution time:  0.087058 seconds
Script execution time:  0.011609 seconds
Total render time:  0.098667 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 207 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 179 column 390 - Warning: <td> attribute "tahoma"," lacks value
line 179 column 390 - Warning: <td> attribute with missing trailing quote mark
line 193 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 195 column 9 - Warning: missing <tr>
line 213 column 13 - Warning: missing <tr>
line 214 column 102 - Warning: unescaped & or unknown entity "&postid"
line 216 column 366 - Warning: <td> attribute "tahoma"," lacks value
line 216 column 366 - Warning: <td> attribute with missing trailing quote mark
line 235 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 237 column 9 - Warning: missing <tr>
line 255 column 13 - Warning: missing <tr>
line 256 column 102 - Warning: unescaped & or unknown entity "&postid"
line 258 column 74 - Warning: <style> isn't allowed in <td> elements
line 258 column 9 - Info: <td> previously mentioned
line 261 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 263 column 9 - Warning: missing <tr>
line 281 column 13 - Warning: missing <tr>
line 282 column 102 - Warning: unescaped & or unknown entity "&postid"
line 284 column 366 - Warning: <td> attribute "tahoma"," lacks value
line 284 column 366 - Warning: <td> attribute with missing trailing quote mark
line 295 column 17 - Warning: missing <tr>
line 295 column 17 - Warning: discarding unexpected <table>
line 298 column 35 - Warning: missing <tr>
line 298 column 50 - Warning: missing </font> before </td>
line 298 column 91 - Warning: missing </font> before </table>
line 300 column 35 - Warning: missing <tr>
line 300 column 50 - Warning: missing </font> before </td>
line 301 column 37 - Warning: unescaped & or unknown entity "&id"
line 300 column 207 - Warning: missing </font> before </table>
line 302 column 17 - Warning: discarding unexpected </textarea>
line 302 column 28 - Warning: discarding unexpected </form>
line 302 column 35 - Warning: discarding unexpected </embed>
line 302 column 43 - Warning: discarding unexpected </noembed>
line 302 column 53 - Warning: discarding unexpected </noscript>
line 302 column 64 - Warning: discarding unexpected </noembed>
line 302 column 74 - Warning: discarding unexpected </embed>
line 302 column 82 - Warning: discarding unexpected </table>
line 302 column 90 - Warning: discarding unexpected </table>
line 304 column 9 - Warning: missing </font> before <table>
line 316 column 25 - Warning: discarding unexpected </font>
line 325 column 37 - Warning: discarding unexpected </font>
line 303 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 16 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 16 - Warning: <img> lacks "alt" attribute
line 160 column 59 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 59 - Warning: <img> lacks "alt" attribute
line 160 column 102 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 102 - Warning: <img> lacks "alt" attribute
line 160 column 145 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 145 - Warning: <img> lacks "alt" attribute
line 160 column 188 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 188 - Warning: <img> lacks "alt" attribute
line 160 column 231 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 231 - Warning: <img> lacks "alt" attribute
line 161 column 23 - Warning: <img> lacks "alt" attribute
line 161 column 64 - Warning: <img> lacks "alt" attribute
line 161 column 113 - Warning: <img> lacks "alt" attribute
line 161 column 163 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 182 column 961 - Warning: <img> lacks "alt" attribute
line 197 column 16 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 16 - Warning: <img> lacks "alt" attribute
line 197 column 59 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 59 - Warning: <img> lacks "alt" attribute
line 197 column 102 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 102 - Warning: <img> lacks "alt" attribute
line 197 column 145 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 145 - Warning: <img> lacks "alt" attribute
line 197 column 188 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 188 - Warning: <img> lacks "alt" attribute
line 197 column 231 - Warning: <img> proprietary attribute value "absmiddle"
line 197 column 231 - Warning: <img> lacks "alt" attribute
line 198 column 23 - Warning: <img> lacks "alt" attribute
line 198 column 64 - Warning: <img> lacks "alt" attribute
line 198 column 113 - Warning: <img> lacks "alt" attribute
line 198 column 163 - Warning: <img> lacks "alt" attribute
line 199 column 11 - Warning: <img> lacks "alt" attribute
line 209 column 15 - Warning: <img> lacks "alt" attribute
line 218 column 786 - Warning: <img> lacks "alt" attribute
line 239 column 11 - Warning: <img> lacks "alt" attribute
line 240 column 22 - Warning: <img> lacks "alt" attribute
line 240 column 63 - Warning: <img> lacks "alt" attribute
line 240 column 111 - Warning: <img> lacks "alt" attribute
line 240 column 161 - Warning: <img> lacks "alt" attribute
line 241 column 11 - Warning: <img> lacks "alt" attribute
line 251 column 15 - Warning: <img> lacks "alt" attribute
line 258 column 762 - Warning: <div> anchor "joyeuse" already defined
line 265 column 16 - Warning: <img> proprietary attribute value "absmiddle"
line 265 column 16 - Warning: <img> lacks "alt" attribute
line 265 column 59 - Warning: <img> proprietary attribute value "absmiddle"
line 265 column 59 - Warning: <img> lacks "alt" attribute
line 265 column 102 - Warning: <img> proprietary attribute value "absmiddle"
line 265 column 102 - Warning: <img> lacks "alt" attribute
line 265 column 145 - Warning: <img> proprietary attribute value "absmiddle"
line 265 column 145 - Warning: <img> lacks "alt" attribute
line 265 column 188 - Warning: <img> proprietary attribute value "absmiddle"
line 265 column 188 - Warning: <img> lacks "alt" attribute
line 265 column 231 - Warning: <img> proprietary attribute value "absmiddle"
line 265 column 231 - Warning: <img> lacks "alt" attribute
line 266 column 23 - Warning: <img> lacks "alt" attribute
line 266 column 64 - Warning: <img> lacks "alt" attribute
line 266 column 113 - Warning: <img> lacks "alt" attribute
line 266 column 163 - Warning: <img> lacks "alt" attribute
line 267 column 11 - Warning: <img> lacks "alt" attribute
line 277 column 15 - Warning: <img> lacks "alt" attribute
line 301 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 301 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 301 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 310 column 25 - Warning: <img> lacks "alt" attribute
line 315 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 295 column 17 - Warning: trimming empty <tr>
line 298 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 179 column 74 - Warning: <table> proprietary attribute "height"
line 214 column 27 - Warning: <nobr> is not approved by W3C
line 216 column 74 - Warning: <table> proprietary attribute "height"
line 256 column 27 - Warning: <nobr> is not approved by W3C
line 282 column 27 - Warning: <nobr> is not approved by W3C
line 284 column 74 - Warning: <table> proprietary attribute "height"
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 149 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md