Merry Christmas/New Year 2020!

Merry Christmas/New Year 2020!


   Hope everyone has a very Merry Christmas for 2019 and good New Year 2020! At the end of the year, a new decade begins.

The Year in Review
      Although I did not get as much done as I wanted with EagleSoft Ltd this year (underemployed most of the year while finding another gamedev gig), I did manage to begin and finish a few new projects this year, and blog about a few misc. things.

Gamedev/mods:
  • Released Hover Pack late 2018 as a Mario Kart Wii custom battle course pack
  • Updated Thwimp to v1.1
    • Thwimp is a Mario Kart Wii modding utility, for creating custom Nintendo THP videos for menus and such 
  • Finally finished Future Zone and Time Castle Zone for Socket the Hedgeduck Sonic 1 game mod
  • Restarted work on my own Unity3D/C# commercial Indie video game, StarEagle: Defenders of the Galaxy
  • *Began work on a Knuckles' Chaotix game mod called Knuckles Clackers for the almighty Sega 32x
    • Began updating my ancient KC SonED2 ObjDef files from wayback
    • Created the first set of original music for the SMPS32x sound driver (4-channel software PWM support)!
    • Added additional features for KC ROMulan support
      • Sound Driver extraction/injection
      • AAZ Lit palettes
      • Sound Test/Level Select string editing
Misc:
  • Hacked my own Netgear WNR2000v4 router
  • Picked up a rare Sega Model 1 Virtua Fighter Arcade board
    • Began blogging about my attempts of repairs and assembling of a complete machine from scratch
    • Multi-part blog mini-series
  • *Picked up a rare 68030 NeXTCube Computer
    • With monochrome MegaPixel display
    • With restorations coming up in another multi-part blog mini-series
  • Updated my DreamPi NOOBS Compatible image to v1.7 DLE
  • Created a DIY Industrial Strength LVI for DreamPi
More Misc:
  • Basically stuff that was posted on EagleSoft Ltd Facebook Group, due to it not being big enough to warrant their own blog posts
  • Began early work on another custom Mario Kart Wii racetrack
    • Port of Lego Island Speedway, from Lego Island)
  • Dabbled with modding Star Wars Battlefront 2
    • The glorious OG 2005 Pandemic game, not the SW Sequel trilogy EA/Disney garbage
    • An import test of Hover Maze 1
 *=Blog post drafts I'm working on and hope to squeeze into 2019 before New Years Day.



What's next (year)?

Overall, for next year, I'm hoping to continue to do the following

Game Dev:
  • Continue work and research into Knuckles Chaotix for Knuckles Clackers game mod
  • Continue work on StarEagle: Defenders of the Galaxy (Unity3D/C# Indie game)
  • Polish up and finish Socket the Hedgeduck Sonic 1 game mod?
  • Work on new Mario Kart Wii tracks (such as finish up Lego Island 1 Speedway)
  • Star Wars Battlefront 2 modding?
Misc:
  • Loose weight, get healthier and active!
  • Finish up assembling/repairs of my Sega Model 1 Virtua Fighter arcade machine
  • Finish up restoring the NeXTCube computer
  • Electronics kits
    • Finish up my Sony Super Multi (X) kits!
      • Remember that old project from almost 2 summers ago?
      • Well, have been holding off on that until I get a stable job back in gamedev, for steady income, in case I need to spin a few iterative protoypes
      • Just need to fix the layout footprints for components
        • Original footprints for both models were wrong size for components ordered
        • Probably will just assemble a dummy PCB
          • With different footprints online for each component
          • So I can see which footprints are correct for some of the parts from the BOM without wasting too much money
            • Respinning the board
            • Guessing-and-checking until valid footprints are found
        • Then update the boards with the valid footprints
          • Test and verify PCBs work
      • Respin board layout for X model with new Bus Switcher ICs
        • Previous Bus Switcher IC became obsolete
          • Replaced with same chip
          • But has more bus I/O channels
        • Fully test the design
      • Sell them online at my own webstore (as bare or pre-assembled kits)!
    • Sega JST I/O Interface Box (S-JIF)
      • 2P+ I/O Interface Box for Sega Model 1 or similar arcade machines (IDC26 ports)
      • Prototype design on breadboard, test it
      • Fabricate current Eagle layout/board, test it

      • Sell them also online

    • Monochrome NeXT MegaPixel Display Soundbox VGA adapter
      • Create Eagle board/layout for NeXTCube Monochrome VGA adapter
      • Test it
      • Sell them also online?
 With what is planned next year, 2020 is going to be busier and more productive!



"Santa's" Christmas visit

   To finish off this end-of-year post ("end-of-year" excluding a blog post reveal on Knuckles Clackers game mod, and the first post of NeXTCube restorations in that mini blog series to come before the year ends), "Santa Claus Claws" came flew to the house bird nest last night at the EagleSoft Laboratories, and brought some techie presents ๐Ÿ˜ฒ!





Santa Claws flying to each
house, delivering presents on Christmas Eve
(Wait, is that how the Christmas story goes at the North Pole ๐Ÿ˜?)

      Santa Claws I gifted myself a few items this year from eBay, in order to nearly finish up some projects (mostly assembly of the Sega Model 1 Virtua Fighter arcade machine for bootup), and a few necessities to replace some old laptop parts for my Elitebook 8570w (as well as gave a few presents to friends/family). (Almost 5 years later, my HP Elitebook 8570w is still in service and still being quite powerful for CAD graphics work, video gaming graphics, and gamedev I do regularly. It ain't ever giving up Windows 7 Pro for evil Windows 8 or 10 and their buggy, unstable garbage of OSes ๐Ÿšฎ!)

So close at having the minimum parts
necessary to wire up the
Sega Model 1 Virtua Fighter
arcade machine for bootup!

  • Necessity laptop replacement parts
    • Replacement VH08XL battery
      • Old one was beginning to no longer hold a charge well
    • Replacement 150W AC power brick
      • Old one was beginning to acquire a short on the output end.
      • I usually take care of equipment, but a short appeared on that end, due to not folding up the cables well into my laptop bag
      • Unfortunately, this new power brick seems just as bad as the old one with a worse short on the output end.
      • Just going to use the older one, which is in better condition ๐Ÿคท.
      • (Wiggling the old power brick lightly on the Z-Up axis usually gets the output end back into proper alignment for charging )
    •  Replacement internal HDD caddy
      • Lost some incredibly tiny screws on the old one, so the caddy was hanging by a thread with approximate screws
      • I usually take care of equipment, but stupidity on my end this time
      • Laptop was throwing some false-positive HDD corruption error mesages earlier this year, and it was due to the HDD caddy coming loose during travel and the HDD Sata port becoming partially unconnected ๐Ÿ˜ฑ.
      • New caddy holds down the fort well

  • Sega Model 1 Virtua Fighter parts
    • Stuff acquired in the past few months
      • Gateway FPD1530 VGA Monitor (15" 1024x768)
        • To use as possible dedicated monitor for the machine
        • Cranberry Goodwill find (~$12)
      • 10 Pack of microswitches
        • Acquired from a vendor at ReplayFX 2019
        • Will be used for arcade controls
        • Will be 3D printing out button/arcade stick housing for the switches
          • To cut down on costs
          • For customized setup and look
          • Budgeted arcade machine assembly
      • CPU Connector
        •  

      • I/O Board (with IDC breakout boards and some cables)


      • ATX Stuff
        • Retronik ATX Breakout board
        • ATX Power supply tester
        • Better ATX Power supply
          • The one acquired in the 1st VF blog post at the magical Red White & Blue Thrift Store near the Fort Pitt tunnel was a dud ๐Ÿ˜‘
            • Was a Bestec Worstec ATX power supply model
            • Notoriously known for faulty, bad capacitors
            • Known to fry the motherboards of computers using them after the power rails go out of spec ๐Ÿ˜ฑ
            • PSU determined to not even power up or output any power with the ATX Power supply tester
          • New power supply actually powers on, and outputs the appropiate voltages on its power rails according to the power supply tester

      • Sega Model 1 Filter Board 
        • Used for organized wiring to various board components, especially for 
          • Power input
          • 22KHz Medium-Rez RGBHV video signals
        • Board ordered was damaged
          • Dusty
          • Had various JST NH Female pins bent
        •  Repaired by
          • Removing dust with SMT ESD Brushes
          • Gently bending pins back into alignment with a pliers
        • Original pics (the damages)

          • Front
          • Back 

        • Repair pics
          • Beautifully repaired!
    • Stuff acquired for Christmas
      • Arrived at house bird nest in time for holidays
        • Gonbes GBS-8200 CGA/EGA/YUV to VGA converter
          • Used for converting VF1's medium-resolution (24 KHz) graphics to high-resolution, modern day VGA (31 KHz)
          • Am currently powering on the device via
            • The small 2-pin JST connector connected onto a breadboard
            • Makeshift USB breakout module using Dupont cables to the breadboard
              • USB module scavenged from a broken HP Photosmart printer
            • Power applied via
              • Male-to-male USB cable
              • Heavy-duty 5V 2A USB wall wart.
              • Wall wart usually powers up my Raspberry Pi too, which needs the high current.
          •  
          •  
        • IDC adapters
          • IDC50 low-density SCSI Breakout board
            • Used for wiring stuff into the I/O Board's IDC50 port
            • Have a dual-port IDC50 low-density SCSI cable that fits both boards (thanks, Goodwill!)
          • IDC26 Parallel port breakout board
            • Used for wiring in the arcade controls into the I/O Board's IDC26 port
          •  Pics

    •  Stuff arriving sometime after Christmas
      • Another 10 pack of microswitches

        • Needed to complete a full set of 16-20 microswitches needed to implement all VF1 arcade controls
      • IDC26 cable
        • Used as an interconnect between the I/O Board's IDC26 port and the IDC26 breakout board (to wire in arcade microswitch controls)
      • Various quantities and pin-counts of JST NH Female connectors from magical Jammastar.com 's eBay store.
        • Original ones are kinda rare, and new ones can only be acquired direct-from-manufacturer
          •  In bulk, due to direct-to-order state like Digikey, without jacking up costs for only a few parts
        • These are just the female connectors
          • Need to order 200 pins from Jammastar to put into each connector for crimping
        • To be used for creating my own wiring harness from scratch
          • After talking with arcade forum members online
          • Verifying the wiring from the manual's poorly written schematics
        •  
  • Misc stuff 
    • Stuff acquired in the past few months
      •  6 pack of 170 point mini-breadboards
        • Used as dedicated project breadboards
          • Instead of various circuits hogging different sections of my primary Radio Shack breadboard
          • RIP Brick and Mortar store Radio Shack stores ๐Ÿ˜ญ
    •  Stuff arriving sometime after Christmas
      •  5 pack of SN74LS641-1N through-hole chips
        • Chips to be used for a RaSCSI adapter board for my Raspberry Pi
        • Adapter to be used as a temporary virtual SCSI HDD to boot up my NeXTCube ๐Ÿ˜€
        •  
   The nice thing is that I will be 90% completed with getting the minimum amount of materials required to at least boot up the Sega Model 1 Virtua Fighter Arcade Machine when everything arrives ๐Ÿ˜€! All that is left to order at a later date to begin assembly for bootup:

  • 200 JST NH Female terminal pins (for the wiring harness)
  • 3D Print some arcade buttons and joysticks for the microswitches
    • Ask one of my professors at the university
  • A boxed set of various solid-core, 22 AWG spools of colored wire
    • To be used for assorted lengths of wire in the actual wire harness
    • Color-coded similarly as specified as in the manual's poor schematics
    •  
  • Order a 2 pack of ST Micro M27C160 (2MB 42-pin) chips
    • To replace the one I fried during dumping (chip mpr-16102.32)
  • Assemble the wiring harness, wire everything up!

Overall, this year was somewhat busy, next year will have a lot of game development, repairs, and electronics engineering happening, and Christmas went fine this year.

Catch you on the flip side in the year 2020!
-Tamkis



StarEagle: Defenders of the Galaxy Game Reveal!

StarEagle: Defenders of the Galaxy
Game Reveal!


Background

     Way back during Fall 2015, for graduation from RMU with my now-obtained, B.S. Engineering w/conc. Software Degree, all engineering students had to take a class known as Integrated Engineering Design (IED) class. Basically, this class was a senior project, where students would use their knowledge and skills learned throughout their college career in order to research, to engineer, and to make/do something related to their engineering major.

     As frequent followers of EagleSoft Ltd and this blog may already know, earlier during my Software Engineering college career during Fall 2014 semester, I designed Ultra Air Hockey DX in Unity3D/C# for PC and Android. This game was a deluxe, 3D version of Ultra Air Hockey, which was my first real video game written in QB64. UAHDX was created for Fundamentals of Software Engineering class, which received an "A" for the class project, which received RMU's Software Engineering Award in Spring 2015, and which was my first Unity3D/C# game. Fundamentals of Software Engineering basically taught about the basics of proper, industry-standard Software Engineering practices (Software Requirements, SDLC/waterfall and other scrum-based methods, basics of Software Verification and Validation, Gantt Charts, and other tools for proper project management.)

Original game prototype

Ultra Air Hockey DX Trailer

Academic achievement unlocked!

    During Spring 2015, the fellow classmate/co-developer of Ultra Air Hockey DX and I had to take Distributed Systems class (but at different time slots, unfortunately). All students taking the class (regardless of time slot) had a class project of writing an application utilizing distributed systems concepts. Basically, Distributed Systems class taught about distributed systems architecture, which is distributing computing power between multiple machines/servers over a local network or across the Internet. The project was to write an application fetching data from a database in a language of choice, from both a primary and a secondary server. If the primary server went down, the data should be fetched from a redundant, secondary server. (One requirement for the project intentionally was to disconnect access to the primary server, and prove that the secondary server would kick in for usage.)

    For the Distributed Systems project, a different classmate and I took up an alumnus' unfinished Distributed Systems project, which was written in MIT App Inventor Classic (eww) for Android and called The Equator. This unfinished application was an educational application which would fetch a mathematical equation name, the equation itself, and an image related to the equation from an online database, cache everything offline into a local database on the device, and display all of the equations in a list. The images were hosted on The Equator's project page at EagleSoft Ltd. Once an equation was clicked from the list, it would bring up the default email client on the device, and allow you to send an email to somebody with all of the equation information. If the primary server went down, the secondary server would kick in, in order to download and to update the local, offline database cache on the device.

   The other classmate and I finished The Equator project, by fully implementing the features detailed in the previous paragraph. We imported the project into MIT App Inventor 2, which is a fake, noobish "language" and "IDE" that allows younger programmers to write Android applications by connecting literally code blocks (graphical puzzle pieces with language syntax keywords on them, and other interconnects for parameters and data for each language keyword). This programming "environment" abstracted away both Android programming internals and networking support (no need for handling networking sockets or ports), but had the drawback of having to write complex if/then/else blocks to get everything to run. Overall, MIT AI2 is really meant for younger programmers, instead of college students (whom really should be writing code by then in real programming languages/IDEs, such as C# or Visual Basic in Visual Studio), but the only reason I had to use it was due to the original, unfinished application being written in MIT AI Classic ¯\_(ใƒ„)_/¯.

The Equator app icon

Main app form

  Meanwhile, my other classmate (the UAHDX co-developer) at his Distributed Systems class wrote a simple Unity3D/C# PC tech demo game, called Colonial Combat. This game was a simple prototype, which was a 1-on-1 2D fighting game, consisting of two recolored Megaman characters looking like some school's mascot. Players could walk around, jump, and hadouken swords to deplenish each other's health. No endgame scenario was programmed in (the game would just continue running on player death). To comply with the class' projects requirements, the game had simple online multiplayer support. Two machines running the application within a wired LAN network could type in each other's IP address in an UI dialog box within the game, could connect to each other, and then control one of the characters and play against each other. The game utilized RPC functions, so no intermediary servers were needed (it just did a direct IP connection for online multiplayer). The game had a bug where if you jump and collided with level geometry properly, the player could rotate, and thus would cause movement to move parallel with the new rotation, causing space-like physics. The game was simple, but very incomplete. That classmate graduated in Spring 2015.
   After the release of Ultra Air Hockey DX, I had plans to work on a new, more ambitious Unity3D/C# game. During summer 2015, during lunchtime breaks at an internship, I was working on a new Unity3D/C# game called StarEagle: Defenders of the Galaxy. At the time, it was a game planned to be a Shadow Squadron/Stellar Assault (Sega 32x) 3D space simulator shmup clone. Unfortunately, all of the Unity3D project files were lost sometime after Fall 2015, except for the game's WIP music (which was at the time uploaded and re-downloaded to/from EagleSoft Ltd's music section), a wallpaper of the title screen, and a promotional 3D printed model of one of the game's characters (King Flight). All I had of the game at that time was a rudimentary Main Menu, a Training test level (where you could fly your spacecraft StarWing in a 6DoF environment and shoot down asteroids), some music and sound effects, a simple FMV system, and an introduction FMV. The game had no UI, no endgame scenario, and literally was just a test level prototype for flying.

Shadow Squadron (32x) Review

   Come Integrated Engineering Design class, and my group and I had to decide whether to make a Unity3D/C# video game of StarEagle or finish my other classmate's Colonial Combat video game. Due to lack of 3D experience for the game's scope, due to the StarEagle's project scope being too large for the class' timeline, we chose Colonial Combat instead. Post-graduation in 2016, I was underemployed for a year in fast food, while working on finishing Colonial Combat outside of school and Socket the Hedgeduck. Fortunately, I then got hired at a local game studio and from 2017-Fall 2018, and even got two commercial games released there (Coffee Crisis for Sega Genesis as co-developer and Coffee Crisis for PC/Xbox One in Unity3D/C#). Unfortunately, I ended up leaving that job in Fall 2018, and have been underemployed since at the time of this writing.

  Due to development on Socket the Hedgeduck and Colonial Combat in 2016, due to having a professional gamedev gig from 2017-2018, and due to losing most of the Unity3D project, StarEagle: Defenders of the Galaxy went on the backburner. However, now with a lot of freetime on my hands outside of underemployment jobs, StarEagle is now back in development! Due to having a lot more experience with Unity3D (including new professional Unity3D assets to streamline and simplify development), I believe I now have the means to realize the game's technical and artistic vision.

About StarEagle: Defenders
of the Galaxy


    "StarEagle: Defenders of the Galaxy” is an in-progress, story-driven, Indie shmup video game that is a combination of a 3D scrolling on-the-rails and free-roam shmup game. It is a story-driven game with an art style modeled after the early, flat-shaded, low-poly 32-bit and 64-bit 3D polygon video games. It is heavily inspired by classics such as StarFox (SNES), StarFox 64 (N64), and Stellar Assault (Sega 32x, aka Shadow Squadron). The game has on-rails flight sections, 3D free range sections (similar to "All-Range Mode" in StarFox 64), and 6DoF space battles similar to those in Star Wars Battlefront 2 (2005 Pandemic, not the EA garbage), and player movement/action control scheme similar to StarFox 64's. Game planned to be released sometime late during 2020 for Windows, Mac OSX, and Linux through Steam.

   Essentially, the game is a StarFox 64 clone but with an additional flight mode of Space Mode for 6DoF levels, and has the following unique features:

  • Original, hand-drawn, low-poly, flat shaded 3D polygon models
  • 16-Bit MS-DOS -like UI graphics (White-on-Blue text and some ASCII art)
  • Sega Genesis and Soundblaster chiptune music and sfx 
  • SteamWorks support
  • StarFox 64-styled cutscene dialog system for teammates and enemies
  • StarFox 64-styled gameplay (including 3 helper teammates)
  • Gameplay
    • Standard StarFox 64 StarWing actions
    • 3 gameplay modes
      • Current mode changes at different points in levels
      • On-the-rails mode
      • 3D Free Range mode
      • Space Mode
    • Powerups
      • Same types as in StarFox 64
      • Rings
        • Checkpoint
        • Small Silver Rings
        • Big Silver Rings
        • Gold Rings
      • Bombs
      • Laser powerups
    • Story Mode
      • Ability to save/load up to 3 game slots
      • Levels
        • 7 missions per story
        • Branching story paths
        • 2 different endings (good/bad)
        • 18 levels available
        • Medals earned for beating devteam's highscores
           
      • Map system
        • Each planet has up to 2 available paths
        • Map system rotatable on X, Y, and Z axises
        • Map Menu
          • Ability to change which path to take on certain planets
          • Retry the previous mission (sacrifice a life)
          • Go back to main menu
    • Training Mode
      • Teaches the player how to play the game
    • Video Settings menu
      • Allows tweaking of various retro video settings
      • Can preview current settings
        • Console palette colorspace in use
        • Sample paletted image with the colorspace
        • Rendered scene displaying settings
      • Tweakable graphics
        • Retro palette colorspace to render graphics in
        • Dither texture style, strength, and size
        • PSX Shader texture distortion
    • VectorVision™
      • Branch of Linux MPV co-utility that can vectorize the game's graphics and output vector graphics to
        • A retro, CRT-based monochrome oscilloscope in XY Mode
          OR
        • Raster-based CRT monitor converted to a fancy color vector monitor using Fred K's kit.
      • Uses a custom VGA circuit
    • Peripheral support (Unity3D Rewired library)
      • Remapping of buttons (flightstick/gamepads) and of keys (keyboard)
      • Supported peripherals
        • XBox 360/One controller support (XInput)
        • Generic dual-analog stick
        • Generic HOTAS flightstick support 
        • Saitek ST290 Pro flightstick support
        • "Unknown" controller support
          • Everything else that Rewired library doesn't natively detect
          • The "unknown controller" will work as long as it supports the minimum amount of axises/buttons the game uses for remapping everything
    • Various game options
Full details and progress on the game's development can be found both at the game's project page and here at the blog, respectively. Below is a video of a test level showcasing a quick engine test.


More details about the game's development as it comes at this blog!


Copyright EagleSoft Ltd. Powered by Blogger.