Stencyl 3.4.0 is now out. Get it now!

Merrak's Isometric Adventures -- Inventory

LIBERADO

  • *
  • Posts: 2066
Looking its blocks, it seems easy to use. I am looking forward to install this extension.
Thank you for your great work.
I'm spanish, excuse me for my bad English.
I'm not a private teacher. Please, post your questions in the public forum.

Nikkita31

  • *
  • Posts: 127
Hi Merrak.

I am starting believe that isometric games and anything that has an illusion of 3d behavior is going to be possible here in stencyl. You are doing a lot of unthinkable and crazy things here Merrak. =p

Keep up with your awesome work!

-RenegadeGames.

merrak

  • *
  • Posts: 1242
Here is a little flight over mountainous terrain demo. It could be the basis of a flight game, although it is extremely tedious to get the rendering order correct. Demo includes full 3D motion and 3D camera, but isometric perspective... so no illusion of depth or vanishing points.

<a href="http://static.stencyl.com/games/34596-0.swf" target="_blank" class="new_win">http://static.stencyl.com/games/34596-0.swf</a>

You will start out headed toward the end of the map, so will need to do a 180 pretty quickly.

...I am starting believe that isometric games and anything that has an illusion of 3d behavior is going to be possible here in stencyl. You are doing a lot of unthinkable and crazy things here Merrak. =p ...

Isometric is definitely easier than real 3D with depth... emphasis on easier and not "easy" :P This demo was tough to do, and I didn't get everything I wanted into it. The original version had buildings, but there were massive clipping errors. This demo messes up on occasion, but the rough terrain hides errors pretty well.

One nice feature of the terrain generator is that you could change the resolution of the mountains and make them smoother. If you restricted the camera to only point in 90 degree angles, you could easily add textures using actors and make a 3D city building or real time strategy game. You could also get away with much smoother terrain.

« Last Edit: July 04, 2016, 11:29:54 pm by merrak »

NobodyX

  • *
  • Posts: 1165
that last demo: whaaaaaaat?!?! crazy! :D
“If you wind up with a boring, miserable life because you listened to your mom, your dad, your teacher, your priest, or some guy on TV telling you how to do your shit, then YOU DESERVE IT.”
― Frank Zappa

merrak

  • *
  • Posts: 1242
that last demo: whaaaaaaat?!?! crazy! :D

I had a love/hate relationship with that thing while making it :P I put it aside for now, but I'd like to bring it out again when I have some other things cleared off my plate.

Nikkita31

  • *
  • Posts: 127
Hi Merrak.

Man, I've been playing Atelier Iris for many hours and at the same time I was also thinking if it was actually you who did some programming for that game. I believe, It is very close to what you do.

Keep up the super awesome work and we all look forward to it. .. and make it easier for noobs please?..  :'(

regards,
Renegadequarters

merrak

  • *
  • Posts: 1242
Atelier Iris does look similar, with the multiple levels. I wish I could do such detailed artwork, though :D. My tiles are looking pretty plain, although I've been too busy with the programming to spend much time on art.

I think I was too quick to pass up gurigraphics' suggestion to use Tiled. The first time I looked at it, I didn't notice how well it could work with isometric graphics. Since Tiled lets you shift an entire layer around, I can make the layers look like separate floors, which is just what I needed. I wrote up an XML parsing extension to load the map, and am now good to go 8)

My next focus is to get Marika to walk around, and also implement the camera to follow her. I'm using an older game of mine, Elemental Castle Adventure, as a model. While that game was one of my weaker LD entries, I do like the way the camera works. The camera follows the player in hallways, but focuses on the entire room when the player enters one.

So my main goal at this point is to have something close to an actual in-game level. I started work on some preliminary designs for level 1 (Entry Hall). Since I only have enough graphics to test the renderer, it looks empty. I have... 14 tiles total, and 8 of those are the four sections of two staircases :( So imagine the halls with statues and flags and stuff. Once I get a rough draft of the region, I'll map out the zones and implement a playable character.

I also made myself a bash (or DOS prompt, for the PC people) prompt-like environment for debugging. It basically lets you browse through the XML resource files. It took a little time to put it together, but it'll make it a lot easier to check that resources are loading in the right order and linked together correctly. It'll also catch log output, just like the old ` escape from older versions of Stencyl.

LadyLala

  • Posts: 38
Wow - seeing what you're doing here .... mind-blowing! Keep it up - your games are great!

merrak

  • *
  • Posts: 1242
I've pretty much finished the entry hall (attached image). I even got it to render--but the CPU usage jumped up too high for me to scroll around and find a good screenshot. So I have the screenshot from Tiled, without lighting.

I've been using the Biltmore Estate as a rough model for how the entry hall should look. This is just one section of the model, using the Winter Garden of the Biltmore Estate as an inspiration. This will be the first impression of the game, so I'm going to do my best to add some intriguing features.

It's hard to tell from the zoomed out map, but one of the first features the player will encounter is an upper terrace that can't be immediately reached. I can put something up there the player can collect, but will have to access it from a different section. There's also a recessed floor off to the left that will be in the shadows, and a lit door that will stand out against it. Hopefully it'll pique the player's interest enough to get them to explore to the left... but I'm going with a mostly non-linear, metroidvania type level design.

If only I could get the lag resolved. Fortunately, I'm pretty sure I know what to do to fix it. I did a bit of research and found out that vectors may be better than arrays for time-sensitive routines (like drawing)... and I also made some mistakes on top of that, which should be easy to fix.

Wow - seeing what you're doing here .... mind-blowing! Keep it up - your games are great!

Thanks! I'd say the same about your artwork. I spent a while going through your gallery; it's very impressive.

LadyLala

  • Posts: 38
one of the first features the player will encounter is an upper terrace that can't be immediately reached. I can put something up there the player can collect, but will have to access it from a different section.

I love it when games do this - the puzzle goal... it's like a bit of forshadowing in movies - a hint as to what's to come. It really gives the player a huge motivation to figure it out - which is really smart for an opening level.

Quote
Thanks! I'd say the same about your artwork. I spent a while going through your gallery; it's very impressive.

Thanks for looking at my artwork - I've always loved to draw, ever since I was a kid. I just have a lot of experience in it.. anyone can gain the drawing skills I learned with enough effort and time. Woo... adding the element of motion to art gives it a huge new element of difficulty though - animation will keep me busy for decades!

merrak

  • *
  • Posts: 1242
I love it when games do this - the puzzle goal... it's like a bit of forshadowing in movies - a hint as to what's to come. It really gives the player a huge motivation to figure it out - which is really smart for an opening level.

Level design is one of my weaker areas, but I do know what piques my own interest :D "Make a game you'd like to play" is good advice, anyway.

Speaking of which--so I hit a little snag with the Entry Hall. The problems I mentioned earlier were easy to fix, but it wasn't enough. The root of the CPU usage problem is that Entry Hall consists of 6,573 actors.

For those who haven't looked into the engine much, when you make a new actor, it is stored in a table (allActors). When the scene is updated (every tick--100 times per second), the engine iterates through this table and updates every actor. The simple act of looping through this table--not counting things that actually happen to the actor--was taking an appreciable amount of time. At this point, setting an actor to "minimal" doesn't help.

But I did work out a trick. When an actor is killed, it is removed from the table. You can pull an actor out prematurely with the following code: (replace iActor with whatever actor attribute you're using)

Code: [Select]
Engine.engine.allActors.clr( iActor.ID );

This will prevent the actor from getting any updates. My isometric renderer manages most of the 6,000 actors and their updates, so I don't need the Stencyl engine to worry about them. The Stencyl engine only needs to work with actors that have behaviors attached. For my purposes, this is a working solution--but at this point I'm not sure what other consequences there will be.

On the plus side, I'm now running 6,500 actors in a scene and getting 60 FPS :D

gurigraphics

  • Posts: 660
Wow. I always wanted to understand this problem. But is far beyond of where I am.
I thought that the only solution would be with that sort of thing:
Web Workers, Parallel processing, Multi-threading, Multi-core processing.

merrak

  • *
  • Posts: 1242
Wow. I always wanted to understand this problem. But is far beyond of where I am.
I thought that the only solution would be with that sort of thing:
Web Workers, Parallel processing, Multi-threading, Multi-core processing.

I actually hadn't thought about multi-threading at all--but I really should have. I have an 8-core processor (4 physical). My system monitor shows the activity on each one:



"Vallas Engine T..." is the renderer, which maxes out at 12.5% CPU usage (full usage of one core). It never uses more than one core. I never thought to look into using the other 87.5% of the processor. I did find some guides on threading with Haxe, so it might be doable.

The single two most demanding routines in the renderer involve lighting computations and drawing images. I'm not sure if drawing images can be divided into multi-threaded subroutines... but the lighting computations certainly could be written to take advantage of multi-core. It's definitely worth looking into.

merrak

  • *
  • Posts: 1242
10. Temple of Idosra

The Stencyl Jam 16 turned out to be the little kick I needed to get this project really moving again. It's funny how motivating a tight deadline can be. Temple of Idosra turned out to be a fairly successful endeavor. I got some useful feedback/criticism of things that don't work, and also quite a bit of positive feedback encouraging me to further develop the game.

My primary goal for the project was to give the intended gameplay for Thief of Vallas a good test, and I learned a few valuable things about what works and what doesn't work in this kind of game. For starters, the usual platforming is tricky in isometric perspective. It's particularly hard to gauge jumps. The original game was intended to follow the rules for cinematic platformers, with realistic movements for the characters. The jumping mechanic in Temple of Idosra was a product of the tight deadline, because it required fewer animations.

Now that I have more time at my disposal, I started thinking about how to turn Temple of Idosra into the intended game. The first step is to port the game over to the engine I worked on over the summer. I did some work on this already, and here's how it looks so far. Moving sprites and the UI still have their original 6-color animations, but walls have been updated.









The lights don't work, so turning them on will be the next step. I get a segfault when I enable them, so it'll take some exploration to figure out why it's crashing. On the plus side, using the real physics engine and not the one I threw together in a day has made a noticeable improvement in the jumping mechanic I'm planning to take out.  :P

I am pretty pleased with the cat face pillars. The original pillars that had holes with fireballs have been replaced with an angry cat face. Fun fact: It's Euclid's face (the cat in my profile picture), whose picture I snapped when he was whining for dinner.



So now you can imagine the fireballs as hairballs.

domagojbulat

  • Posts: 87
Hehe good idea with your cat! I like how the walls turned out to be right now. They are perfect this way! I hope adding light won't change their current looks much.