Ok, this is a really important phase of development for me because this is usually where everything starts to crumble. I’m working on the battle system next since that’s the meat and potatoes of the whole thing. Honestly, I was working on the tilemap stuff as a way to put this off, but now there’s really nothing left to do here. I spent maybe an hour or two just jotting down ideas and reading some tutorials for ways to go about developing this system. This battle system is actually a bare bones version of the system I had for Mystic G, so I was more so gutting an idea that I already had. After awhile I had some pretty neatly organized notes.
After a certain time, I realized I was procrastinating again so I said enough and just got to work. At my job, I have to write a lot of quick and ugly code to meet the demands of my boss and the clients. It has put me in a situation where a complex task is daunting because I don’t want to end up with horrific code…I seriously do that enough at work. With that being said, I had to realize this was my project and I have complete control of it. I jumped right in and started making classes as I imagine how the whole system would work out.
Needless to say, I was still lost, but I just kept visualizing how the flow over everything is supposed to work. I started working on the battle scene, giving me another excuse to use Tiled. I didn’t stay in there too long and came up with something really simple. Once that was in place I kind of slipped back into my procrastination. Developing this battle system has been very intimidating, but most of these days I’ve had to just force myself into it. Once I got into the groove I came up with an enemy spawner that would decide whether to throw the player into a battle. If it decides you are going to battle, it would pit you up against a group of up to four enemies that were randomly selected out of a pool of available enemies.
Unfortunately, I lost more time due to procrastination and exhaustion, but I made up for lost time and started to hook up the battle manager and the game manager. I started with the escape button because I figured it would be the easiest to do. I wanted to make sure that if the player made a successful escape they would end up back on the same map at the same position. This also gave me a chance to play around with Unity’s new scene management, which I haven’t had much chance to use other than simply going to another scene. In about an hour in a half, I was able to go into battle and escape right to where I was in true RPG fashion.
Honestly, I spent most of this week fighting with myself, my fears, and my failures. This time I lost the fight, but my progress shows I will not lose the war. By that I mean I could have worked on Tiny Mystic more, but it’s better than not working on it at all. The next step from here is giving all the combatants some options to fight. As it stands now they kind of just stand there looking at each other and that’s no fun. I hope by the time you see the next devlog the battle system will have a bit more flair! Well back to the grind! See you for the next devlog!
Time for another Tiny Mystic devlog! So I decided to look into using Tiled and Tiled2Unity for making my scenes in Tiny Mystic. I found a nice little tileset on OpenGameArt and just got to work. After about an hour or so I had a nice little map.
It wasn’t too fancy, but I could see it had potential. It wasn’t long before I realized how relaxing working on these tilemaps would be. After another hour or two, I had a pretty decent map. I wanted to see how it looked with my little character running around that I setup up the other day, so I used Tiled2Unity to import the tilemap. The process was pretty seamless and in a couple of minutes, the tilemap was in my scene. After setting up my camera, my guy was off exploring the land…
Unfortunately, my little dude thinks he’s Jesus or something. He was walking on water and on top of the void. It’s madness! This brings me to my least favorite part of making tilemaps…Working on the collisions. I had to go through all the relevant tiles and give them collision properties which Tiled2Unity would use when importing them. It actually wasn’t so bad and it didn’t take nearly as long as I thought. It definitely adds some ‘dimension’ to everything.
After about a day or two I had a pretty sweet map and I used it to play around with the camera. I didn’t spend too much time with it, but I think I have a pretty good idea how I want to do my tilemaps and handle the camera. Below is the map I ended up with and I am fine enough with it to move on. I’m moving on to the next phase of the operation and I can’t wait to share it with you all in the next devlog. Until then have a nice day and never give in.
You’ve probably heard me talk about Mystic G a lot and it’s a project that I have been working on for years now. I have been working hard to get the project off the ground, but I’ve realized I may not have the experience to attempt such a large project. After some thought, I’ve decided that it’s best to scale down and try my hand at a smaller project. Until this project is done all my other projects are on hold and this includes my non-game projects. I also won’t be participating in any game jams until this project is released. This project is Tiny Mystic!
I am committing to one devlog a week, but it is my hope that I can do them daily. This devlog was to announce my decision and give myself some accountability, but I have a little to share with you. Tiny Mystic will be an RPG using a similar battle system to the one I had planned for Mystic G. In fact, it’s called Tiny Mystic because I’ve decided to take a lot of elements from Mystic G and apply it here. I’ve been working on Mystic G’s lore for some time now so it only makes sense to reuse some of that material. Day one has mostly been me planning on paper and making sure I keep the scope small.
Now as much as I want to be, I am not an artist. With that being said I will be using the ‘Tiny, Tiny, Heroes’ assets from Kacper Woźniak for the characters (the other reason this is called Tiny Mystic). I’ve always liked the assets and thought this would be a good excuse to use them. I am still looking around for asset packs to use for everything else, but with the resources available I shouldn’t have a problem with that. On the other hand, I haven’t come up with a plan for the audio, but I think that is something I will tackle when the time comes.
Today is just day one, but it is my hope that these days won’t rack up. By next week I hope to have some a bit more concrete to show you all and by the end of the month, I’d like the battle system to be coded. The idea is not to move fast, but to gain the experience I need to advance. With that being said, have a wonderful day and I hope you come back to check my progress.
It has been nearly two months since my last post and I apologize for that, but I can assure you that I have been doing some pretty neat stuff. Ludum Dare 39 is this coming Friday so before it begins I want to share some of the things I have been working on with you all. If you remember back in March I was working on an Android app that would allow users to chat with each other while watching youtube videos. I wrote a post mortem after working on the idea for a bit, but after some time I decided to pick up the project to see how I could improve it. My goal was to get it at a state where I’d feel comfortable putting it on the Play Store, but after some unforeseen issues that won’t be happening at the moment. However, you can download the apk on this page and sideload it.
When you install Miru Chat it will ask you for a username. This will be whatever you want to show up as your name in the chat. You can also click on the checkbox to have it remember your name when you open the app again, otherwise, it will ask you for your name again.
Once you’ve selected your name you can either host a chat room or join one.
Hosting a Chat Room
To host a room, you must name your room in the top field and enter a youtube id in the bottom field. (i.e. ‘BpCarkGGoxI’ would be the youtube id if the link to the video was ‘https://www.youtube.com/watch?v=BpCarkGGoxI’).
Once you are in the chat room you’ll need to invite other users by tapping the ‘Invite Users’ option in the menu on the top right.
This will open a dialog. You will need to enter the name of the user you wish to invite. This will need to be the name that said user made in the above section. If successful, you’ll be able to share the room id to said user.
Joining a Chat Room
If you are joining a room you’ll just need the room id from the host. Once you enter that into the top field you should be able to get into the room. That’s it for someone joining.
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!
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).
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.