I added parallax layers to the game real quick and scripted some basic cloud movement. This is the first art from Josh England who is going to be helping me get some levels finished. Stay tuned for more!
Enjoy!
Jules of Nature
ojovivo
Lint Roller? I Barely Know Her
RMH
Monterey Bay Aquarium
art blog(derogatory)
styofa doing anything
NASA
Cosmic Funnies
One Nice Bug Per Day
Three Goblin Art
trying on a metaphor
cherry valley forever

pixel skylines
almost home
Aqua Utopia|海の底で記憶を紡ぐ
occasionally subtle
we're not kids anymore.

if i look back, i am lost
hello vonnie
seen from United States
seen from United Kingdom
seen from United States
seen from Germany
seen from Malaysia
seen from Brazil
seen from Ecuador
seen from Italy

seen from Australia

seen from Spain
seen from United States
seen from United States

seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
@classymonsters-blog
I added parallax layers to the game real quick and scripted some basic cloud movement. This is the first art from Josh England who is going to be helping me get some levels finished. Stay tuned for more!
Enjoy!
OKAY! So this is the new video from all the work I have been putting into it! I am still using the test level to put new things in here. I can hopefully build a new level tomorrow and submit a video of it. The next level will be an actual puzzle that requires some sort of solving, but for now let me walk you through all the new additions.
So first you can notice that I have textures working. The main player is sporting a fancy black and red target. In addition to textures I have animations working too! Animations are loaded from a texture map and you set if the animation should loop and how fast it should run through the scenes.
Second. I have scrolling enabled. I have made this world purposefully large to show the scroll. The camera has a very slight drag from the user. I like the very minimal drag because it makes the user feel faster. It will still need some fine tweaking but for now the general concept is there.
Third. Monsters! I have these awesome square monsters who just walk and when they collide with a wall they turn around. They also jump off the edge when the get near the edge of the platform. They do not hurt the user yet, but hopefully soon.
Fourth. Monster Generator! I have made Monster Generators. So these generators are giving a number of monsters to have live on the screen at a time, the number of seconds to cool down between monsters, and a position. So you can see the as I kill them the generator then pops out a new monster so there are always three on the screen.
All of this is from the awesome-ness of scripting, which will hopefully allow me to make a puzzle tomorrow and upload! So whats next?! My goal next is to work on getting some artwork in the game, background, monsters, platforms, etc... After that I will be working on the first set of puzzles roughly 10 to make up the first section of the game. Then hopefully on to the second section where the process will repeat!
Well thats all for now hope you enjoyed the video!
Happy Coding!
3 steps back for 5 steps forward (hopefully)
Dimension Boy has been coming along nicely. It is nice to be at a point where I can quickly change how a system is implemented. Case in point the collision system. Scripting has been going so good that I have decided to switch the collision handling over to Lua.
Its always nerve racking to tear down something that is working to try and rebuild it. There is always the possibility things will never return to the way they were. Maybe Im just being over dramatic, but thats besides the point. The collision handling was successfully broken down and rebuilt into lua so object now can script how they want to deal with certain objects.
Moving forward:
I am going to continue to add some scripting functions to finish the first monster in the game. Im calling it a TruffMonster but im not sure why. After the monster is complete I will be working on the Camera and a larger puzzle. Then for a demo again!!
Happy Coding!
Lua Scripting
I have begun setting up the scripting process for Dimension Boy and so far so good. I have re-evaluated my old way of scripting and with some advice have taken the approach in a new direction. Most of the flaws with my old version came from not understanding the power I controlled with Lua and how to properly maintain objects from both environments (C++ and Lua). A little homework and research and I think im finally starting to understand how great Lua actually is.
An update on where I am at right now with Dimension Boy and where I want to go. Levels are completely scripted now, which saves so much time not having to create new .cpp and .h files for every level. Next I am working on some new objects like sensors and enemies. Once those are done I will hopefully update with another video. Fingers crossed sensors will be done today!
Happy Coding!
This is the video of Dimension Boy Test. I wanted to build a quick level to test the simple mechanic . The video is rushed because I only had 30 secs to film it.
So this level is a very basic puzzle. Collect the key and get to the door. In order to solve this puzzle you must experiment with the two dimensions given, a normal dimension and a low gravity dimension. As you can see in the video all active elements are visible in green. You will fall straight through grey ones.
The puzzle is easily solved by switching dimensions to jump on the lower platform. Using the low gravity to get to the height of the higher platform then switching. After that you only have to get to the door. Easy enough!
New pixel art of me!
Dimensional Boy
I have recently been working on a new game of mine called (working title) Dimensional Boy. This game will take place in a single room setting and focus on the core fundamentals of a puzzle game. The idea behind the game is simple you must collect pieces of a lost dimension. In order gather the lost pieces you must be able to solve puzzles based on your environment.
I took the approach this time of developing a quick and fast puzzle of the game using Box2D. After about of week of development I had a simple level hooked up and was playable. The result was great it felt like a solid idea and you could smell the potential, kind of like baked oatmeal cookies.
I am excited to keep pushing along and will hopefully update soon with pictures of some test levels.
Happy Coding!
Billboards & Educational Content part1
Finally sitting down to write a blog post, wooo!!!!! So I was having trouble figuring out what to write about. I havent written a blog post in what feels like forever, hopefully that will change, but one of the main reasons was I could figure out anything to write about. Well hopefully that has all changed cause I am going to start writing about anything I feel about coding then I realized I have so much to talk about. So that leads me to todays topic Billboards and Education Content!!!!!
Billboards. Billboards, for those who dont know, are 2D objects displayed on a screen. Most of time you see billboards term used when the game is in a 3D space. The billboard is then a 2D object rendered to always face the user. A good example of this is in any MMO. The names above each characters head is a billboard.
Billboards are great because you dont need to worry about running into camera glitches.
So how did I come to choose a topic about Billboards. Well it has to do with the second topic posted Education Content. In Catacombs, my game about recursion, I use billboards to display educational information.
It was tricky trying to get the billboards into the game. I know that may sound silly. I mean they are only Rectangles with a texture applied to it. The hard part came with the placement of the billboards. because the system needs to be able to add a billboard to a room and then display at the correct time. Think of this blog as a teaser for tomorrows where I will be discussing in more detail the problem at hand and the solution I used to solve it. That will be tomorrow though!!!
Happy Coding!!!!
Plug&Play Coding
Starting a new game is always very exciting! You are usually bursting with creativity and the possibilities your new game can have. You are essentially on cloud 9, which is an awesome feeling, but somewhere down then line we hit a slump. We no longer feel the "love" for this game. Why? What happens for us to loose this great feeling?
I believe this happens to most of us because we get in too deep. We can get so sidetracked by the nitty gritty and the small subsystems. That before you know it your not even moving towards the game. My weakness for sure is World Editors. I love the idea of making one, and I enjoy making them, but I fall into the small things and the game is never finished.
Working on a brand new game with two other people, who are looking to learn about games and the code it takes to create them, I decided to take a new attack on this problem. Of course only time will tell if it works, but the idea is simple Plug&Play Coding.
Plug & Play Coding, is the idea of creating a system based on simple Object Orientated Design and Inheritance. For example in this new game we have developed the system around the ability to substituted any part of the system design by another similar part. A GameGraphicsEngine can easily be replaced by a WorldEditorGraphicsEngine. Mostly importantly a GameScreen and be replaced by a EditorScreen. Because all the input and outputs match correctly it simply just works.
I have encourage both of the other team member to create a Screen and play with it. If you have a quick idea, implement it! What we will hopefully will be left with is a final game, with lots of experimentation from this Plug&Play style. Hopefully that will pay off to a well rounded game that has fun game play, because we were so flexible.
Happy Coding!!
UPDATE:
Great article on game design, which talks about this style.
http://www.tonydowney.ca/blog/2011/designing-to-succeed/
Codename Noodle
Hello Hello! This morning shows great promise of a new game. Last night, I had a great meeting with, Derek and Jaise. We talked about our new game we are trying to implement and I am pretty excited! Ill go over some of the little stuff but wont give too much away. So the game is an exploration game with an emphasis on decision making. As you play the game you will meet new people who will help/destroy your game and it is up to you to decide who and how long to keep people. You will be given a party and will need to complete quests similar to Zelda. Each quest you goal is to obtain a certain item(s). It will be awesome don't worry and I will definitely have more details in the future!!
Happy Coding!!!!
Event Management
Yesterday was just one of those days. You know the days where you can't seem to wrap your head around a concept. For me this concept was how to create a system that could easily handle events. As I am currently winding down on major coding parts for the recursion game, I found myself struggling to add certain events to the game. While with an event system this should make it easier, for lack of words it was not.
So let me describe the system. You have an App that is running. The App can be thought of as the main program. The App contains a pointer to a Screen. Anytime the App wants to update or draw, it calls the Screen's update and draw. Now the Screen can hold anything, but for this you only need to know it holds Rooms, with Game_Objects in it, and a Player. Think of a Room as a mini screen, where Game_Object is object the player can collide with, which allows us to have collision and triggers. So if your still with me great! If not then sorry you will have to look at the picture.
Currently the system handles four types of events: Timer, Keyboard, Mouse, and Collision. A problem right off the back in my system is that collisions are handled by Box2D, while keyboard and mouse events are handled by the App. Do I think of this a major problem, not really, but it would be nice to have them all centralized. So right now if the player collides with a Game_Object, the object will have a function called to handle that event and perform whatever actions it needs to.
That is all that I have and it becomes very tricky when adding a new events because of new classes, but after talking to a very good friend of mine last night. If I were to do this again I think there would be major changes. So let me describe the new system and maybe it can help you if you need one someday.
The first thing I would do is make the distinction between an SystemEvent and a GameEvent. A SystemEvent is something that happens in the system that should then notify all Listeners that "HEY ITS TIME!! ITS FINALLY HERE!!!" and the object should say, "OMG I CANT BELIEVE IT!!!" and the a big party happens and everyone goes home happy. SystemEvents would be the four main Events previously described, Timer, Keyboard, Mouse, Collision. A GameEvent on the other hand is purely based in the game. So an example of a GameEvent would be an Explosion, DoorTrigger, and anything else that requires a effect on object in the game. Now this may seem confusing so let's talk about an example.
So your main character is walking through a lovely room with white walls(the building is cheap so its all they could afford) When your character sees a larger red button. Of course you are going to go hit the big red button!!
Now when you hit the button by a colliding with it it sets off an explosion!!!!
Now in this example you can see that a SystemEvent was fired by the player colliding with an object. This event was passed to the object similar to the old system, but now that object will push a new Event to an Event Manager. Such as with our example an explosion. The Event Manager can now contact every object that is listening for an Explosion Event and say "OMG DID YOU SEE THAT?!?!?".
This approach allows from input to come from different place and funnel them into one area that can then be interpreted and handled by anyone who is listening. There are some draw backs and of course everything is situational. So this may not fit your system very well. Like this system I will trigger a BLOG EVENT and say,
"OMG HAPPY CODING!!!!"
Programing A Robot To Move Through A Tree
This past week I was troubled with a problem. I was troubled not as to if I could solve the problem, but rather what would be the most elegant way. Of course the way I settled on works, but is it the most elegant?
So let me paint the scene for this problem. The player has just completed level 1, which requires user interaction to fly the robot to the correct rooms in the correct order. Where rooms are given a label as a single letter(i.e. "A"). As soon as level 1 is ended the player is dropped into the same tree, but this time they can no longer control their player, at least not in the same manner as level 1. In level 2 the player will create a program that returns path (e.g. "ABCDEFG"). This path corresponds to the next room the robot should visit. In the example above, the robot should travel to room "A", then proceed to room "B". The goal of level 2 is to complete the same process of level 1 but this time with code.
Now that the problem has been laid out, back to solving it. My initial solution I thought would be to label the tree using a depth first search pre-order, which would give me the following labels:
I thought this would make the movement easier because I knew to traverse this tree you would have to follow the alphabet. As I started to implement everything I found that following the alphabet was not as easy as hoped. If I was in room "A" and wanted to get to room "B" then I needed a way to distinguish which way to look. Should I look right? Should I look left? The main problem I had was I started to hack at my problem with spaghetti code, things I had not really thought out. This may be due to the fact I was in a different town and never really having a solid coding session, but thats besides the fact. After it was all said and done I was left with, what was a decent code base to a mess of code that was hard to look at. So what to do.
Yesterday I was timid about starting this again. That is typically how these things work you create a monster and then you become scared of that monster. I was scared of the monster I had created. Therefore I decided to kill it. Every last bit of it. Finito. Gone. I started from scratch with a fresh mind and a cold Dr. Pepper. and came up with this.
I would start by labeling the tree just using plain depth first search. The result gave me a room like such:
This gave me the main property I was looking for, Binary Search Tree. I could now write a function to navigate the tree based on the ASCII values. If I was in room "D" trying to get to room "C" I could look at the current room's label("D") and compare it to the target room("C"). Since "C" is less than "D" I knew to go left, so I could push the command GO_TO_LEFT_ROOM to the robot. This process continues until "C" is found.
The path finding function does need to be a little more complicated for other cases. Say I was in room "C" trying to get to room "D". Well because "D" is greater than "C" you should push the command GO_TO_RIGHT_ROOM, but that would be bad because "C" has no right room. Therefore we have to implement some other type of identifier for each room. This identifier is a vector to hold all rooms visited. Once a room has been visited we can add it to the vector and use it later when our algorithm gets confused.
As the stated we want to go to the right room from "C" to "D" but there is nothing there. First we can check to see if there are any children, if no then we know to go to the parent ("B"). Now in "B" we want to still go to "D" so we can compare again and get the command GO_TO_RIGHT_ROOM, but this is still not what we want. This is where the vector will come into hand. Because we already have visited "C" we can tell our algorithm that this is not the place to go. The only other option for us is to go to the parent again. So anytime the algorithm want to go to a previously visited room, we say "NO!!" and give it the command GO_TO_PARENT.
At the end of everything we are left with a series of commands that will lead the robot from any room in the tree to any other room using this function. I feel this new method was a lot cleaner than the crazy mess that once was.
Happy Coding!!
DigitalDreamBit
Hey I cant believe it . . . I HAVE A BLOG!! Besides that, this is the new place where I will be posting all my thoughts and ideas for the games I create. Currently there will be a lot of talk regarding my current game, which is untitled, but is about Recursion (oOoOoO Ahhhhhh). There will be also little sprinkles of another game I am creating with a few friends, which is also untitled. The latter game is currently taking the shape of a zombie RPG exploration game . . . sure we'll go with that. Stay tuned for some more stuff on games and the wonderful life of a developer!!