Temple of Idosra -- Version 1.0.2 Release, Post-Mortem

Bombini

  • *
  • Posts: 1400
I'm back!  :D  Hurricane Matthew hit the Carolinas pretty hard. I was out of power for several days, and my town is practically an island due to flooding.

<a href="https://www.youtube.com/v/B59swhMZlN8" target="_blank" class="new_win">https://www.youtube.com/v/B59swhMZlN8</a>

The past couple of days I had power, but no internet--which probably helped productivity enough to cancel out the days I was sitting in the dark. I'll have to scale the game back a bit more than intended in order to finish, which is disappointing, but things could be worse.

Holy shit!

merrak

  • *
  • Posts: 2738
Done! The last couple of days were a marathon. I lost count of the number of hours worked over the past few days.

Play: (on GameJolt)

Also, there's a copy on the Stencyl Arcade

I'm not sure if this project was too ambitious for a 10 day period. It's complete, but I wasn't able to spend much time on extra features--so the game is fairly basic. Still, I'm pretty happy with the result. Given the difficulties I had with power, storms, and so on, I think I did okay.

Proper postmortem will follow after I take a day or two to unwind and enjoy the other games people made.

Raiyumi

  • *
  • Posts: 212
Wow, this is great! I get some serious nostalgic vibes from this game!  Probably my fav.  so far. :D

My only gripe is that occasionally I get some extreme lag after entering or exiting rooms.  It eventually fixes itself sometimes when I go back and forth from rooms. (Maybe it's just me, idk).
EDIT: It seems I only get the lag on chrome, pretty weird.

« Last Edit: October 16, 2016, 01:20:21 am by Raiyumi »

colburt187

  • *
  • Posts: 2416
This is a masterpiece, really takes me back to my Amstrad days, although this looks much better. The atmosphere is fantastic. I find the platforming a bit fiddly but its worth it.

Rex189

  • Posts: 66
Very laggy... it is unplayable for me..

domagojbulat

  • *
  • Posts: 207
Yes, this game style felling is remarkable! Played just a bit but I like it very much!

merrak

  • *
  • Posts: 2738
Thanks for the comments, everyone  :D  It was a rush the past few days, but I do have a result I'm happy with--which is more than I can say for about half of my LD games.

I felt like writing a proper post-mortem, which is an exercise I don't usually do... but it will respond to some of the points others raised (lag, etc.) I never was completely clear about what resources were allowed, etc., so I figured I should at least be upfront about what tools I used and how I used them.

Here's a little bit about how the game works.

All of the game's 113 rooms are really a single scene. When you first launch the game, a variety of XML files are loaded and parsed, creating a sort of database. This uses the FAST XML parsing extension I published recently. I also wrote a debugger prior to the contest. If you were wondering what the text is that displays when the game first launches, that is it. You can drop back to this command prompt if you press backquote+esc when in a proper game scene (not the title screen). Type "help" to see the commands--but most of them don't work. Type "launch" to run the game again.

Each entry in the database contains the floorplan for each level (four height levels in each room), and a list of scene behaviors and attributes. When you enter a new room, the floorplan tells the game what actors to load, and then the list of behavior,attribute,value triples configures them. This process might cause a bit of lag for the more complicated rooms.

The isometric scene renderer is close to the one that is provided with my isometric tools extension. It implements the painter's algorithm to draw the scenes--which is not very optimal. Unfortunately, Flash just isn't a great target for this game. I tried an HTML5 output, but it didn't compile. By then I was on the last day of the jam, so I decided just to go with what I know works. (Note--I haven't tried the newer release of Stencyl yet. I used build 9180).

The physics routine is pretty simple. Every actor has a z-position coordinate and z-velocity value stored as an actor value. Gravity is implemented by subtracting a bit from the z-velocity. The 2D scene is divided into four regions. When an actor falls or rises from one height level to another, its (x,y) scene coordinates are transformed so that the actor is in the right region. This is the strategy I used in the "Thief of Vallas" game and demo I worked on over the summer.

The platforming in this game could have really benefitted from the lighting routines I wrote in May/June. Shadows would make it easier to see where the various structures are positioned in the room. As it is, there are a few rooms with illusions. In some cases, I could take advantage of this to place secret walkways... but that would need to wait for a revision of the game. I didn't use the shadow routines, though. In part, I didn't think it would be within the rules of the contest to use them. On top of that, the game seems to just barely run on Flash as it is. I might do a post-jam version with the lighting, though... and see if it would run better on HTML5.

I'm happy with most of the graphics. I like the style the 6-color palette gave the game. Given more time, there are several graphics I'd like to touch up. I wanted more variety in the look of the enemies. I think I'll keep the diskette statues. I wanted to put a secret room with a joke about diskettes, but didn't have the time.

The funny thing about the hurricane is that I think it actually helped me get this game done on time. I didn't get very far before I realized this was way too ambitious of a project for a 10-day period. It's very scaled back from what I intended--and I really could have used an additional day or two for quality control (debugging, etc.) I did successfully complete it, though.

I really pushed myself to get the isometric scene renderer working the day the jam started--on the Thursday/Friday. I was looking at a very busy week at work the next week, so I knew getting that milestone beforehand would be important.

Friday night the storm arrived. I got a lot done Friday and Saturday morning. The scene renderer and physics were complete by then. Saturday afternoon the full hurricane hit, and then we lost power.

I had no power from Saturday to Tuesday. The other half of my town got power back Sunday, which included my office at work. So I was able to charge flashlight and laptop batteries over there. I spent Sunday mapping out the entire game, and Sunday night/Monday writing the database for all 113 rooms.

My university closed Monday - Wednesday, so I didn't have much else to occupy myself with other than this game. By Thursday I had the levels and code pretty much done. I just needed to draw graphics for the moving sprites. It didn't take me too long, since I used 3D models scaled down to 24x32 pixels. Between the small size and limited color palette, I got functioning graphics fairly quickly. I think they could use smoothing out, though... so in a revision of this game I'd probably just re-draw them.

Final thoughts-- for a 10-day period with a major storm, I think things went about as well as they could. It was good to have a diversion. For the entire jam period after the storm, my town was a virtual island. Almost every route out of town was either flooded out, or was closed due to a sinkhole. There isn't much to do when there's nowhere to go. On the plus side, I was about to put in about 100 hours or so of work.

mdotedot

  • Posts: 1654
Thank you for your postmortem. I like them and yours has some background on things that usually don't occur (storms)
Glad you are doing well.
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.

gurigraphics

  • Posts: 690
This game stayed cool. I liked this ambiance old school.
The control that could be only 4 directions: Up + Left, Down + Left, etc.

merrak

  • *
  • Posts: 2738
I made one last quick update to the game. To stay within the parameters of the jam, I just fixed a few simple bugs. The original (version 1.0.2) is still on the Stencyl Arcade. GameJolt has the updated version with these fixes:

* Fixed a bug where, if you didn't move fast enough through a locked door, you would bounce back and forth between two rooms. You now have to press enter to use a locked door.
* Fixed the room with the goblet so that it is now possible to pick up the sixth treasure.
* Fixed enemies that were ignoring walls and walking out of the room.
* Fixed a missing bridge in the room with the crown.
* Fixed a room where an Escher like effect made a platform appear in a place where it really wasn't.
* Fixed an annoying bug where sounds would repeat themselves on multiple channels.

The bigger thing I would like to fix is the performance issue with Flash. But I can't do this without converting the game over to the full engine I worked on over the summer. I don't think that would qualify as a "minor fix", and on top of that, it'd take a while to do anyway.

I think a better approach would be to use this game as a learning experience. It'd be neat to see how this game would play using the real engine with the lighting effects, like in the screenshot I posted a few months ago. It would take a while to animate all the characters, though, so it wouldn't be a light endeavor.