So anyone reading this might have ended up a little confused at the sudden stop of my work. Fortunately it was not because I got lazy or just gave up. It was because I was offered a pretty nice internship for a company here in Ames and I get to write code and develop apps for them while getting a real paycheck! As a very broke college student I could not resist so I accepted the job and that has taken my time. I will get back on my own projects in due time though and will always be here to help with questions anyone has.
Thanks,
Justin
Friday, July 20, 2012
Saturday, May 12, 2012
End of Week
Well here we are at the end of the week and what have I learned? I learned not to attempt a sprint when not all of the variables are in your hands. You see, I decided to go ahead and try developing a game using a different game engine that I was only somewhat familiar with. This worked out ok to begin with but once I needed to get to more of the in depth parts of my game errors starting stacking. Because I was using code that someone else had written, my errors ended up being buried in hundreds of lines of someone else's code that I had to then decipher. So debugging takes almost twice as long as normal.
I have muscled through though and am where I had hoped to be on about Wednesday. I have the basic functionality down, and even worked on some art assets. So I am at the point now where I need to start adding some depth to the game. Making levels, creating some different bad guys and so on. I am ok with making a week long sprint in to a two week sprint at the cost of a bit of my pride. The point is that I am not giving up and this game is going to get done. I don’t care if it makes me a million dollars, I just need to see that I can do it all from scratch by myself.
Goodnight,
~Justin
Monday, May 7, 2012
Monday Status Update
Well I have been programming (with a break here and there to recharge) since about ten this morning. It is now six o'clock so I figured I would make an update. Firstly the game that I am making is sort of a Castle Defense meets Smashing type of game. The basis being that you are a castle guard hired to protect the gems that are held in the castle. Waves of thieves then come down from the mountains and try to steal the gems from the castle and you must tap them so they cannot rob the castle blind!
So far today I have been able to make the bad guys spawn on various paths and start walking towards the other side of the screen. If you tap them while heading towards the castle, they turn in to a little ghost and disappear. If they make it to the castle they then turn around and start heading back to the mountains. If you tap them while they are heading back, they drop the gem that they stole and you can tap it to get it back. If they make it back to the mountains then you lose that gem. Lose too many gems and you have lost the round!
Fairly simple game premise but I have enjoyed the small amount of game play I have been able to get at this point so I am still pretty positive!
See you guys tomorrow!
~Justin
So far today I have been able to make the bad guys spawn on various paths and start walking towards the other side of the screen. If you tap them while heading towards the castle, they turn in to a little ghost and disappear. If they make it to the castle they then turn around and start heading back to the mountains. If you tap them while they are heading back, they drop the gem that they stole and you can tap it to get it back. If they make it back to the mountains then you lose that gem. Lose too many gems and you have lost the round!
Fairly simple game premise but I have enjoyed the small amount of game play I have been able to get at this point so I am still pretty positive!
See you guys tomorrow!
~Justin
The Sprint!
So this semester is over and now I have one week before my summer classes start. So I am going to do a good old fashioned programming sprint and see if I can make a full game from scratch in one week! It is going to be crazy but I am going to try and break it down like this:
Monday:
Basic game mechanics working with maybe a few of the features working.
Tuesday:
The remainder of the features, balancing.
Wednesday:
Level development, art work.
Thursday:
Menus, splash screen and so on.
Friday:
Polishing and stress testing.
Saturday:
Publish!
It is going to be a crazy week but I know I can do it!
Wish me luck and I will keep you posted on the progress.
~Justin
Monday:
Basic game mechanics working with maybe a few of the features working.
Tuesday:
The remainder of the features, balancing.
Wednesday:
Level development, art work.
Thursday:
Menus, splash screen and so on.
Friday:
Polishing and stress testing.
Saturday:
Publish!
It is going to be a crazy week but I know I can do it!
Wish me luck and I will keep you posted on the progress.
~Justin
Tuesday, April 24, 2012
Google Drive Released!
This is not an app I am working on but I just saw that Google Drive was released today and it looks like it will be very useful so everyone should go check it out.
It is like a flash drive that is everywhere you go!
Of course there is an Android App to access all of your files to go with it so check it out!
https://drive.google.com/start#home
It is like a flash drive that is everywhere you go!
Of course there is an Android App to access all of your files to go with it so check it out!
https://drive.google.com/start#home
Labels:
android,
application,
drive app,
google,
google drive
Wednesday, April 18, 2012
How to add a button to a SurfaceView in Android
Today I am going to give a rough tutorial on a somewhat tricky task of adding a button on top of a SurfaceView in Android. This tutorial assumes that you already have a basic understanding of implementing the GameView and a GameLoopThread and that all works, you just want to add some clickable buttons over it to use in the game. So here is how I do it using code and not XML.
Preconditions: You have a GameView that extends SurfaceView and runs with a thread.
Post-conditions: You will have a standard button draw on top of the GameView that can be clicked.
Because I do most of the work using Java and not in the XML the code will go in to the Activity that you are wanting to play the game in. So set up your Activity with these three things:
These three things are the different views that will be used and placed on the screen. The FrameLayout "game" is sort of the holder for the two other views.
Next in the onCreate method of the activity we need to initialize our views. *Note the constructor of your GameView may not be exactly like the one I show so use the appropriate constructor*
Now we will set up just one single button. This should give you the idea of how to setup multiple buttons using the same methods.
Now things get a little less pretty because you have to programmatically define the layouts you want to use.
First the parameters for the button itself:
Next we define and then set the parameters for the GameButtons holder. I know this seems like overkill but when you are using multiple buttons this is very useful to add this extra step.
Then we add the button we created as a child of the GameButtons holder and add a rule that will align it to the bottom and right of the GameButtons holder. Then set these layout parameters to our button.
Here is where you can set the onclickListener for the button and use it like you would any other button. There are many resources out there that explain how to get the functionality out of a button that you would like so I will not try to encompass all of that.
Now we are at the final step which is pretty easy and self explanatory. All you need to do is add the GameView and GameButtons to our FrameLayout that we titled "game" and set the content of our activity to the game.
This is my first little tutorial over the concepts of a problem that I had of programmatically placing a button on top of a SurfaceView. If you have any questions or there is something I did not explain clearly please just leave a comment or email and I will get back to you.
Hope this helps!
~Justin
Preconditions: You have a GameView that extends SurfaceView and runs with a thread.
Post-conditions: You will have a standard button draw on top of the GameView that can be clicked.
Because I do most of the work using Java and not in the XML the code will go in to the Activity that you are wanting to play the game in. So set up your Activity with these three things:
1: public class MainActivity extends Activity {
2: GameView gameView;//extends SurfaceView
3: FrameLayout game;// Sort of "holder" for everything we are placing
4: RelativeLayout GameButtons;//Holder for the buttons
These three things are the different views that will be used and placed on the screen. The FrameLayout "game" is sort of the holder for the two other views.
Next in the onCreate method of the activity we need to initialize our views. *Note the constructor of your GameView may not be exactly like the one I show so use the appropriate constructor*
1: @Override
2: public void onCreate(Bundle savedInstanceState) {
3: super.onCreate(savedInstanceState);
4: gameView = new GameView(this);
5: game = new FrameLayout(this);
6: GameButtons = new RelativeLayout(this);
Now we will set up just one single button. This should give you the idea of how to setup multiple buttons using the same methods.
1: Button butOne = new Button(this);
2: butOne.setText("Button");
3: butOne.setId(123456); //good to set ID to some random number because defaults new button id's all to same number
Now things get a little less pretty because you have to programmatically define the layouts you want to use.
First the parameters for the button itself:
1: //Define the layout parameter for the button to wrap the content for both width and height
2: RelativeLayout.LayoutParams b1 = new LayoutParams(
3: RelativeLayout.LayoutParams.WRAP_CONTENT,
4: RelativeLayout.LayoutParams.WRAP_CONTENT);
Next we define and then set the parameters for the GameButtons holder. I know this seems like overkill but when you are using multiple buttons this is very useful to add this extra step.
1: RelativeLayout.LayoutParams params = new LayoutParams(
2: RelativeLayout.LayoutParams.FILL_PARENT,
3: RelativeLayout.LayoutParams.FILL_PARENT);
4: GameButtons.setLayoutParams(params);
Then we add the button we created as a child of the GameButtons holder and add a rule that will align it to the bottom and right of the GameButtons holder. Then set these layout parameters to our button.
1: GameButtons.addView(butOne);
2: b1.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
3: b1.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
4: butOne.setLayoutParams(b1);
Here is where you can set the onclickListener for the button and use it like you would any other button. There are many resources out there that explain how to get the functionality out of a button that you would like so I will not try to encompass all of that.
Now we are at the final step which is pretty easy and self explanatory. All you need to do is add the GameView and GameButtons to our FrameLayout that we titled "game" and set the content of our activity to the game.
1: game.addView(gameView);
2: game.addView(GameButtons);
3: setContentView(game);
This is my first little tutorial over the concepts of a problem that I had of programmatically placing a button on top of a SurfaceView. If you have any questions or there is something I did not explain clearly please just leave a comment or email and I will get back to you.
Hope this helps!
~Justin
Labels:
android,
button,
code,
development,
gameview,
java,
Layout,
SurfaceView,
xml
Tuesday, April 17, 2012
Live Wallpaper
I have decided today that I want to make a "steampunk" style live wallpaper with all sorts of gears and cogs and what not all moving around. I have never developed a wallpaper so this will be a learning experience that could be interesting! Stay tuned!
~Justin
Labels:
android,
development,
punk,
steam,
steam-punk,
steampunk,
wallpaper
Friday, April 13, 2012
Summer is on the way!
Hello world, the first semester of my senior year in computer engineering has only a few weeks left. When summer break starts expect to see a lot of cool and fun things showing up from JWL Studios! I am going to take you guys along for the ride so stay tuned!
~Justin
~Justin
Monday, March 26, 2012
First App is on the market!
Hey everyone I have finally gone as far as to finish an app and publish it!
Please check it out and let me know how I can improve or add to it!
Thanks!
https://play.google.com/store/apps/details?id=com.JWLStudios.TipCalc
Please check it out and let me know how I can improve or add to it!
Thanks!
https://play.google.com/store/apps/details?id=com.JWLStudios.TipCalc
Subscribe to:
Posts (Atom)