tag:blogger.com,1999:blog-45346782756949851082024-02-07T22:43:59.610-07:00RazzleGames Graphics and GameDev BlogProblems and Solutions in Graphics programming, especially in embedded console systems (e.g. PSP, GameBoy Advance, Nintendo DS, Android).Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.comBlogger26125tag:blogger.com,1999:blog-4534678275694985108.post-8991906741144007652020-05-25T09:48:00.001-07:002020-05-25T09:48:30.375-07:00Create Multiplayer Cloud Servers for Free!
Hi Fellow GameDevs,
This is Tutorial about choosing the best free hosting solution for your multiplayer game servers
In this video I'll talk about:
- Advantages and disadvantages for each provider
- Some basic offerings
- Who has the best ALWAYS free hosting :)
- Who has the best billing model to avoid unwanted charges.
Providers to signup services
AWS:
https://aws.amazon.com/free/
Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-81313869849309730992019-10-26T10:30:00.001-07:002019-10-26T10:30:51.664-07:00Automatically export your Godot project using Gitlab CI pipelines!Hey all!This is Tutorial about setting up a basic Continuous Integration Pipeline in GitLabIn this video I'll:- Explain how a basic pipeline works for automating your development work- Create a Gitlab pipeline CI- To automatically create exports for all platforms- This will happen everytime you update your release branch (and you're ready to release a new version of your game)- Talk about how to Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-51922275819649986042019-10-06T19:13:00.001-07:002019-10-26T10:28:20.367-07:00Duck Typing and Interfaces in Gdscript and Kotlin: Advantages and DisadvantagesHey all,I'm sure you've heard the term "Duck Typing" thrown around in regards to Godot's gdscript. In this video I present a simple explanation of what it means and how flexible and powerful it is.I also do a quick comparison to other programming analogous programming concepts such as programming to Interfaces (Kotlin), and the advantages and disadvantage of using each.
Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-89728860889408183872019-09-08T20:54:00.000-07:002019-09-12T08:46:21.465-07:00Godot Tutorial: How to read all files in EVERY sub directory (Breadth/Depth first Search)
Godot Tutorial: How to read all files in EVERY sub directory (Breadth/Depth first Search)
Hey all,
So I was thinking of writing some automated smoke tests in Godot for a project I'm working on and I realized, I don't think I've ever done directory I/O in Godot.
- The tools is so well integrated that I've never really had to mess with it yet.
- I'm willing to bet many of youKyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-81095346976322135432019-09-08T20:40:00.002-07:002019-09-12T08:44:53.372-07:00Programming Tutorial Bits: Kotlin Data Classes
Programming Tutorial Bits: Kotlin Data Classes
https://www.youtube.com/watch?v=Telif4fZtrs
This is a great place to start learning Kotlin if you have even basic Java experience. More videos to come.
In this video we will learn:
How to use data classes in Kotlin.
How to decompile Kotlin code to understand what it provides
What Kotlin improves on from Java Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-63458685076649995552019-08-24T08:46:00.000-07:002019-08-24T09:40:06.759-07:00Creating a Fake Refraction, Bubble Shader for your 2D Godot Game!
Video Version
Asset Creation: https://www.youtube.com/watch?v=udbPym1JjkY&t=192sShaders: https://www.youtube.com/watch?v=-W_2OzjnUl4
OK so you have that cool 2D Bubble Bobble inspired game but you want to add some modern flare? Or maybe you just got some random pixel assets you'd like to experiment with adding fake "refraction" too? I've got you covered!
Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-33898948276984814202014-10-16T22:15:00.000-07:002015-02-02T10:37:23.805-07:00How to use Blender as a Box2D Platformer Level Editor [Tutorial]
Hey guys so you want a level editor but don't want to build one yourself right? Who does? You basically need to create a entire tangential project, with full GUI editor and undo tree etc. Unless that's a goal of yours (selling etc?) you probably want an easier solution.
Well folks, look no further than your good friend Blender 3D. The same tool you use for modeling crazy cartoon knights Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-5797941836251117112014-08-23T18:39:00.003-07:002014-10-16T20:19:55.333-07:00How to render Parallax Background and Foreground Layers Completely in the Shader [Tutorial]EDIT Oct 16 2014: Changed precision to lowp for fragment shader. Consider using this as a default for mobile, unless you really need something better. I saw a 2x speed increase on Kindle by doing so.
Hi all!
Here's a quick little diddy for anyone curious on a quick way to get a layered effect in your 2D game (note: we are still using 3D vertices):
I did a little more progress on HoarderKyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com2tag:blogger.com,1999:blog-4534678275694985108.post-17851080455037421902014-08-17T15:15:00.000-07:002015-02-02T10:37:38.660-07:00How To Set Up Your Game Event Queue (Threaded) [Tutorial]
Hi all,
Finally back with a simple, but hopefully helpful, tutorial for you all to get an working event queue in a threaded environment. In this case I will be using Android C++ and JNI as my playground to demonstrate.
What is an event queue
An event queue is a list of events that has occurred since your last game loop iteration. Possible Events are:
Button presses Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-38211609107037773192014-07-20T23:28:00.000-07:002014-08-17T21:29:58.238-07:00"Hoarder Monkey" Coming soon!
You're a Monkey with a serious collecting problem! Hoarder Monkey is a fresh take on action platformers that melds tilt action rolling movement, with Donkey Kong style action mechanics, with plenty of goofy humor and surprises.
Can you collect all your precious missing junk before time runs out? Beat your friends, impress the ladies... be *that guy*! Forget your 12 Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com1tag:blogger.com,1999:blog-4534678275694985108.post-43236283157660375042013-11-12T22:00:00.000-07:002014-07-20T23:12:47.558-07:00Spell checking on your Git commits with VIM!
Hey all! This is a quick tip for all you guys using git version control, and the command line. Have you wanted to get spell checking into a basic editor but wasn't sure how to get it in vim automatically (but maybe you don't want to enable it in your ~/.vimrc for everything)?
Lucky you, I have an easy solution. To enable spell checking in vim for all your git commits, it's Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com2tag:blogger.com,1999:blog-4534678275694985108.post-28538754601941097672013-04-22T22:14:00.002-07:002014-08-17T09:34:13.690-07:00Want to help me make Text Message Scheduler work for you? Please join the discussion on improvements on Reddit!
http://www.reddit.com/r/Android/comments/1crmno/can_i_get_feedback_on_my_text_message_scheduler/
Thanks Guys!Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-44761611052485986462013-04-13T14:07:00.001-07:002014-08-17T09:34:13.697-07:00
Hey guys, take a peak at my new Text Message Scheduler app (BETA) and let me know what you think.
https://play.google.com/store/apps/details?id=com.razzlegames.textmessagescheduler
"Remind your husband to deposit that check after work! Ask your wife to pick up some eggs after Billy's soccer practice! You won't have to remember, just schedule it with Text Message Scheduler.
Text message Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-73141794476205891372013-02-24T13:45:00.001-07:002014-08-17T09:33:41.894-07:00Arcade Style Physics Monkey Game
Well here's a little progress report on what I am working on. Over the last few months, I have been playing with and learning all the Android quirks, while posting here (as you may see from my previous entries). While doing this I have been active in creating an Android game in my free moments with a pretty simple but fun premise.
Throw projectiles at enemies and kill them
Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com2tag:blogger.com,1999:blog-4534678275694985108.post-52747793276363833582013-01-25T23:52:00.001-07:002014-07-20T23:12:47.560-07:00Tutorial: How to set up Smart Pointers and TR1 C++ in the Android NDK
Optimus prime is a smart pointer. Memory leaks?! He'll straight up kick you in the throat! This isn't Go Bots son!
What's the point
If you have ever coded in C or C++ you know you've had a memory leak some time or another. Ownership semantics are best, but sometimes those are muddy and, most of the time, the benefit of automatically reclaimed pointers far outweighs any costs (they Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com14tag:blogger.com,1999:blog-4534678275694985108.post-35430158355489578272013-01-15T21:30:00.000-07:002014-07-20T23:12:47.556-07:00Emacs/Vim: Jump to errors for Java and C++ on AndroidAny of you guys use vim or emacs to develop Android apps? I sure do. No substitute for a good editor. Only problem is when I am doing NDK code and Java mixed (like so many others who develop games), the editor won't go to the errors in Java code since Ant formats the error output strangely.
Well fear not folks, it is an easy fix. I usually do all my development in a Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com1tag:blogger.com,1999:blog-4534678275694985108.post-24271062971896167902012-05-23T23:12:00.000-07:002014-07-20T23:12:47.553-07:00How to use Makefile wildcards/globbing on Android NDK JNIHere is a short little thing I ran into a few days ago. Many of you may know how a normal Android Makefile looks, something like this:
LOCAL_PATH := $(call my-dir)
MY_PATH := $(LOCAL_PATH)
TARGET_ABI := android-4-armeabi
include $(CLEAR_VARS)
LOCAL_MODULE := libmain
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/Box2DKyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com4tag:blogger.com,1999:blog-4534678275694985108.post-55303536417520681112012-05-19T15:07:00.002-07:002014-07-20T23:12:47.563-07:00Development on Android NDK Tutorial - Gluing C++ Native Code to Java
Too busy to draw this time.. for now here's a picture of an Android Toy
Ok, in this post I am going to talk about how to join C++ native code to a thin Android Java code layer. I am not going to be doing all native code, as I think the easiest route is to use the Android higher level convenience SDK for loading resources/file I/O, setting up OpenGL context and other state Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com21tag:blogger.com,1999:blog-4534678275694985108.post-63532965079182283782012-03-25T15:30:00.004-07:002014-07-20T23:12:47.565-07:00Development on Android NDK using VIM and CGDB
Android representing Vim
Using Vim to program Native Android code (NDK).
You've likely found this page since you're like me, a vim editor advocate that loves the productive features of vim and are getting into Android programming, but maybe you aren't quite sure how to get started. I don't really find much benefit in using IDE's for C/C++ game developmentKyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com4tag:blogger.com,1999:blog-4534678275694985108.post-57415333331408137462011-10-20T21:17:00.000-07:002014-08-17T09:34:33.723-07:00New Concept art: Jack
Possible future 2D sneeky platformer for Android or PSP? After thesis...? Looks ominous, but actually going for a humorous game...
I decided I should start making some fun basic concept sketches for fun when I have ideas. Eh...Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com1tag:blogger.com,1999:blog-4534678275694985108.post-82067948777225901242011-07-30T22:33:00.003-07:002014-08-17T09:34:33.727-07:00Deviant Art PageOk, somewhat off topic, but I made a Deviant Art page recently: http://razzlegames.deviantart.com/
I have to say, this site is pretty nice, and the community is awesome!Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-89277848429418267292011-05-30T01:36:00.000-07:002014-08-17T09:34:13.707-07:00TimeCube 2.0 Beta Release!
Above pic: From Version 1.0, included since I cannot get a good photo from emulator of game play
Why? Cause every old man needs freaking laser eyes
This is my first full game. I have designed all the graphics, composed all the music (LMMS), written the image parsing, etc, while using just the GU and building my own engine from the ground up. Due to this, I may not have as many crazy Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-29482649721756061282011-05-13T22:27:00.000-07:002014-08-17T09:34:13.694-07:00TimeCube the Game Multiplayer is almost here...
Working out the kinks and adding Adoc Multiplayer. Should be all set for the 2011 PSP Genesis Competition.
Will be very competitive, similar to Bust-A-Move.
Adding new Backgrounds
More fun Sounds and effects
Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-91130450794010386572011-04-08T21:27:00.000-07:002014-07-20T23:12:47.570-07:00Improved Makefile For PSP C/C++ Game ProgrammingThis Makefile improves on the one included in the default PSPSDK from ps2dev.org (which always seems to be down by the way?).
Improvements:
Changes in header files cause recompilation of source files (if needed).
You may not realize this, but unless you have a Makefile dependency on each header file that your C/C++ file includes, when that header file changes (and it will, if you wrote it), youKyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0tag:blogger.com,1999:blog-4534678275694985108.post-65361029099333179522011-03-13T15:58:00.000-07:002014-07-20T23:12:47.567-07:00Looking for a portable 3D vector class for your game?
Here's what I have pieced together over the years. Still needs a little clean up. But solid and works great.
// Usage Adding 2 vectors:
Vector3Df v0(1,2,3);
Vector3Df v1(4,5,6);
Vector3D v2;
v2 = v0 + v1;
// Find angle between vectors v0 and v1
float angle = v0.angleInDegree(v1);
// Normalize a vector (to unit length 1)
Vector3Df Kyle Lucehttp://www.blogger.com/profile/02064286719528528074noreply@blogger.com0