Mythruna
May 25, 2024, 10:45:40 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Welcome to the new forums. See "Announcements" for a note for new users.
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: How did you start making Mythruna?  (Read 5893 times)
Sempor
Newbie
*
Posts: 25


View Profile
« on: January 16, 2014, 02:35:39 PM »

I was just curious, when you started making Mythruna, what you had in mind at the time. Did you have a list of detailed concepts and game ideas you wanted to put in the game or just a very general hazy idea of what the final game would look like? And when you started, how did you start? After creating the block engine, did you begin working on chunks and the terrain or did you throw together something quick and start working on the gameplay or GUI? I'm kind of curious, because Mythruna is huge and complex now, and I was wondering what you had in mind at the beginning of the game.
Logged
pspeed
Administrator
Hero Member
*****
Posts: 5612



View Profile
« Reply #1 on: January 16, 2014, 03:21:10 PM »

I've been developing software for a long time.  I started working professionally almost 25 years ago and I've been doing 3D graphics in one form or another for about as long.  So I had a pretty good idea of how to start already when I started.  My OpenGL experience was limited to wrapper APIs but I had a general familiarity with the concepts and had written my own software-based engines a few times.  (I even have a Java-based Quake level viewer I wrote back in 1998 or so that used to be online but I haven't put the stuff back up after I switched domain registrars for my progeeks.com domain.)

I had played with jMonkeyEngine before back in 2006 or so when I was doing some work on fractally generated 3D terrain.  I wrote a cool editor for tweaking and stacking different types of terrain generators and stuff... then I was pumping it into jMonkeyEngine.  In my day job we used OpenSceneGraph but I would never write C++ code "for fun" on my worst day.  Back then in my free time I was trying to do more photorealistic terrain but it's really easy to sink lots and lots of hours into very little results.  I had some rudimentary procedural geometry and the fractals worked great for terrain.  Still it was clear that I could spend months or years on an engine and never actually get to implement my ideas for an RPG.  So I gave it up and went back to modding NeverwinterNights and making tools for that game.

Thus when, some years later, I played Minecraft and saw how compelling even those graphics could be, I started thinking about applying that to my original RPG ideas.  Minecraft was just basic survival back then with really dumb monsters and no real ability to do anything deeper.

The last Friday in January of 2011, I decided to revisit jMonkeyEngine to see what was up.  I hadn't done any 3D work in my day job for some time and thought it would be fun to get back into it.  By that night, I had some rough block geometry displaying with some nice lighting effects.  JME had really come a long way since I'd played with it last time and bump mapping, bloom, etc. were all part of the engine now.  Over that weekend, I revived my old fractal code (basically fired up the editor and saved some raw map data) and had it loaded into the prototype as some rough terrain.

Monday, January 31, 2011, I opened what would be the "Mythruna" project for the first time and started coding the engine.  I'd already dealt with terrain paging (a bunch) before so a basic paging system was no big deal (call them chunks or whatever, I call them nodes and leafs, toMAYto, toMAHto.)  Since the 90s I'd been reading all kinds of articles on ecology simulation, fractals, procedural textures, etc... so throwing together something wasn't hard and I kind of had an idea of where I was going already.  My world had the simple ugly "lolipop" trees in no time.  Lighting was the hardest part... that took me a week on its own.

By the middle of February, I had my initial efforts far enough to show people:  (It had gotten it's name by then, too!)
http://hub.jmonkeyengine.org/forum/topic/my-new-little-project-mythruna-a-morphable-world-rpg-of-sorts/

...and then the JME team interviewed me.  If you read the interview you can see that even back then I sort of had an idea of where I was going.  Some requirements beget other requirements and so on and we get to where we are today, but I was surprised how unembarrassing it is even now:
http://hub.jmonkeyengine.org/2011/02/an-interview-with-paul-speed-developer-of-mythruna-the-dawning-of-the-minecraft-genre/

You can even still download that original one at the bottom of this page just to see how far I'd gotten in only two weeks of work:
http://www.mythruna.com/mediawiki/index.php?title=Older_Test_Builds

By April, I'd added networking (and completely rewrote JME's networking library) and was on my way to becoming a core team member for JME.  (They finally talked me into it in June 2011: http://hub.jmonkeyengine.org/2011/06/paul-speed-pspeed-joins-the-jmonkey-core-team/)

I don't know if that really answered your question.  But at least now I have all of the links in one place. Smiley
Logged
Sempor
Newbie
*
Posts: 25


View Profile
« Reply #2 on: January 16, 2014, 10:54:51 PM »

Wow, thanks! What a reply! That was a very interesting and informative read! Thank you so much!
(Sorry if my jaw dropping open thanks seems kind of short. I'm still in awe that you programmed that in two weeks. I'm really impressed by that day/night cycle! I've been working on my own little game for what's coming up on six months now and I still haven't gotten around to putting one in yet! I guess I'm just lazy not completely sure how to do it.)
Logged
pspeed
Administrator
Hero Member
*****
Posts: 5612



View Profile
« Reply #3 on: January 17, 2014, 08:33:31 AM »

Wow, thanks! What a reply! That was a very interesting and informative read! Thank you so much!
(Sorry if my jaw dropping open thanks seems kind of short. I'm still in awe that you programmed that in two weeks. I'm really impressed by that day/night cycle! I've been working on my own little game for what's coming up on six months now and I still haven't gotten around to putting one in yet! I guess I'm just lazy not completely sure how to do it.)

If you use jMonkeyEngine then someone has already posted a pretty decent sky implementation: http://hub.jmonkeyengine.org/forum/topic/seeking-alpha-testers-for-skycontrol/

...or you can just dissect it.  I think it uses an atmospheric model but I haven't actually looked at it myself.

For Mythruna, I preferred a more artistic approach where I could control each aspect as needed.  My sky colors come from a single day/night texture and have a special environment manager that lets me register time-based tasks for a 24 hour day.  It then interpolates values between the hours.  I use this to change the fog colors, move the sky texture coordinates, change the light color, and so on.  All painstakingly tweaked for each hour of the day.  I guess there are about 6 or 7 such event handlers working in concert.
Logged
Sempor
Newbie
*
Posts: 25


View Profile
« Reply #4 on: January 17, 2014, 09:23:47 AM »

Thanks! I'll take a look at it. :-)
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!