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.
About two months ago I entered a competition in which I had to create a table top RPG in 200 words or less. This lead me to create a card game that I’ve named Cards of Magi and it’s played using a twelve-sided die known as a D12 and a Joker-less deck of cards. My fiance and I play it occasionally and we have a pretty good time. My wonderful fiance got me thinking that maybe this is a pretty decent card game and I started to expand it beyond the original 200-word version. It’s not perfect but I think it is a fun game especially to pass the time. To play this game in the original format or the expanded one is simple. Most people have a full deck of cards and you can use an app for the D12, but I’d like to present another option. It is my great pleasure to present to you Cards of Magi Asentrix Edition!
Cards of Magi AE will be available to purchase for Windows & Android hopefully sometime in August. There will also be a free version available on this website to try out and I will attempt to support Linux in the future. You can also choose to support me via my recently launched Patreon page! One of the perks of pledging $5 is getting access to alpha builds, but more importantly, I am shooting to support development on iOS/Mac devices. It took me three years of hard work to get to my first commercial release and I couldn’t be happier. Be sure to check back here for more news and announcements regarding Cards of Magi AE! The rules for the original and expanded version of the game can be found on the Gameology page so feel free to practice the game before hand.
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!
It’s been awhile since my last post and I apologize for that. I have been extremely between work and my personal life and it doesn’t seem to be slowing down anytime soon. I will try to be a bit better with updating the site which is why I am typing this right now!!! You may remember a post or two about Mystic G, a fairly big I’ve been working on for about five or so years. I believe the first post was about the battle system I was working on while the second was about the wikia I had. This third post is to alert of the new database I have been working on which will soon replace the wikia. It’s not much right now, but I try to add to it daily. It’s a lot easier to maintain than the wiki and I can work on it from almost any of my devices. It’s pretty awesome! Go check it out and tell me how you like it!
First I want to apologize for the website being down. Forgot to renew after my trial period for the new server. Anyway, the site is back up and I got some goodies! Since the website has been down, I have been working on the 200 Word RPG Challenge in which you are instructed to design a tabletop game under 200 words. I thought it might be fun since I have been really focusing on my craft as a game designer. The game I created is called Cards ofMagi and it’s loosely based off Mystic G! MY fiance and I have been playing it a lot and we think it’s fun. She actually has been more excited to play than me. Hopefully, all of you out there will feel the same. I’ve decided to flesh out the rules and if you want to see the updated rules you can do so.
Now the real reason I am here is to announce that I have completed yet another Ludum Dare. For Ludum Dare 38 the theme was “A Small World” and this was probably my hardest Ludum Dare since the first once I completed. I am in the process of writing the post mortem for it, but you can play World Master at my Ludum Dare page. The menus and related pages should be updated with these new games links soon. Hope you enjoy my games and there is more to come.
Wow! It’s been awhile…I didn’t expect Ludum Dare 33 to take me where it has taken me the last month. This post was private and could only be accessed via a link I gave out before the event. Now that #LDJAM is over and the judging has ended I have made this post public for all to view!
I also intended to announce a beta for the Android edition of Hunter Spade, my entry for Ludum Dare 33, but I have encountered some last minute issues. Preparing for Hunter Spade’s beta is the main reason for the lack of posts this past month. While I may not be doing an open beta for awhile I do have slots for my closed beta squad. If you’d like to participate, own an android device, and have access to the play store then send me an email (Asixtrigger@gmail.com) for more info. (or you could pledge $5 to my Patreon and have access to all my game builds fo life son! :D)
Below you can view all my developmental logs and my post mortem from the event. There is also a link to the Ludum Dare Edition of Hunter Spade. I have also listed all assets used (if I forgot to list an asset please let me know via email: Asixtrigger@gmail.com).
Hello, everyone! Hope you’ve been enjoying the website. It’s definitely fun running it and I still have a long way to go before it’s exactly where I want it to be. This post, however, is to make you aware of the Mystic G Wikia. Mystic G is a project that I have been working on for some years (I’d say I first conceived the idea in 2013) and I’m getting closer to moving forward with it. The Wikia serves as a place for me to share my ideas on the subject and I wanted to make sure everyone was aware of it. I will be giving more details on Mystic G at a later date, but for now, all the information on it can be found at the Wikia. Click the link below or access the wikia from the top menu.
I am now hosting two games that basically are the starting points of my game development Journey. You can now play the IndieQuilt 2nd place winner, Force Defender, and my first successful Ludum Dare entry, Monster Buster. Both can be played here directly on this website and I am glad to be sharing them with you. I will be trying to add more games to this site for you to play and/or download! Stay tuned and enjoy!
[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.
So jumping straight into, Google made an app where you could, to my understanding, watch Youtube videos while you chat with your friends…but this app is only on iOS. I don’t know the reason, but my co-worker who informed me of this said it was because they couldn’t figure it out. Whatever the case, I decided that designing an app in which you could watch youtube videos with people in a chatroom should be a fairly easy thing to cobble together. I have to admit…I’m surprised I have gotten as far as I have. I really didn’t think it was as easy as I thought.This is a quick little write up about Miru Chat, the app where you chat and watch!
Plan of attack
The moment I decided I was going to make this app I had to see what there was to work with. I figured there were enough libraries out there to achieve my goal. I correctly guessed that an API/Library should exist to handle the chatting aspect. I quickly found a service called SendBird that had a decent enough free/trial edition for me to get my idea off the ground. Now I just needed to figure out how to play videos and sync them across multiple devices. I spent around thirty minutes to an hour trying to see if there was something out there and with no success. At this point, I had to jump into problem-solving mode and I figured if I found some way to have the host pass information to a server that the clients could connect to and receive the information from then I could just control the YouTube player provided by Google’s API. In my search, I came across a service called PubNub that does just that! Now that all my tools were assembled I could get to work!
Getting to Work
I decided from the jump that I should probably set up the chat room. For something of this caliber, I knew the chat would work separately from the synced youtube player so I decided to get the chatting out the way. SendBird was a bit complicated to use, but it’s well documented and that’s what counts when you have an SDK. After scanning their documentation I cobbled together a quick little login menu. In the login menu, you’d pick whether you want to host or join a room. If you were hosting you’d have to give a username, room name, and a youtube link that you wished to have played and the clients would enter the room name they wished to join and their username. It took me awhile to get used to SendBird’s way of doing things, but in about eight hours I had a functioning chat room.
With the chat room functionality out the way, I quickly implemented the code for the Youtube player. I have experience with the library so it didn’t take much to get it all hooked up like I wanted. The chat room interface was simple. One the top would be the video player and the bottom would be the chat and with all that, in place, all I needed to do was sync the youtube video. While I still can’t exactly explain what PubNub does, it speaks volumes to how easy it is to use. I set up the host to push out updates on the status of the video and the clients subscribe to a channel to get these updates. When a client receives an update it would read the resulting JSON and perform a necessary task to sync the video with the host. If the video of the client is more than 10 seconds behind or ahead, the client would resync the video. The host is also able to pause and play the video which would do the same to any clients connected. It was very cool to finally see it all in action.
Where to go from here
This entire project started simply because I wanted to know what would go into making an app that in essence did the same thing as Google’s Uptime. I thought the idea was fun enough to try and duplicate one my own, in a sense. I definitely don’t have the time or money require to take this to the next level, but I really want to clean up this concept I have here. Here’s a list of things left to do with the project if I decide to continue:
Giving the host the ability to select the youtube video to watch and change it at will.
Allow clients to set the sync time
Clean up my SendBird implementation
Design a better chat room
Allow the host powers to be given to any one client
This project was really fun and I am glad my coworker gave me the heads up. A lot has been going on and this project was just what I needed to get my designer and developer blood boiling again. I have been working hard to get Hunter Spade Redux in tip top form and it can be tiring. It’s good to take a break and work on something totally frivolous sometimes. Thank you for reading my post mortem on my Miru Chat project. I hope you enjoyed and if you have any questions please do not hesitate to get in touch.