27 Sept 2014 – September Progress
The month of September has been even more productive!
Level select difficulty sprites
Now, these sprites appear when you move the mouse over a star in the level selection screen to tell you what the star means (which difficulty you completed a level on), the three difficulties being “Peaceful”, “Puzzle” and “Perilous” (previously known as “Panic Mode”).
Finale Cliff Edge
I am not going to reveal too much about this level, but this is basically a very special level that leads up to a cutscene that plays as you reach the end.
Above is a draft using template platforms to form the level. It seems to look pretty decent and I actually considered using those black tiles since they actually reveal more of the background which achieves the effect I want, but I wonder if custom platforms would be able to achieve it too.
I drew the custom platforms for the level and this is what I have:
Notice that the platforms aren’t very grid-like as compared to my normal levels. I used a class I coded months ago called Slope.as. It creates slopes for the game in a rather hack-ish way in that the game engine doesn’t support sloped tilemaps, so I had to devise my own way to implement slopes in the game. By creating platforms that act as a ground for the player, following the formula y = mx + c, I was able to create various types of slopes (steep slopes, smooth slopes) by inputting the start and end coordinates of the slope, and let the Slope class do the rest of the calculations.
As you can also see, this map is really, really huge and it has to be quite wide because of the player’s increased size in this map to give sufficient walking distance.
For the first time, I drew the exterior of the player’s house. It looks better than the girl’s house in my opinion.
The beam of light in the screenshot appears only after a certain condition is met and when you stand in the light, it takes you to a comic.
The 4 items is a comic revolving around… yes you guessed it – four items. This took pretty long to finish, to plant the 4 secret items into the game and all, Each of the items has a comic associated to it by the way, and finally after all that hassle, it’s finally done.
A new room I created which stands next to the achievement room. Here, you can track your major milestones achieved in the game.
Flash back Scenes
I remember playing a game called L.I.F.E a long time ago and what struck me was that at the end of the game, when you die, the game plays these little pictures of you, dating from when you were first “born”, until you became the character you are today. I felt that was really magnificent.
Months after that and fast forwarding to now, I was inspired to do some of these flash back scenes which I have already thought of the perfect place to put them in.
However, I want to add my own flair into things. I happened to watch a few movies that have a similar feel to Introvert and they inspire me a lot, giving me a fresh perspective of things. I watched Eternal Sunshine of the Spotless Mind and it gave me this idea about the players’ memories fading away as he chooses to forget them, and I am going to give that feel for the special Long Corridor level. That level has been a somewhat abandoned area in the game which I hadn’t updated for a long… long time… It is the first(!) level in the game I made which ignores the normal level boundaries and I remember it was one of the most challenging and special levels back then.
I feel I am quite ambitious with the effects I want to achieve with the Long Corridor, haha. It took me hours to revamp the Long Corridor level even with my increased skills compared to when I last programmed this level.
First time Deaths
I was told upon death, the resetting of the level is too robotic. There were thoughts of a fantasy theme reset and I did spend quite some time thinking about it. I didn’t come up with a very solid idea in the end but I did what I could.
Earlier, Li Hao did tell me he wanted to see some sort of cutscene or something that makes the level reset less robotic. I thought a cutscene would be good, but anything longer than 1 second would potentially be more of annoyance to the player if you find yourself repeatedly dying.
There are four ways to die and on the first time you die from each of those methods, it brings you to a simple scene… just some words, no pictures. Thereafter, there is a pictorial “cutscene” that appears for about 0.5 seconds, and I made it so that it doesn’t restrict movement. This means the reset is essentially instantaneous. I really loved the idea of an instant reset and I’m glad I was able to preserve it. I remember looking at some other games which did some transition animations when you died and some of those games which didn’t do it well ended up annoying the player, which is bad.
I set in place a story and also added special effects when you die for the first time. Now, the level would gray out and some clocks would appear to signify your travel back in time. Second time onward though, the grayscale doesn’t occur, but the clocks still appear.
Hidden Memory is a batch of special levels that I once called “Deleted Levels”. Throughout the development of this game, I scrapped many level designs. I kept them in the game but made them inaccessible. I thought of hiding them away in a really secret and deeply buried area where only hackers or cheaters can find. But today I finally got the time to actually look at how to do them better.
I recently compiled a list of those deleted levels and added them in a secret compartment of the Level Selection screen, allowing players to access them as “Deleted levels”, but I think calling them “Deleted levels” now is underwhelming, so I revisited some of them and actually gave them a whole new look, and even coded added functionality to two of those levels to make them even more interesting than some of the normal levels.
They are now revamped into Hidden Memories which actually link slightly to the main story and are a lot more meaningful now. I also gave them a theme to achieve this feel that these levels are really messed up badly because your character doesn’t have a good memory of what happened in those levels. Some of the tiles don’t match their backgrounds and even the environment props are meshed from another memory.
Epic Door Level
The new door level I added is extremely challenging. I had to actually tone it down a lot after I myself took several attempts to get the timing to jump correctly, and I’m a veteran player who’s been playing my own game for months that I can play some of my levels with my eyes closed.
The screenshot above doesn’t show the full level. See if you can spot the similarities between the sketch and the actual level.
New Achievement Logos
I have drawn many comics for this game. Although the animations and effects outdo my normal comics, I feel like I took a step back in terms of story. My comics in-game don’t display many frames on the screen either, partially due to the small screen size which restricts me from truly drawing proper comics.
I have not been drawing new comics for the game, but I had to do something about the story. The story isn’t as impactful as I want it to be, and just as my ideas got stale, I took a look at a game called “To The Moon”, a very emotional game.
It didn’t give me much inspiration, but soon after, I drew a storyboard. David, my music guy, had this idea of Story Levels. He didn’t go into detail, but I wondered if I could make some scenes and levels where it ultra zooms in on the character and their expressions. These levels (or scenes) would have no puzzle or danger elements and would focus on the characters and their development.
I also have a problem where the game has so many levels, the story begins to be clouded. It was no longer the 5 or 10-minute game I originally wanted it to be, and the game’s story becomes a blur when the game length is extended, a problem I had not foreseen when I introduced more levels.
The idea of introducing these “story levels” as a benchmark every 10~15 levels then hit me. But I have not come to accept it as an official game design element I want to see in the game yet. I have more planning to do.
I think I need to open the game to more testers to gather some feedback before I make any more drastic changes and decisions.
So I was working on water sprites and I remember seeing platforms with Water before, but when I went to google for them, I suddenly could not find any screenshots of a side-scrolling platformer with water…
Anyhow, I managed to draw a few water samples and I think I drew one that looks rather decent and not looking too cartoony or fake. But when I went to make it flow in the game, it gave me lots of glitches and multiple water sprites with a fixed velocity doesn’t seem to work well – they tend to overlap somehow (due to floating points?). In the end I had to animate the water movement manually.
Water Physics(?) / Environment!
Now I am really excited about this one, but the best part is that… I CODED THIS IN ONE NIGHT! Given that I’m kinda weak at programming, this is a personal achievement for me! I was really discouraged by how I couldn’t handle water movement earlier, but what I have just achieved really brings this game up a notch! Although… I did stay up to 2.30am just to finish it on a Monday morning. Darn it.
I can’t reveal much, but I drew drowning animations for the turtles (20px boy, 48px boy and 20px girl) and let me say… this animation is just one of the most terrific animations I have thought of. I can’t put it in a way without spoiling it, but I can’t wait for people to play the game to see it!
Lamp post level revamp
Another WIP is a new rework of a unique level in the game. It doesn’t have a proper name but I often refer to it as the “lamppost” level.
New Intro Scene
One thing the game lacked from the start was a proper intro scene. Pressing “Play” from the Main Menu immediately throws you into a level. I added a few text to reveal part of the story before the level begins, but it wasn’t very well presented.
So I made a special cutscene along with the text I wrote in the past, combining them to make the Intro scene for Introvert. I also used a new type of ColorMatrix to achieve a kind of color effect for this cutscene that sets it apart from other cutscenes.
Lots and lots of polishing, refining, touch ups
Re-visiting my old levels has given me some ideas of how to make them better, in almost any possible way. Text changes, addition and removal of text, decoration sprites especially for older graphics, etc…
Also, I’m beginning to slow down the production of new content since I now want to focus on wrapping up and completing the major features in the game.
As September draws to a close, I am one month closer to my deadline. Let’s hope for the best!
Over the weekend of the last week of September, I got a new playtester! I was really excited!!
I’m grateful to one of my army friends, Ming Sheng, who was willing to playtest my game! On the first night, he played through about 1/3 of the story levels and he had given me lots of insight into the way a new player reacts to some of the elements and levels in the game.
I don’t think you’ll understand my notes, but some of the things I noted were:
– Ok button at Main Menu isnt intuitive enough
– make it not need to restart if u missed the fren at corner of lvl 5
– Player can stuck at btm left of lvl 6
– Friend not playing walk animation
– Add to isntructions: H to change Hat,
– Once u die in bonusstate, no clocks appear
There were issues which I could fix on the spot, so I got to work immediately. I realize I need lots of playtesters before I can even call this game “playable”.
I reworked some of the difficult levels to make them slightly easier.
As someone who has played this game lots of times before, I cannot sense the difficulty or have another fresh perspective on how to play a level, so Ming Sheng really gave me lots of insight today… and I’m really curious to how he will go through the remaining levels, especially the more exciting levels toward the end.
There’s a lot of work to be done every time someone tries my game, but this means the game is getting a whole lot better every time that happens!