The blog of EagleSoft Ltd!
At EagleSoft Labs, I post about the development of my various retro homebrew and video game mods, Indie video game projects, software, and electronics. I also review software, and post about other geeky/nerdy stuff.
The Sonic Hacking Contest 2016 is starting this week, and will be running from this Monday to this Sunday, November 7-13 2016! What is the Sonic Hacking Contest, you ask? For those who don't know, to summarize the event, it's an annual event where various members from the Sonic the Hedgehog ROM hacking communities submit and showcase their Sonic the Hedgehog video game ROM hacks in order to compete for trophies and for publicity. The normal trophies are decided by and selected by a board of judges, while the community trophies are decided by public vote. Full details about this year's contest on the hacking contest website's about page, and at the Contest's SSRG thread.
There are a whopping 54 entries this year for the contest! Come join the fun this week at the contest website, where the hacks will be made publicly available for play on Monday, where there will be streams of this year's ROM hacks, and where other various fun activities will take place during the week! I submitted my own v0.3 demo of Socket the Hedgeduck for this year's contest; we'll see how it does.
After a little more than a month of work, a v0.3 demo build of Socket the Hedgeduck has been released, as both an IPS patch and on the Sega Mega Drive & Genesis Classics Collection on Steam Workshop! You can download the patch or subscribe to the mod page under the "releases" section on the updated project page. Among many other changes, Antiquity Zone and High Speed Zone 5 have been added and a lot of nitpicky polishing and bug fixes were made.
In related news, over last week and last weekend a lot of legitimate Steam Workshop mods for the SMD&GCC were falsely flagged and taken down, Socket the Hedgeduck was one of them. After submitting a Steam Support ticket explaining the situation, I was luckily able to get the illegitimate ban lifted and reinstate the mod. Socket the Hedgeduck has also been submitted to the Sonic Hacking Contest 2016, which will be taking place on November 7th, where it will be privately and publicly judged to compete for some of the Sonic community's hacking trophies! Come join for the live streams and festivities during that week!
Afterbeing cancelled for 2015, SAGE (the Sonic Amateur Games Expo) has arrived for 2016 at their website! (SAGE 2016 info here). It is an annual, online convention where members of the Sonic fan community showcase their Sonic the Hedgehog and other personal indie video game projects for public exposure.
EagleSoft Ltd has submitted both Colonial Combat v1.1 and Sonic CD Breakout Demo #3 as booths. There are also a lot of other fun fangames there for download and play (approximately 54 entries this year), and there will be gameplay streams of the event's booths and many other fun activities during the event (Oct 15-22 2016). If you are bored this week, go play some fun Sonic fan and other indie games, or join the streaming and other festivities this week!
I recently finished most of thedevelopment of High Speed Zone (HSZ) act 5 and acts 1 & 2 of Antiquity Zone (AZ), for Socket the Hedgeduck, a mod ("hack") of Sonic 1 with Socket/Time Dominator levels/assets. A v0.3 demo of the mod will be available as usual as a standalone IPS Patch, as a Steam Workshop item for the Sonic 1 DLC for the Sega MegaDrive & Genesis Classics collection, and also as an entry into the Sonic Hacking Contest 2016 before the contest deadline.
Shown with the development video below are vertical speed booster subtypes for HSZ, a few custom platform subtypes for AZ, a torpedo enemy object for AZ, and other things.
I am looking forward to finishing AZ3, ironing out the bugs, and polishing the hack for a v0.3 demo release (especially for the SHC16) online in October!
As mentioned many months ago in this and that EagleSoft Labs blog post, Demo #3 of Sonic CD Breakout was originally slated to be entered into SAGE 2015 Act 2. SAGE (Sonic Amateur Games Expo) is an annual event hosted by the Sonic Community at Sonic Retro to showcase various community members' Sonic the Hedgehog and non-Sonic the Hedgehog related fan/indie games. Unfortunately, SAGE 2015 act 2, originally slated to be from December 18-24 2015, was postponed to Spring, and then never happened. Fortunately, SAGE is back for 2016, specifically from October 15th through October 22nd, 2016! You can read all about the event's details at Sonic Retro's post.
With the new date/event, Sonic CD Breakout Demo #3 is being resubmitted for the event, and Colonial Combat is being submitted too as booths! These booths should help in bringing in public exposure to EagleSoft Ltd projects (something which, I admit, has always seemed to be lacking here). This is EagleSoft Ltd's first time in participating in some type of Indie game convention (albeit online), and I do plan for more of this type of thing in the future as EagleSoft Ltd grows.
Catch everybody at the event (online) this October! Looking forward to all of the fun fangames that will be there!
A ton of work has been done on Socket the Hedgeduck, a Sonic 1 mod for the Sega Genesis using Socket/Time Dominator levels and assets, since its first v0.1 demo build in April. Mostly bug fixes, new levels, and improvements have been made to the mod since then. A new v0.2 demo is now released on both the website and now on Steam, as a Steam Workshop item for the Sega Mega Drive and Genesis Classics collection for the Sonic 1 DLC. You can download the mod either as a patch or for Steam at the links at the project page, and see the changelog there.
I'm still chipping away at progress on the Socket the HedgeDuck ROM
hack, an advanced Sonic 1 hack with Socket/Time Dominator levels and
assets! Stone Age Zone (SAZ) acts 1 & 2 have recently been worked on, with a few unique object gimmicks created. Bridges in this zone canbe destroyed by pressing buttons, lava geysers fly up from the lava, and OOZ Balls in this zone are destroyable and painful. The acts are mostly working, albeit with a few minor VRAM issues and bugs that need fixed.
Video of SAZ1 & 2
After finishing SAZ3, fixing some bugs in my bug/todo list backlog, and adding some minor game improvements, a demo v0.2 should be available soon this summer! Stay tuned for more progress at SSRG and at the blog.
Progress is still churning along on the Socket the HedgeDuck ROM hack, an advanced Sonic 1 hack with Socket/Time Dominator levels and assets! Recently, I've added a new special stage feature, where Big Rings now take you to normal platforming levels (High Speed Zone acts) instead of stock Sonic 1 special stages. If you complete the level (hit the signpost), you are awarded a Chaos Emerald and shown the SS Results Screen, while if you die in the level, you are just shown the SS Results screen. Both actions will then return you back to the next level in the normal playthrough sequence. Also added are some more animated objects for HSZ, and diagonal springs!
As revealed back during my Birthday Bash, I recently picked up a working Sega Dreamcast, both to play old classics and homebrew and for future homebrew development. Not only that, but I finally received last Wednesday my Dreamcast SD adapter from China! It works very well with my SDHC Card and with DreamShell (although the adapter chassis did receive some damage in transit)! I should have a quick video review of the device once I bootup my Nerdology YouTube show.
Although it will be some time until I tinker around with Dreamcast development (I have too many other ongoing and unfinished software projects I would like to wrap up first), a new Dreamcast section has been added to the website.
It's been about a month since I have worked on "Socket the Hedgeduck", but today I have a short preview of Emerald Forest Zone (EFZ), Acts 1 and 2. Act 1 is a relatively short, simple level, while Act 2 is a maze with some hidden passages. Both have some challenging sections. Also, I am beginning to fix some user bugs and design issues including having better Socket music ports and other bug fixes
Somehow, I managed to survive to age 24 and not die as a hobo (yet). What with a difficult and challenging senior year, I still do not know how I survived college and graduated with a B.S. Software Engineering.
Having earned ~$600 a week before my birthday (~$390 from my shrewd Uncle Sam via a tax return and ~$200 from a bi-weekly paycheck at the job) and having <2 months left until I get hit by my evil, Satanic college bills, I figured I could spend some money to celebrate surviving another year, in the worst-case scenario I do not find a real programming job by then, default on my loans, and end up as a financially broke hobo. Last year, I ordered an EDMD for my Sega Genesis and its add-ons, in order to play old games and test homebrew software I write. What did I purchase this year?
This year, I ordered the following for my birthday:
NIB M-Audio 1x1 USB MIDI interface
Sonic the Hedgehog T-Shirt (on sale at JCPenny)
Sega Dreamcast!!
DC-SD Dongle! (Arriving soon)
1st-party controller
1st-party VMU
RCA AV-Out
Power Cord
NBA 2k2
Crazy Taxi
One thing I am bad at when making video games is creating my own music. I have no experience with playing a piano, and am planning on soon learning how to, in order to compose original music. Originally for my birthday, I was planning on finally retrofitting an old Yamaha Portasound PSS-470 piano I picked up for a bargain $10 at a garage sale during summer 2012 with MIDI capabilities, by installing a UMR2 kit from Highly Liquid. According to a thread on the HL support forums, somebody was able to install the kit successfully into the PSS-470. The PSS-470 is an older, but cool Yamaha piano that uses a YM3812 chip (same one used in old SoundBlaster ISA cards) for FM synthesis. The chip supports 9 FM voices and uses 2 operators for the FM synthesis (OPL2).
(The 8-Bit Guy discusses about the PSS-470
and similar "SoundBlaster keyboards")
Once installed, through MIDI, the UMR2 Kit gives certain keyboards the ability to be used to compose music on a computer (by sending MIDI Note On events to composition software on a computer), and to be used as a sound module. As a sound module, a PC can send MIDI events to the keyboard to make the keyboard play music automatically. Due to how the UMR2 works (by sending signals to simulate a keypress), to my knowledge, as a sound module, the PSS-470 would only be able to use one individual voice in serial at a time for up to 9 duplicate MIDI Note On events. I was hoping to eventually hack the UMR2 or find an alternative method to feed raw data to the YM3812 chip to use it like a SoundBlaster chip as a sound module, by playing several different voices at the same time (for fun).
To prepare for a UMR2 retrofit and to interface MIDI to my laptop, I found and ordered on eBay a M-Audio 1x1 MIDISport USB MIDI Interface. Luckily enough, not only did I find my particular unit to be the cheapest available on eBay at the time ($25), but the seller was selling these in large quantity, NIB, so of course I took advantage of the opportunity! From online reviews, it is a well-made USB2MIDI interface, which, compared to those cheap, shady, Chinese USB2MIDI interfaces that plague eBay, has low MIDI latency and is reliable. As the name suggest, the M-Audio 1x1 MIDISport has 1 MIDI IN and 1 MIDI out port. Unfortunately, by the time I was going to order MIDI cables, a UMR2 kit, and male MIDI jacks to install onto the UMR2, the only online wholesaler who was selling the UMR2 at this time sold out. Due to this, I plan on doing the retrofit (and if necessary, hacking the retrofit to play 9 different voices at once) at a later time.
Cheap, shady, Chinese USB2MIDI cable
(with high latency)
With the UMR2 being unavailable and not knowing if/when supplies would be restocked, I decided instead to purchase a few other things. I found a Sonic the Hedgehog T-Shirt on sale for $12 to wear, since I am such a Sega nerd.
Speaking about Sega nerdness, I finally decided to take a trip to the local video game store and purchase... a Sega Dreamcast, with power cord and RCA Out, a 1st-party controller and VMU, and copy of NBA2k2 and Crazy Taxi!! The NBA2k2 copy came free with the console, with Crazy Taxi half off ($5). Everything cost $70, which although is a bit high for the console, due to the store being brick and mortar, at least allowed me to test the system and accessories in person instead of taking the word of a seller on eBay. The controller and VMU are in working condition, the system is in rather good condition, and this Dreamcast unit is alive and still thinking.
According to the sticker on the bottom, this unit was manufactured on December 1999 (probably a happy child's Christmas gift) and is a revision 1 model, which means the hardware does not have protection against the MIL-CD exploit. This exploit allows one to run software using properly formatted CD-Rs instead of proprietary, obsolete GD-R/GD-ROMs. I also have a DC-SD adapter (promo price of $15) coming in the mail soon. This unit allows one to run DC software (such as homebrew) through the serial port on the DC's back through SD cards. Although there are plenty of better, alternative ways to run software on the DC without original GD-ROM discs (bootable CD-Rs via the MIL-CD exploit, hard-to-find and expensive GD-EMU and shady USB-GDROM, and even an HDD hack for the daring), I ordered a DC-SD adapter because it was cheap, could be used to quickly play software (although compatibility problems do exist), and could be used to quickly debug future homebrew I create on real hardware without burning a ton of CD-Rs. (DC Emulation is getting better these days, but not 100% accurate yet). It will be used to test/play homebrew (because I don't promote piracy).
Overall, I had a good birthday, and am really looking forward to learning about homebrew development on the Sega Dreamcast!
After about 4 months of semi-sporadic development, a v0.1 Demo release of "Socket the Hedgeduck", (a ROM modification that is an unofficial port of Socket/Time Dominator
assets (music, level layouts, art, objects, and more) to the Sonic the
Hedgehog Engine) has been released! You can learn more about the modification, as well as download an IPS patch (with instructions), at the project page.
For demo release v0.1, the following levels are implemented:
TrCZ 1-3
OCZ 1-3 (and "4"/HSZ3)
BZL 1-3
BZF 1-2
BZC 1-3
BZLa 1-3
Level Select is enabled by default, due to the first zone not yet worked on yet. Music to be improved with better ports in the next demo release.
Behind the scenes, a lot of work has gone into Socket the Hedgeduck since the blog announcement of the project and since the previous progress post. Most of these changes were adding additional SMPS conversions of video game songs, improving collision for TrCZ, DPCM compressing all DAC samples for the MegaPCM sound driver, various bug fixes, and other technical stuff. Most importantly, I've recently finished the Bonus Zone Lava (BZLa) acts, finally added a BG layer and palette cycling to OCZ, and added all of the zones to a 3-page level select. In the BZLa acts, you must hit the springs and invisible path swapper objects to traverse to the top of the sprial staircase, before the deadly lava-water rises and defeats you!
Videos and pics below
With BZLa created, all that is left is to fix a few big bug,
and a Demo #1 release of Socket the Hedgeduck should be released VERY soon!
Although last year was a very productive year for EagleSoft Ltd, to the casual passerby to EagleSoft social media, it would appear that our development on software is going slow this beginning of the new 2016 year. However, nothing could be further from the truth; there is usually something going on behind the scenes at the software engineering laboratory!
Colonial Combat progress:
Although I graduated from the university in December, work on Colonial Combat is still ongoing. The fighting engine is mostly finalized and coded, and I'm patiently waiting on the pixel artist to finish drawing up the remaining levels and more character art so that I can import the level art, design the levels, rig the other characters, and code in other level objects and gimmicks as necessary for the object handler script. (Drawing both art pieces for the artist are very time consuming, due to the art being original pixel art. Fun fact: each character has 115 sprite frames. 115 sprite frames * 13 characters = 1,495 total sprite frames for all characters. That's a lot of sprites for our artist to draw!)
NEW Project "Socket the Hedgeduck":
In the meantime while waiting for the art to be created for Colonial Combat, I privately began work in December 2015 on a new side-project for fun and as a programming challenge: "Socket the Hedgeduck"! It's a modification (or in technical terms for the retro-technically inclined, a "ROM hack") of Sonic the Hedgehog (16-bit), which is an advanced hack which serves to be an unofficial port of Socket/Time Dominator assets (music, level layouts, art, objects, and more) to the
Sonic the Hedgehog Engine. It's my first Genesis game modification since 2012, when I went on hiatus from game modification in order to focus on my university studies. It feels great again to be tinkering around with Genesis hardware, the Sonic the Hedgehog engine, and with Motorola 68k assembly programming, especially now having more formal knowledge on computer internals via a Computer Architecture class. Full details about the hack (including pictures and videos) available at the project page. Development is going full-steam ahead on this side project, and I hope to have a demo build sometime soon in Spring (released via a patch file, no concrete date on this).
As mentioned in a previous post last year, we created a new mobile app called "The Equator" which was a PoC app project for a graded Distributed Systems university project. The app fetched engineering equations, their names, and picture links of the equations from an online database. It was a very difficult to develop app, due to the original source code (an unfinished project from a another team) originally being written within the restrictions of MIT App Inventor 2. Although the project was completed for the DS Class, it was quite hackly-built, having to cache the online database via an ugly, offline pseudo-database of key-value pairs in order to store the database.
Unfortunately, the online "database" (which was actually a list of TinyWebDB list of tag-value pairs online) was hosted by Google Cloud Compute. This service is free to new users for a certain trial period, and then requires a subscription fee to use afterwards. Due to this app just being a PoC (and not being a very well written app, due to the restrictions of MIT App Inventor), and having to require a subscription fee to continue hosting the database, we are choosing not to continue this project further. Google deletes databases for those who wish not to pursue hosting a database after the trial period. The source code archive (which is meant for educational purposes) on The Equator page will be updated within the next few days with instructions and the software to replicate the server elsewhere, as well as the database contents.