Experiments
ToDo List/Game
ToDo List/GamePlace a description in the Items field and put a time (in minutes) for how long the task will take and click Add Item. When complete, click the Complete button and that will strengthen your character.
Platformer
Desktop Version Mobile VersionPlayer must try to collect the diamond. They can click/touch the screen to create blocks to get to the diamond. Enemies can destroy any created blocks on touch.
Created Blocks can be removed by clicking/touching them again.
Unity
Unity Game TutorialSaturday, November 23, 2013
Friday, November 15, 2013
Submitted
Just submitted my game to the Windows Phone 8 Store. Hope to have good news in the next week about it.
Thursday, November 14, 2013
Sound
My next plan for the game is sound. Once I have sound, I will be submitting the game to the Windows Phone 8 App Store.
After that, I will continue working on my To Do Game.
After that, I will continue working on my To Do Game.
Major Update
Decided to copy over the changes that I made for the Windows Phone 8 HTML5 version to my blog. These changes make it more playable on a mobile browser.
I also changed the interface when you first visit the mobile version to take you to the level select menu. Once selected, you will then get to the actual level to play.
I also changed the interface when you first visit the mobile version to take you to the level select menu. Once selected, you will then get to the actual level to play.
Thursday, October 10, 2013
Quick Fix
I fixed the issue I had last night with the complete button realigning itself.
The problem was that my dynamically created spans had the same id's if the number and task name were the same so it was removing the first instance of the spans. I fixed this by adding a fake guid that is just a string of 5 pseudo random numbers to the id's.
The problem was that my dynamically created spans had the same id's if the number and task name were the same so it was removing the first instance of the spans. I fixed this by adding a fake guid that is just a string of 5 pseudo random numbers to the id's.
Wednesday, October 9, 2013
Updated ToDo List/Game
I updated the ToDo List/Game. Now you can add items to a list on the page and click complete when you complete them. It is not stored anywhere, so you lose your list when you leave the page.
I know there is an issue with the first complete button that will be fixed on the next update.
I know there is an issue with the first complete button that will be fixed on the next update.
Thursday, October 3, 2013
To Do Game
I started on my to do game. The initial prototype will be linked above or here. It is very basic for now. All you do is add an item and a time and your "character" levels up when you submit that you completed a task/to do item.
Tuesday, October 1, 2013
Unity Update and Other
Got an idea for a productivity app. Will explain more as I develop more. The idea is the gamification of to do lists. It would encourage people to create and complete their to do lists.
Anyway, I did a little more on the 3D tutorial in Unity and have a simple environment where the player has basic fps controls.
Anyway, I did a little more on the 3D tutorial in Unity and have a simple environment where the player has basic fps controls.
Tuesday, September 17, 2013
Unity 3D
Starting a new venture today. I am starting on a Unity tutorial to start some 3D game development. I will be keeping my games on Dropbox and updating the link above my 2D game as I go along.
Tuesday, September 10, 2013
Mobile Version
New update that makes the game more mobile. Your character always moves right and you must create a path for him. You can still jump, but you must be careful when you jump.
Any comments are welcome.
Monday, September 9, 2013
Pointer Events
Came back and added pointer events using Hand.js (https://handjs.codeplex.com/) to help with the touch/mouse events.
Sunday, July 21, 2013
Other Ventures
I'm taking a break from my 2D game to start doing tutorials on 3D. I do not have any more ideas for my 2D game other than recreating the sprites so I am going to do the 3D tutorials and if I get any ideas, I will come back and implement them.
I plan on doing HTML5/JS for the 3D tutorials using Babylon.js.
I plan on doing HTML5/JS for the 3D tutorials using Babylon.js.
Monday, July 15, 2013
Azure
Found out some more details about Windows Azure and will not be using it to host my game anymore. I'll be reading my game later today through some other service.
Wednesday, July 10, 2013
New Levels
I added another set of levels, the Mine Levels. These levels are a sort of reversal of the Cave Levels with the spikes at the top and a path along the bottom. The path has a snake though and he moves slightly faster than the snake that was encountered on level 8 of the Caves.
Monday, July 1, 2013
Button Fixes
New update that fixes buttons on some mobile devices. Now buttons should look the same across all devices.
Thursday, June 27, 2013
Control Layout
Small change today. I updated the button placement. The left and right buttons are on the left side of the screen while the jump button is along the right side of the screen. They stay on the sides of the browser no matter what the size of the browser window.
Monday, June 24, 2013
Lava Levels
Biggish update today. I decided to add a new level set. This new level set is the Lava Levels. It includes 10 new, random levels that introduces balls of lava that can kill the player and destroy blocks.
The balls of lava are created with an initial location below the viewing area. I then set a random timeout between 0.45 seconds and 4.5 seconds. This updates their vertical speed (negative) until they reach almost the top of the area. At this point, I set the speed for them to fall (positive).
Timeout:
Update Speed:
The balls of lava are created with an initial location below the viewing area. I then set a random timeout between 0.45 seconds and 4.5 seconds. This updates their vertical speed (negative) until they reach almost the top of the area. At this point, I set the speed for them to fall (positive).
Timeout:
setTimeout(function () {
lavaB.velocity.y = -3;
}, Math.random() * 4500);
Update Speed:
if (lavaB.yPosition < top) {
lavaB.velocity.y = 3;
}
else {
if (lavaB.yPosition > bottom) {
lavaB.velocity.y = 0;
}
}
Thursday, June 20, 2013
Windows Azure
I decided to host my game on Windows Azure cloud platform to experiment on a cloud platform. It can be found linked above. This also helps loading in mobile browsers since it just loads the game by itself.
The process of setting up an account on Azure was really easy. Time will tell if I continue to like it.
The process of setting up an account on Azure was really easy. Time will tell if I continue to like it.
Tuesday, June 11, 2013
Performance Update
New update that is mostly maintenance. This new update has reduced the globals down to only one. All the globals are now under the one global called res which is short for resources. Now I do not have a lot of variables clouding up the global namespace.
Other than that, I added a new game over screen for the fish level.
Other than that, I added a new game over screen for the fish level.
Sunday, May 26, 2013
New Fish Level And Block Removal Ability
I have now introduced the ability to remove a placed block by clicking/touching it again. It will add the block back to your block count. The code was relatively simple as shown below:
for (var i = 0; i < rectsCreated.length; i++) {
if (x > rectsCreated[i].x && x < rectsCreated[i].x + rectsCreated[i].w &&
y > rectsCreated[i].y && y < rectsCreated[i].y + rectsCreated[i].h)
{
blockCount++;
document.getElementById("blockNum").innerText = blockCount;
createBlock = false;
rectsCreated.splice(i, 1);
}
}
It just checks the rectangle area in each created block to see whether the click is actually inside of it. If it is, increment the block count and remove the block from the screen.
This comes in handy for the Fish level that was added as well. The Fish level is a survive as long as you can level. You need to survive by staying above the spikes as long as you can while the fish chase after you and destroy your blocks.
for (var i = 0; i < rectsCreated.length; i++) {
if (x > rectsCreated[i].x && x < rectsCreated[i].x + rectsCreated[i].w &&
y > rectsCreated[i].y && y < rectsCreated[i].y + rectsCreated[i].h)
{
blockCount++;
document.getElementById("blockNum").innerText = blockCount;
createBlock = false;
rectsCreated.splice(i, 1);
}
}
It just checks the rectangle area in each created block to see whether the click is actually inside of it. If it is, increment the block count and remove the block from the screen.
This comes in handy for the Fish level that was added as well. The Fish level is a survive as long as you can level. You need to survive by staying above the spikes as long as you can while the fish chase after you and destroy your blocks.
Wednesday, May 22, 2013
Level Keeper and Created Blocks
Smallish update that resets just the player and the game state when the reset level button is pressed. Previously, the reset level button would reset the blocks from the random level generator.
Another change is that the created blocks have a new image associated with them. This will later be used to allow the player to remove a block they have placed which will add it back to their block count.
Tuesday, May 7, 2013
Random Level Generator
I added a random level generator to the game. It generates 12 blocks between 120 and 480 on the x axis and between 60 and 330 on the y axis. The code is as below...
for (var i = 0; i < 12; i++)
{
var x = Math.floor((Math.random()*10)+3) *40;
var y = Math.floor((Math.random()*9)+2) *30;
rects.push(rect(x, y, 20, 20));
}
The first 8 levels are randomly generated then the last 2 are pre generated.
for (var i = 0; i < 12; i++)
{
var x = Math.floor((Math.random()*10)+3) *40;
var y = Math.floor((Math.random()*9)+2) *30;
rects.push(rect(x, y, 20, 20));
}
The first 8 levels are randomly generated then the last 2 are pre generated.
Monday, April 29, 2013
Snake Enemy
It's been too long since I did anything on here. I guess I can call it a vacation, haha.
Anyway, I was able to add a snake enemy to level 2, which brings the count up to 4. It has a different collision detection than the player so it can detect if it is not over a block so it can turn around.
I also changed the created blocks to be their own entities instead of with the regular blocks. This now allows me to "destroy" the blocks when an enemy (snake) collides with one.
This exercise has also reminded me the value of creating objects with null. I was able to handle whether a snake was created or not using this handy little value.
Anyway, I was able to add a snake enemy to level 2, which brings the count up to 4. It has a different collision detection than the player so it can detect if it is not over a block so it can turn around.
I also changed the created blocks to be their own entities instead of with the regular blocks. This now allows me to "destroy" the blocks when an enemy (snake) collides with one.
This exercise has also reminded me the value of creating objects with null. I was able to handle whether a snake was created or not using this handy little value.
Monday, April 15, 2013
Levels and Block Count
Finally got around to adding actual levels and a block count. I have three levels set up with a completion screen after each level. The levels automatically transition thanks to a setTimeout call. The final level has a different completion screen to tell the player that they have won.
The game also now has a block count. You have 10 blocks to get through each level. This should be more than enough to get to the diamond.If the player runs out of blocks, they can easily reset level to gain back all their blocks.
The game also now has a block count. You have 10 blocks to get through each level. This should be more than enough to get to the diamond.If the player runs out of blocks, they can easily reset level to gain back all their blocks.
Saturday, April 6, 2013
Level Design
I got the basics of the game complete so far. I have an objective to collect the diamond, movement, and way of game over by hitting the spikes done.
All I had to do was add the diamond and spikes with collision. Collision is all handled by the below JavaScript function.
function overlapTest(a, b) {
return a.x < b.x + b.w && a.x + a.w > b.x &&
a.y < b.y + b.h && a.y + a.h > b.y
}
Wednesday, April 3, 2013
Mobile Success
I got my buttons working on select mobile devices. I tested it on iOS on Safari and Chrome and on Android on the default browser and Chrome. The Android experience was slow, but my test was on an HP Touchpad running Cyanogenmod so I assume it is the hardware/software combination that caused it to be slow since it ran perfectly on my iPhone 5. Since I have all the basic mechanics done, I will be able to start on actual level design and eventually add in enemies.
Here is the basic code for anyone interested:
var j = document.getElementById('jump');
j.addEventListener('touchstart', function(event){ jump(event,true); }, false);
j.addEventListener('touchend', function(event){ jump(event,false); }, false);
function jump(e,bool) {
if(e.target.localName != 'select'){
e.preventDefault();
}
direction.up= bool;
}
I get the DOM element for the button and set a 'touchstart' and 'touchend' event that calls a function. This function overrides the default highlighting that mobile devices do while the person holds there finger over an element. I then set the direction.up variable to true or false depending on whether it was a start or end event. The player jumps constantly while direction.up is true. This does lead to a problem is a user does not make the touchend event occur, but I will worry about that later. And that is how a button can be done with touch :D
Here is the basic code for anyone interested:
var j = document.getElementById('jump');
j.addEventListener('touchstart', function(event){ jump(event,true); }, false);
j.addEventListener('touchend', function(event){ jump(event,false); }, false);
function jump(e,bool) {
if(e.target.localName != 'select'){
e.preventDefault();
}
direction.up= bool;
}
I get the DOM element for the button and set a 'touchstart' and 'touchend' event that calls a function. This function overrides the default highlighting that mobile devices do while the person holds there finger over an element. I then set the direction.up variable to true or false depending on whether it was a start or end event. The player jumps constantly while direction.up is true. This does lead to a problem is a user does not make the touchend event occur, but I will worry about that later. And that is how a button can be done with touch :D
Monday, March 25, 2013
Mobile Attempt Fail
This is my so far failed attempt at getting mobile support for buttons. It works with a mouse, but not with touch screen mobile devices yet.
Sunday, March 24, 2013
Early Progess
It's late and I have my initial setup for the game done. I used a simple HTML5/JS tutorial and came up with the below setup. The controls are movement with a, w, d and clicking on the screen adds blocks. Changed old version to screenshot...
Saturday, March 23, 2013
Screenshots
Here are a couple screenshots of the game...
The point of the game is to have the player make it to the diamonds. The player can place blocks to get around the level. These blocks can be destroyed by the enemies. There will also be a set number of blocks per level. More details will be explained in later blog posts.
The point of the game is to have the player make it to the diamonds. The player can place blocks to get around the level. These blocks can be destroyed by the enemies. There will also be a set number of blocks per level. More details will be explained in later blog posts.
Wednesday, March 20, 2013
New Blog
Time for me to start a blog on my HTML5 development on my game. Originally my game was named Creative Depths, but I recently found out that the name is patented. So I will go with Rock Bottom Innovation for now, haha.
I have just found all the resources I will need to start on my game development and have the basic idea and sprites to make my game. My next blog post will contain information on the game itself with some prototype screenshots.
I have just found all the resources I will need to start on my game development and have the basic idea and sprites to make my game. My next blog post will contain information on the game itself with some prototype screenshots.
Subscribe to:
Posts (Atom)