That last devlog was pretty intense! We went over the last two months and where I currently was with Tiny Mystic which was fooling around with the stats and battle mechanics. Unfortunately, we aren’t here to talk about that but rather my adventures learning Lua programming language and using LÖVE. I know what you’re thinking and I am still using Unity3D for Tiny Mystic. This might be a little confusing and I can’t go into all the details yet, but this has much to do with Tiny Mystic. Don’t dwell too much on it and enjoy my small journey into Lua and LÖVE!
When I came up with my grand mysterious scheme, I decided that this would be a good time to learn Lua. I’ve always thought it was a cool scripting language, but I think the greatest thing about it is how easy it was to learn. Since I decided to use Lua I thought it would be nice to use the LÖVE game engine. I found a nice awesome list for LÖVE which led me to this even more awesome tutorial from the people of Sheepolution. In a matter of hours, I was already writing Lua code and working in LÖVE.
My text editor of choice is Atom since it is an application I am familiar with. Luckily there were plugins available that made writing Lua code in Atom a breeze such as a linter and LÖVE/Lua autocomplete. The most helpful plugin was LÖVE-IDE which provided a good bit of functionality. I wanted to try other editors for Lua, but I knew I didn’t have time to try a bunch of programs. Ultimately I felt Atom was good enough for the job and it didn’t disappoint.
I know this devlog is a bit different then what we’re used to, but as I said in the recap I want to start shaking things up. I know there wasn’t much about Tiny Mystic this time and I apologize for that. All this Lua and LÖVE stuff is definitely relevant to what’s going on with Tiny Mystic. The next devlog will open some insight as to what that relevance might be and I can assure you it will be something that we all can enjoy. See you really soon for the next devlog!
It has been about two weeks since my Cards of Magi AE announcement and things are still going swimmingly. I hope you all aren’t getting too anxious to duke it out with a deck and die, but if you are I might have a pretty good remedy. There are plenty of great games to play using Pico-8! It’s a wonderful fantasy console that is also its own devkit. You can use it to make games or use the built-in utility to download other games. I thought it would be kinda nice to be able to play these games on my Android so I decided to make an app that did just that. I introduce to you Super Pico Player.
Super Pico Player will take an HTML5 export of a Pico-8 game and load it into a nice little webview with all the buttons provided. It’s in its early stages but as of now it can play a pre-loaded copy of Pico Racer and load carts in your external storage. The HTML file that is generated by Pico-8 might need some modifications to fit and work properly with Super Pico Player. The information on setup can be found on the Google Play page for the beta edition of this app. That’s right! You can try Super Pico Player right now on your Android device. This started as a quick and fun project, but I would love to work on this more so be sure to tell me how you like it.
Another Ludum Dare has come and gone and as always I am a better person for it. I can tell that I have learned a lot since my last Ludum Dare and it feels great, however, Ludum Dare 38 was probably the most difficult one for me. There was nearly a point where I thought all was lost and that I’d never finished, but I wasn’t about to have that on my record. I will now go through my three days during the event, what went wrong, and what went right.
Ludum Dare starts Friday at 8 pm in my timezone and that’s two hours after I get off work. Needless to say, I was a bit tired from the goings of my day job so I decided that I would spend the night brainstorming. I actually didn’t get the theme til about 10 pm because my fiance wasn’t home and we do this big hoorah together. Once she got home we popped in a couple of movies, I took out my notebook, and let the brainstorming commence. The theme of ‘A Small World’ was not my favorite and it showed. I eventually came up with this joke idea where you’d play a samurai who must travel the world and defeat other samurais except the world was ‘small’ and you could basically find all the samurais in mere seconds. I couldn’t think of much else so I decided to go with it.
I woke up sometime in the afternoon on Saturday and got right to it. I decided prior to the jam I would try out a platforming framework. This was a very bad move as I assumed the framework would save me some time, but the time I would have saved was spent learning how to actually use the thing properly. I had made an assumption that it would be easier to use. By the time Sunday came around I was able to cobble together the player character and his weapons. I decided that the player samurai would serve as a template for the enemy samurai where I would just hook up their AI accordingly. Once that was done all I had to do was the UI and the levels which was how I planned to spend Monday…but I was presented with a problem. The framework’s enemy AI scripts were very limiting and it wasn’t gonna allow for what I was going for. I hit a dead end and was seriously worried that this might be the first Ludum Dare I failed to finish since 2014.
It was Monday at around 1 am when I realized that my plan was a failure and I had nothing with less than 24 hours left to go. I refused to allow myself to not finish a Ludum Dare so my only recourse was to think of another game that could be completed in the time remaining. Who was I kidding though? I could barely think up an idea in the first place and I never liked the original idea to begin with which is probably why it fell flat. It wasn’t until 4 am that I came up with an idea of ‘worlds’ battling over space in the universe. I imagine it as the “worlds” being represented by tokens and they would knock each other off a platform. It was a solid idea and all I needed to know was if I could finish it with the time I had left. I wrote down my plans and exactly what I needed for this to work. At this point I was exhausted and rest was needed, but I would have to get up and hit it hard.
Situations like this is why I always take the last day of Ludum Dare off work. I try to finish on Sunday so I have a day to rest to avoid burning myself out since I develop full time and it’s never a good idea to follow up Ludum Dare with more development, but I didn’t have that luxury this time around. I got Monday around noon and hit the ground running. I literally laid out my game plan for what would soon be World Masters before I went to sleep so I all I had to do was follow it. I finished World Master in about five hours with three hours to spare. With all the odds against me I pulled together one of my best Ludum Dare games. Not much went right here and almost everything went wrong but I learned a valuable lesson to always give it my all and never fold!
[Disclaimer: This post comes from a blog I maintained before this one. I tried to clean up the grammar and spelling, while also keeping the original post in tact]
With the seventh generation coming soon, I figure it would fun to play through all the main series Pokemon games. My girlfriend is also joining me on this adventure through the legacy that is the Pokemon series. While I take a nice trip down memory lane, my girlfriend will provide fresh eyes into the twenty-year-old series. We just completed the first generation and while I plan on sharing our experience with you all that’s not exactly why I’m here.
Going into generation two, I thought it would be fun to put our game winning teams from our generation one games into our generation two games. I must admit, the only reason I even considered this is because I thought there would be tools available to make it a simple process. Unfortunately, this was not the case with the generation two games, but I decided to spend my weekend attempting to add my winning team from Pokemon Red into my girlfriend’s Pokemon Silver game.
I spent nearly all of Friday looking up available documentation and tools. As stated previously, I incorrectly assumed that there would be tools that would magically do all the work I needed to do. I soon realized that not only would I have to do some hex editing, but I would also have to do some research into scripting. While hex editing isn’t new to me, scripting is something I had never tried before, but I really wanted to see this hack through. This is the boring part of learning…researching and understanding. I believe I fell asleep watching some video tutorials, but by the time I got up on Saturday I was ready to put my likeness into Pokemon Silver.
Most of my work early Saturday consisted of me pulling together all the knowledge I had gained the day before. I wanted to be sure I understood what I needed to do in order to make my hack successful or to see if it was in a reasonable scope. With the help of a mapping program called JohtoMap, I was able to easily look up the hex addresses where any event on the map was. I targeted Youngster Mikey on Route 30 for my hacking purposes and it took me nearly all day to understand how his code was pieced together. Fortunately, there was a nice guide that explained how trainer battles were put together and after learning some preliminary stuff, I was on my way to manipulating little Mikey to become me.
By the time the sun came up on Sunday morning, you could fight “POKeMON PROF. ASIX”. Using this tool I found, I’d inserted myself into an unused trainer group for “POKeMON PROF.” where I assumed data was to go for a fight with Professor Oak. After that, I taught myself how to find free space within a rom to write my own text for the game and have my new trainer battle use it. At this point, I had this custom battle where you would fight me under the disguise of Professor Oak, but that wasn’t enough. More text editing allowed me to change the “POKeMON PROF.” text to “GAME DEV. “ and I also injected my own trainer sprite into the game. In my final product on Route 30 by Mr.Pokemon’s House, you can cut down a tree to reach a battle with “GAME DEV. ASIX” using my winning team in my recent Pokemon Red playthrough (movesets the same as well).
The hack is meant for my girlfriend, but when I get a chance I’d love to re-edit it so that all may enjoy the adventure I had in learning how to hack the generation two Pokemon games. The only thing I didn’t get to do is changing the music for my battle without changing the music for every other trainer. Achieving this, as I understand it, would require assembly and that’s a whole can of worms that cannot be opened on a weekend. Thank you for reading and I hoped you enjoyed the subject of discussion. My post on my experience playing the first generation for the first time in 20 years ago along with my girlfriend who’s never experienced any Pokemon game will be coming soon.
Got another timelapse of me push pixel. This is an old one I’m finally getting around to posting. This was the Hyper Light Drifter pixel dailies from a few weeks back. This time I got music from an another good friend, Lyte!
Also please be sure to check out the Pixel Dailies Widget! It’s a good and quick way to check the Pixel Dailies theme on your Android device.
Here is a timelapse of the Nerds creature from the candy. It’s about 30 minutes worth of pixel arting condensed into 2 minutes. This video also features music from my homie Sir Hop and it’s icing to the cake that is this video. With all that said enjoy!