InvisionFree - Free Forum Hosting
Enjoy forums? Start your own community for free.

Learn More · Register for Free
Welcome to Mp2d. We hope you enjoy your visit.


You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Name:   Password:


Pages: (3) [1] 2 3  ( Go to first unread post ) Add ReplyStart New TopicStart New Poll

 NetMission Engine
Troid92
Posted: Sep 1 2009, 04:16 AM


Music God / Temp Admin
Group Icon

Group: Admin
Posts: 1,735
Member No.: 19
Joined: 28-January 05



Greetings.

Almost three months ago we discussed possible ways to get MP2D actually up and running, with Daz’s Super Metroid Prime idea being at the forefront. The pros and cons were juggled around, but the discussion quickly fizzled into nothing. Some of you may recall that in the discussion I mentioned that by summer’s end I might be able to “pull something together” related to the unformed and fragmented game engine that I claim to be working on. Today I am unveiling what I managed to make. Hopefully this will at least make you comfortable knowing that there is still another option out there.

My goal this summer was to use my game engine, called NetMission, to recreate a cut scene from Metroid Prime. The cut scene is at 01:51 in the following video:
http://vids.myspace.com/index.cfm?fuseacti...ideoid=49487898

I chose this specific cut scene for a number of reasons. At the time I had some experience with several features that I wanted to fully expand upon in my engine, including reflective surfaces (like water), 2-D lighting and shadow casting, sound effects (like reverb), and particles. Each of those features could be used effectively in the cut scene, and all the necessary resources were done or in a usable state.

Meta Ridley would give me the opportunity to design a 2-D model and animation system (aka. part-based objects) to show off the possibilities. I think that having a robust part-based system is necessary for MP2D, considering the many complicated bosses and enemies. These two videos are great examples of how part-based creatures can become very fluid and life-like when animated well, even with only few sprites or images:
http://www.youtube.com/watch?v=Frl1woD-j2U&fmt=18
http://www.youtube.com/watch?v=n2--XAolWF8&fmt=18

At the start of the summer NetMission was in pieces and mostly unformed, and it was at such an early stage that a good game could certainly not be made with it. It should be evident now that my goal was not just to create a cut scene, but to greatly improve my lacking game engine with many new and exciting features that could be used to create a cut scene and much more.

I did not come close to reaching my goal, but I am happy and satisfied with the progress I have made. Here is a quick demo:
http://www.filefront.com/14441363/demo.zip

Note: I did not make everything in the demo. Please read the readme file for important credit information!

Screenshot:
user posted image

Edit: Note that this demo is for Windows only. If you are unable to run it, here is a video of it in action:
http://www.filefront.com/14472583/nmdemo.mp4

I know, there are glitches in the demo, and some of them are funny to watch. I would have fixed them if I'd had more time. That's what you get with a freely-draggable rag-doll, real-time physics, and a poorly-thrown-together model. Those glitches will be gone when these models can be animated.

I am aware that at the moment there are about eight active members here, and I am the only one who is still working on Metroid Prime 2-D. However, as long as there is one person working on the project, the project lives on. Frankly, MP2D is a twice-undead zombie with a hangover and it’s funny to watch it try to crawl around, but it’s not dead because I’m here to say it’s not.

I will continue to work on NetMission because I intend to use it for a fan-game I am leading called Metroid: Net Mission, hence the name of the engine. If MP2D does not have any better ideas when NetMission becomes usable, I will round people up and start building MP2D with it, whether it be here or on the other side of the Internet.


--------------------
user posted image
MIDI-maker / Fangame Programmer
Rofl, you had to be there. <_<;
Yay red text.
Metroid_Zapper
Posted: Sep 1 2009, 04:37 AM


Metroid


Group: MP2D Team
Posts: 434
Member No.: 226
Joined: 10-April 05



Troid's worked hard on this one guys, let's not leave him with his work done for nothing. I'm with you man. Sure I'm never on the Forums, but I'm always in contact with Troid.
Infinity's End
Posted: Sep 1 2009, 04:48 AM


Metroid


Group: Members
Posts: 401
Member No.: 939
Joined: 2-December 06



I'm all for it. I still want to see this project done.


--------------------
user posted image
Birds fall from the window ledge above mine. Then they flap their wings at the last second. I can see
their dead weight just dropping like stones or small loaves of bread past my window all the time.
But unless I get up, walk across the room and peer down below, I don't see their last second curves
toward a horizontal flight. Now due to a construct in my mind that makes their falling and their flight
symbolic of my entire existence, it becomes important for me to get up and see their last second
curves toward flight. It's almost as if my life will fall unless I see their ascent.
MickeyG
Posted: Sep 1 2009, 11:15 AM


Zoomer


Group: Members
Posts: 19
Member No.: 1,346
Joined: 4-August 09



hey Troid, yet again i really like your work! good job on this icon_biggrin.gif keep it up


--------------------
user posted image
http://metroid.mickgeerts.nl

Working with: GM7 Pro
Sorry for my bad english
Under The Ashes
Posted: Sep 1 2009, 01:28 PM


A Screaming Riot


Group: Members
Posts: 1,406
Member No.: 1,307
Joined: 8-February 09



I'm sure its great. And I say that because I don't have a windows. icon_sad.gif So I cant see it. Or play it.


--------------------
<img src='http://notpy.notstaticfire.co.uk/Hurr I am plane.png' border='0' alt='user posted image'>
QUOTE (Candy Man Criminal)
its not sex just cuz you switched hands
Troid92
Posted: Sep 1 2009, 02:05 PM


Music God / Temp Admin
Group Icon

Group: Admin
Posts: 1,735
Member No.: 19
Joined: 28-January 05



I just noticed and fixed an important typo. Those of you who have already read my post, please change "I did come close" to "I did not come close" in your heads. That should make more sense. icon_razz.gif

I'm using libraries like OpenAL Soft and OpenGL that work on platforms other than Windows, so one day I'll try to bring NetMission to the worlds of Linux and Macintosh.


Remember that I'm starting school now. I may have been exaggerating when I said I would be hit by a tidal wave and thrown inside a black hole for nine months, but this is looking to be another tough year. There will be entire months at a time so busy that I won't be getting enough sleep and won't have any time to stop by here, let alone program away at a game engine. I may not have made it clear in my post above, but it will take me years to make NetMission usable. I'm sorry if this puts MP2D in another dull waiting situation, but you have my word that NetMission will be finished one day.

Oh, by the way, I made a new sprite over the summer and it looks awesome. I'll try to post it sometime.

Leaving for school now.


--------------------
user posted image
MIDI-maker / Fangame Programmer
Rofl, you had to be there. <_<;
Yay red text.
DeProgrammer
Posted: Sep 1 2009, 02:16 PM


Elite Pirate


Group: MP2D Team
Posts: 893
Member No.: 295
Joined: 3-June 05



Won't work for me. I opened it three times but only got it to show something once, and when it did show something, Ridley wouldn't move. How did you do the timing, and did you include a sort of DoEvents?

CODE
// Dispatch all waiting events
void tpkWDoEvents() {
   MSG M;

   // Go until there's nothing left
   while (PeekMessage(&M, NULL, 0, 0, PM_REMOVE)) {
       TranslateMessage(&M);
       DispatchMessage(&M);
   }

   return;
}
(This one's from Guy Perfect.)

But hey, you have my full support. Except I have no idea how all the libraries you're using work. icon_razz.gif If you need it, I have stuff for key input the way Nintendo consoles do it, timing using the high-resolution counter (because it's not screwy like GetTickCount in Windows--however, some computers apparently don't have a high-resolution counter, so it doesn't work on those), etc.

We're going to have to learn how to deal with the windowing systems on the different platforms to make things cross-platform. The DoEvents thing (which is part of the windowing system, actually) and timing code is going to be different, too.


--------------------
user posted image
Signature by Rewrite.
My talent comes from deep within...like vomit!
Metroid Commander
Posted: Sep 1 2009, 04:21 PM


War Wasp


Group: Members
Posts: 190
Member No.: 1,025
Joined: 22-July 07



Hey troid could u plz make a vid of ur demo, i have a mac so i can't play it ??
MC


--------------------
Zurginator
Posted: Sep 1 2009, 08:04 PM


Zurginator the Pwninator


Group: Members
Posts: 3,122
Member No.: 1,047
Joined: 25-August 07



Troid, make sure it supports HD resolutions. I'm feeling the urge to make an HD side-scrolling Metroid (Think: The Super Metroid of this gen). icon_biggrin.gif
Liksmaskaren
Posted: Sep 1 2009, 08:10 PM


Disclaimer: Not a lesbian.


Group: Members
Posts: 1,260
Member No.: 602
Joined: 13-January 06



Troid. You rock.


--------------------
user posted image
Shit happens when you party naked
Under The Ashes
Posted: Sep 1 2009, 08:17 PM


A Screaming Riot


Group: Members
Posts: 1,406
Member No.: 1,307
Joined: 8-February 09



QUOTE (Liksmaskaren @ Sep 1 2009, 03:10 PM)
Troid. You rock.

Has he ever not?


--------------------
<img src='http://notpy.notstaticfire.co.uk/Hurr I am plane.png' border='0' alt='user posted image'>
QUOTE (Candy Man Criminal)
its not sex just cuz you switched hands
Candy Man Criminal
Posted: Sep 1 2009, 08:23 PM


Metroid Prime


Group: Members
Posts: 2,775
Member No.: 1,101
Joined: 13-January 08



i fucking love you troid =D


--------------------
user posted image
QUOTE (Timmeh)
troid is jesus on stilts

QUOTE
Parkour: We Turned Running From The Cops Into A Sport.
Phlake Jr.
Posted: Sep 1 2009, 10:05 PM


Omega Pirate


Group: Members
Posts: 1,425
Member No.: 1,201
Joined: 8-October 08



I say use Rundas' Samus.


--------------------
user posted image

Figured I'd steal a cruise ship
Sail it off a waterfall while covered in gold paint
Handstanding next to a mariachi band
On fire
Troid92
Posted: Sep 2 2009, 01:04 AM


Music God / Temp Admin
Group Icon

Group: Admin
Posts: 1,735
Member No.: 19
Joined: 28-January 05



QUOTE (DeProgrammer @ Sep 1 2009, 08:16 AM)
Won't work for me. I opened it three times but only got it to show something once, and when it did show something, Ridley wouldn't move. How did you do the timing, and did you include a sort of DoEvents?

Yes, I do that section of the message pump each frame.

But I was a little worried about the framerate code. Last week I tested the engine on a Vista laptop and it ran as fast as possible. Turns out the latest framerate code had stopped actually doing anything, and I didn't notice because my setup waits with VSync and the Vista laptop doesn't. So I temporarily replaced that code with an old version that I knew worked, but the old code had plenty of other issues. I didn't have the time to mess with it, and it worked well enough on both systems, and I don't exactly have many systems to test it on... so that old code is what's in the demo.

I just opened it up to see how it works (since I'd forgotten). It uses timeGetTime() and assumes that 1000 units = 1 second. The inaccuracy of timeGetTime() makes it a little choppy, but it runs at the target FPS on average. It makes sure it never Sleep()s for more than a frame's length of time. When it gets behind, it skips rendering until it catches up. Bingo. That's the spiral of death. If the framerate code is really the cause of your problem (which it might not be), then it could be that your CPU is not able to keep up, causing it to frameskip its way into infinity rather than run a little slower. Does task manager show the CPU level at the process's fullest? Does the music play?

Thanks a lot for the support (and the important bug report!). All of my OS-related code is a big old inefficient mess. It was the first part of the engine I wrote when I was learning C++ years ago, so I had no idea what I was doing at the time. I would've performed surgery on it this summer if I wasn't so rushed to get out a demo. That'll have to be the next thing I do. If I need help I know who to ask.

======

Funny, nobody has mentioned being able to run the demo yet. Did the other Windows users out there get it to run? If so, does Ridley have a reflection?

As for those who can't get it to run, I'll try to record a video soon, meaning this weekend at the latest. If someone would be kind enough to beat me to it, that would be great. icon_razz.gif


--------------------
user posted image
MIDI-maker / Fangame Programmer
Rofl, you had to be there. <_<;
Yay red text.
Zurginator
Posted: Sep 2 2009, 01:29 AM


Zurginator the Pwninator


Group: Members
Posts: 3,122
Member No.: 1,047
Joined: 25-August 07



Runs, smoothly, with the reflection. Excellent work on the ragdoll, but you need to make it so that things can fall through things they are in front of, it makes some odd things happen otherwise lol.
« Next Oldest | Announcements, Rules and Regulations | Next Newest »
InvisionFree - Free Forum Hosting
Join the millions that use us for their forum communities. Create your own forum today.
Learn More · Sign-up for Free

Topic OptionsPages: (3) [1] 2 3  Add ReplyStart New TopicStart New Poll


Go to IRC Room


Hosted for free by InvisionFree* (Terms of Use: Updated 2/10/2010) | Powered by Invision Power Board v1.3 Final © 2003 IPS, Inc.
Page creation time: 0.0582 seconds | Archive
free hit counter
free hit counter