Today, I just had this sudden urge to want to post my progress on creating the game “Introvert” on a blog. I actually did not intend to use a new blog, but my personal blog is too private to make public, and my gaming blog is simply too casual to use for a semi-serious “developer’s blog”. Thus, I created a new blog!
Background of “Introvert” and me
Introvert is my very first Flash Game that I am working on, and I am very excited about making it! I started progress on 9 June (it is 21 June today). I remember struggling to learn ActionScript 3.0 on my first day, a completely new language to me, as well as trying to work with Flixel, a completely new Game Engine that I heard was recommended to beginners like me ^^.
Since then, I have been working on the game for 0 to 12 hours a day. I think my progress is somewhat decent since I have somewhat managed to successfully learn a new language and have a running, working game in just two weeks on an engine I have never used before.
I created a log/ journal that covers what I have done since my first day. I update it almost daily. Again, because this is my first project, I am actually very enthusiastic and excited, and hence it explains why I kept a log (when you read it, it may seem a bit impractical, but I was really keen to log my progress). The resulting excitement also made me create a blog, just because of it!
Well, here’s the log that tracks my progress. If you do not wish to read the log, you can skip to the end by using CtrcF and typing “log end”.
– Game Project Created
– Has a PlayState only
– Added levels 1 through 9
– Main Menu State added
– Added levels 9 through 13
– Added level selection state, with buttons to enter levels
– Created enemy class
– Tile Graphics updated and revamped
– Game Resolution no longer scaled by 2
– Level 7 onward platforms changed to forest theme.
– Player Sprite drawn
– Game Logo created, but not used yet
– Added levels 16 through 17
– Level selection state now has player, has doors and elevators
– Level selection state buttons removed
– Added a Save feature, but buggy
– Fixed bug with save feature. Save now works
– *Pathfinding added for Level selection state
– Level selection state portals added, animations for portals added
– Added pink portals
– Added level 21e and 21p (there are two versions of this level)
– Player size changed from square to rectangle
– Pathfinding AI slightly smarter, some AI bugs resolved
– Design modification: Removal of collision between enemy and player w/ Endurance
– *FINALLY SOLVED ENEMY MERGE BUG when chasing
– Enemy movement much smoother
– Forest cutscene added, Forest animation frames added
– ForestState added
– Added level 12
– Added Main Menu Graphics, Play Button
– I finally solved the enemy head to player collision bug. This bug went on for days, frustrating me. I had no idea on how to solve it. I had to abandon collision with enemy altogether because of this. But today, I solved it. At 5.56am +8 GMT on the dawn of a quiet Thursday morning, I finally solved it.
– AI movement after collision is smoother, reduced overlapping and loss of collision
– Created level 26, 22, 14
– Girl Player Class added
– Solved the Jerking Bug where player jerks whn collcting a fren on the left. I was damn happy. It was caused by putting makeGraphic in update(). It should only be in create.
– Added Graphics for the Player. It’s buggy now though.
– Solved timer class problem for achievemnt state. Solution: start the timer at 3 seconds, and check if its timer.finished
– Player now dies touching giant spikes on level 24. Previously he walks through them unharmed.
– Design decision/challenge: Change all box sprites to turtles by the end of Friday 22 June. Now time to sleep.
– Scaling up works for 32 x 16 upward (scale down bugged)
– Level 14 enemy can now jump: Solved by repositioning super.update()
– Turtle can now turn and animations are all completely working in AchievementState
– Turning solved by setting to FlxObject.LEFT instead of FlxSprite.LEFT
– Added level 25, 27, 28
– Turtle graphic 10 x 20 version drafted
– Enemy graphic decided! It will be an angry turtle, 16 x 20
– Added Aggro for enemy
– Level 13 realism adjusted (again)
– Added AI movement for level 28, ghost sprite added
– Added idling for AI
– Level 28 semi-advanced AI completed
As of now, I have 30 portals (representing levels), of which 23 of them are levels that have already been created. I initially intended to have about 20 levels, but it seems that my levels are actually very easy and quick to complete, and also I realised that I needed to have more levels to make the game more complete. My current estimation of the total levels needed has raised from 20 to 50, which is more than TWICE of what I initially wanted to do!
I also started adding more features than I initially had. I suddenly had a pathfinding AI, I suddenly had an interactive level selection screen rather than a point and click screen, I even added an achievements system. Even in school today as I was watching an educational “Up Your Service” video, I was still thinking of ideas and sketching them on paper.
Some of my new ideas are:
– Doors that can move a player from one platform to another. If possible, create an animation for that.
– A dynamic platform that can be used as an elevator.
– Walls that are impenetrable, but can be disabled with buttons.
– Buttons on the map that can be pushed by jumping on them.
I think the doors will be the hardest to code, because of the animations >< If the player presses DOWN to go through a wall, I want the player to animate entering the door, and then animate moving out of the second door. I have no idea how I am going to do that, but I think the door itself will be animated with a turtle walking in and out. I have to figure out HOW exactly I am going to make the player temporarily "disappear" from the map while the door animation plays.
How I feel so far
At the start of the project, I was extremely excited and motivated. Gradually, at times when I got stuck on bugs and problems, I started to falter and thought of giving up :(. I was aware that I should not be facing these types of problems since my friend (who is also a programmer), said that they are considered to be quite “easy” to solve. It was somewhat demoralizing, but occasionally, I get small boosts in my motivation and some assistance that got me going. I have managed to survive this long and I hope that this project does not end in failure.
That’s all I have for now. I will be posting very frequently while my enthusiasm remains high ^^
Oh, and for history’s sake, I expected that this project be completed in ONE MONTH. However, seeing how I started implementing much more in the game, it seems like it might actually take two months. That’s my estimate though, and while I think other people could actually complete a platformer in a shorter time, I don’t think I’m as good as them, so maybe I’d be able to do it in two months maximum I hope.