Google Sketchup .skp to 3DPDF conversion

Leave a Comment
How to convert Google Sketchup/Make (and other CAD files)
to 3DPDF using freeware!

Intro to U3D and 3DPDF
    Universal 3D (U3D) is a newer open-source file format which is (supposed to be, on paper) a more universal, widespread compressed 3D CAD format for the masses to view. This file has many advantages compared to other proprietary CAD formats, including the availability of open-source code to process the files, its compressed size, and its portability. Most importantly, this file format can be embedded into PDF files (called 3DPDF files), allowing portability among a very wide variety of internet browsers, PCs, and devices to view the content. (Although it appears as if the official Adobe Reader X PDF viewer software is one of the few PDF viewers to support 3DPDFs.) Such example usage of 3DPDF files are sharing a read-only CAD drawing to coworkers who may not have the CAD software to view the drawings, or to showcase 3D video game models on a portfolio website. 

   The main downside to the U3D format? The availability of freeware or cheap software to convert CAD formats to U3D, let alone to convert and to embed into 3DPDFs, is difficult, if not impossible, to find, and most average programmers probably do not have the time, skill, or patience to deal with creating their own solution using the provided open-source code, complex 3D Calculus, and vector math.

Enter FinalMesh

    While creating UAHDX over the past Fall 2014 semester, I decided that I needed to find a cheap solution in order to convert my 3D Google Sketchup video game art into 3DPDFs, so that I could showcase and embed them on my portfolio website. (I ended up just converting the CAD art from Ultra Air Hockey instead, since these models can obviously be seen in action in-game). After much searching online, I discovered a very easy method in order to convert most common CAD file formats into a 3DPDF. Using an amazing piece of shareware software called FinalMesh, I was able to create 3DPDF files of my video game CAD Google Sketchup models and convert them into 3DPDFs. 

  FinalMesh is a Windows shareware application which allows the user to view and to convert various CAD drawing formats into other 3D CAD formats and to raycast/render them to common 2D image formats. (Full list of 2D/3D formats are available here). Most importantly, for the 2D image formats, one can add a title, headers, and text, and can also convert 3D models into 3DPDFs! Below is my how-to for converting Google Sketchup models into 3DPDFs. The steps will vary slightly for converting other file formats. Basically, we will be converting our Google Sketchup .skp file into a Lightwave .obj, loading it into FinalMesh, and converting it to 3dpdf.

   What you will need:

   1. Google Sketchup (duh, Free prefered)
   2. TimeStopper 3.0 (NOT >=4.0!, optional)
   3. FinalMesh Trial
   4. Tig's ObjExporter Ruby plugin


    Get your software
  1. If you don't have Google Sketchup/Make download the latest free version from here
  2. Download FinalMesh Trial from here
    1. The trial version is fully functional, except for the fact that it puts watermarks on outputs, and may(?) have time-based trial. Nothing major...
  3. Optionally, Google and find an OLDER v3.x copy (v3.5 preferred) of TimeStopper.
    1. It's a software that allows the user to create a special shortcut to run software at an earlier date, used primarly for defeating time-based trials of software. IIRC, FinalMesh has no time-based trial on it, but I performed this step just in case :).
    2. Use it to create a shortcut patch
  4. Download Tig's ObjExporter
    1. It is a ruby plugin for Sketchup which adds a context menu in order to export freely a .skp sketchup model to Lightwave .obj
    2. It is packed as a .rbz file extension. Change the filename to a .zip file, and extract the .rb plugin inside with your favorite archive software
    3. Place the plugin inside your Google Sketchup installation directory at [root]/tools
    4. If you do not want to make an account to download the plugin (I personally do not like making online accounts for a one-time thing), you can "borrow" some shared login credentials from Bugmenot for

          Do the conversion
  1. Load/draw a Google Sketchup .skp file
  2. Select File>ObjExporter. Save the file somewhere. If it asks to convert .png, select "yes"
  3. Launch FinalMesh, either normally, or through the TimeStopper shortcut you made earlier. Load the .obj file you made
  4. Click the "Save as" tab on the left, click the "PDF" tab on the top, arrange your pdf, give it a name, and lastly, click Export. You just made a PDF!
If you want to see some samples exported with this, you can check out my 3D Model gallery for  Ultra Air Hockey. Any questions or clarifications, you can just ask me in the comments.


Electronics Suite Update

Leave a Comment
Electronics Suite Updated!
   Almost three years after the fact, I have decided to update my old Electronics Suite. During Spring 2013 semester at the university, I had to take (yet again :(, due to credits not transferring) an Electronics course, and used this suite much for digital labs (especially the resistor color decoder program). Originally, this suite was for myself and for others during Spring of 2012, for my first two original Electronics courses at my community college.

   While using it, I realized the need to update the suite with a few new features. So I have added actual physical colors for the resistor color decoder program, updated all "About" boxes with the "company" name and the website link, and added a readme to the download

  You can download the final version of electronics suite (v1.30 FINAL) at its appropriate page on the website.

UAHDX Progress #5: Rebuild and Thanksgiving preview

Leave a Comment
UAHDX Progress!
Part 5: Rebuild and Thanksgiving Preview

   Unfortunately, after co-developer Josh looked at the coding from the previous post, he determined that we needed to recode everything from the ground up. Not only was this due to my lack of knowledge of how the OOP in C# for Unity3D works, but also because, due to what he described as the "spaghetti code" and how I structured it similar to a procedural-based language, nothing would have worked in a network multiplayer game, due to objects lacking their own methods. In the past few weeks, we have recoded everything from the ground up, so that it would be optimized with the OOP features and for multiplayer.

   In the process, we have fixed scripts, added scripts and features, and optimized features. It took days to finish, but we plowed through all of the grudging work and reigned victorious over our personal and professional work outside of this project. Specifically, we have added self-illumination textures so that pucks and paddles will glow with a parallax diffuse, mostly finalized the Credits screen, and cleaned up the Battle game modes. Specifically, we have finished all powerup objects (except Army, and Swap places, which may be scrapped entirely), added powerup handling in order to activate and deactivate powerup effects, added a proper music support, added a powerup HUD, and have added a username text to float above paddles. Furthermore, at the request of our professor, who gave us a creeping requirement on our project's SRS, we have added a feature allowing the players in a netgame to email each other the results.

    Below is a YouTube video demonstrating all of the new changes. Although not shown in the video, the core code of the game also works with the other difficulty settings of the Battle Mode. (We have yet to adapt the existing code and test it for the 2p Air Hockey mode and for the Pinball mode.) What is left to complete for the video game project is to integrate netcode for online multiplayer, implement AI, implement proper raycasting for each player in their own player fields, and adapt the code for Air Hockey and Pinball modes.

  C&CC welcomed! Planned ETA to device/PC software stores is early 2015.

  -EagleSoft Ltd

UAHDX Progress #4: Gameplay, Scoring, Powerups

Leave a Comment
More UAHDX Progress!
Part 4: Gameplay, Scoring, and Powerups

       It been a week or two, but the UAHDX team (Josh and I) are kicking it high gear for more development action, especially since our time for working on this school project is running out! (It's due by the first week of December, and we still have much to do in a short time.)

       Since our last post, we have coded and begun to implement many features. We are currently working on the Medium difficulty, Battle Mode game scene. Due to how we are coding and designing the game, each game mode/difficulty combination is modular, and relies upon a core set of scripts and resources. After finishing with our 1st game scene (the Medium Battle Mode), the rest will go downhill. We have plopped our 3D game models into the game, have implemented proper scoring, the announcer for scoring, and a scoring HUD. We have also added the ability for both a human and CPU to control the paddles. The former feature is quite functional and bug free, while the latter feature is in the early stages of development, and needs improvement, especially with coding an intelligent AI with removal of collision issues. Each paddle can only move within a certain area, with some interlap between these fields for multiple players in the Battle Mode.

    Furthermore, we have imported and implemented a majority of the main game sounds. A powerup collectible object has been created; however, the glue-logic for allowing a player to keep powerups and use them at will is pending to be written. This glue-logic will be performed using an invisible powerup thinker. We have, however, begun implementing some of the powerups, especailly those which are based upon physical objects. Such powerups include blockade, bumpers, portals, multi-puck, and army. These powerups will be dis/enabled by the game engine using our powerup thinker object.

    Below is a video showing everything is action, as to the time of this writing. As a developer of the game knowing its inner-workings, I cheat (a lot), in order to show off the features. My paddle (the red one) can move anywhere, and I can dis/enable Unity gameObjects and features on-the-fly using the Unity Editor during runtime. I do this so that I can focus the video recording on specific aspects of our progress. There are a few bugs in the video, but overall, the progress is fine.

C&CC welcomed! Also, if you know me personally in the real world, and want to Beta test the game, email me. I'll be sure to add you to the Credits screen :).

-"Tamkis" (Tony) from the UAHDX team/EagleSoft Ltd

UAHDX Progress #3: Menus & Graphics

Leave a Comment
UAHDX Progress #3: Menus & Graphics
Much has happened in the last month with video game development of Ultra Air Hockey DX.
In Fundamentals of Software Engineering class (which is the university class for which are creating this game for a grade, as well as for EagleSoft Ltd to sell the game and create our first Indie video game title), we created a Software Requirements Statement (SRS) for the game, and classmate Joshua and I have pinned down the main functionality of the game. Furthermore, we have now formally begun development of the game, officially!
    For our 1st week of formal development, we have created the menus for the game, finalized game assets, and fixed textures on all 3D models. You can look at the 3D models on the new models page on the EagleSoft Ltd website, which are 3DPDF files. Furthermore, you can check out the amazing menus in the video below. The GUI has been finalized, but implementation of the options screen actually change game variables and showing message per category and item still need to be implemented. Also, animated gifs of the intro FMVs need fixed.
C&CC welcomed!
More progress to be shown as work is done!

UAHDX Progress #2: PoC Air Hockey Gameplay

Leave a Comment
UAHDX Progress #2: PoC Air Hockey Gameplay
A few weeks ago, co-developer "Josh" and I made some progress in creating a rudimentary, quick and dirty, Proof of Concept of the Air Hockey mode gameplay for Ultra Air Hockey DX! You can check out the video below. Unfortunately, we had problems with textures, so ignore the wrong colors, and also the placeholder menu.
For progress to be shown as we develop it!

Ultra Air Hockey DX Progress #1: Art

Leave a Comment
Ultra Air Hockey DX Progress #1: Art

Classmate "Josh" and I have made some minor progress on Ultra Air Hockey DX in the past few weeks, for our Fundamental of Software Engineering class project, and for the game which will eventually be available as a paid, indie game, published by EagleSoft Ltd. We've outlined file resources (especially music and sound), and will be creating an Software Requirements Statement, so that we can plan and execute our project.

Most importantly, I have already drawn the 3D Google Sketchup art to be used in the game. You can look at the cool art, and read about the synopsis of the project, at its page on the site. We also are working on a prototype for the collsion system, but are having problems with proper puck collision.

More to show for the project as things develop!

Sonic CD Breakout: Desert Dazzle Zone

Leave a Comment
Sonic CD Breakout: Desert Dazzle Zone completed!

As teased about in a previous post, a Desert Dazzle Zone was in development for Sonic CD Breakout. All 3 acts have been completed! Check out the video playthrough of the level below! The boss is difficult, what with him having a shield of rotating and destroyable blocks around him. and having to avoid falling stalactites. The stalactites, when they hit the problem, cause you to lose rings.

C&CC welcomed!
Demo #3 tentatively pending to be released Christmas 2014!

Unity 3D project confirmed: Ultra Air Hockey DX!

Leave a Comment
Unity 3D Project confirmed:
Ultra Air Hockey DX!

   As part of a university project for Fundamentals of Software Engineering, a classmate ("Josh") and I are working on a Unity3D video game project. As part of the assignment, we needed to come up with 3 ideas of a software engineering project, as detailed in a previous blog post, for which the Prof. would select one of those projects for us to do. 

Our professor, Dr. A, decided to pick Ultra Air Hockey DX!
So we are going to develop it!

    Ultra Air Hockey DX is ultimate edition of Ultra Air Hockey, written in Unity3D, multiplatform, and multiplayer. This new edition contains 6 more powerups, 3 modes (Air Hockey, Pinball, and 4P Battle Mode), more music, more sfx, and more action! Full details can be found on the dedicated UAHDX page on my website.

   More news as Josh and I develop the game!

Anthony K
-Owner/Founder/Lead Programmer of EagleSoft Ltd

Future plans for EagleSoft Ltd

Leave a Comment
Future plans for EagleSoft Ltd
Mid 2014-Early 2015
    Not to sound self-promoting or anything, but EagleSoft Ltd and I have big plans for the remainder of this year and for the beginning of next year!
    EagleSoft Ltd is officially and professionally going indie, with the company learning how to develop exciting, new, original, multiplayer, 3D, video games, using Unity3D! Unity3D is a high class, high quality, powerful, 3D Game engine, which can be scripted using C# and is multiplatform; see its official website for more details.
     We are currently working on several, for-sale, for-publish, indie video games, including the retro ports of Ultra Air Hockey (Standard Edition) to the Sega Genesis/CD, and an undisclosed Unity3D project. The Sega Genesis port of Ultra Air Hockey will be released as both a digital ROM download, and as a physical repro copy. The physical repro copy will be released as a cartridge with custom label, and with the option of having a case with manual. The Sega CD version will be released as both a digital ISO ROM, and as a physical CD. The physical CD will be released as either with CD label and a CD sleeve, or as a CD with image and DVD case with manual. Pricing for both pending.
   Furthermore, a university classmate ("Josh") and I are working on a Unity3D project for a class project. We are thinking about either doing a multiplatform, deluxe edition of Ultra Air Hockey in 3D and with online multiplayer, a 3D Asteroids clone, or a 3D clone of Scorched Earth.
More news about these exciting developments in the coming months!
-EagleSoft Ltd

More Site Updates

Leave a Comment
More Site Updates
Over last August (August 2014), I made some minor updates to the EagleSoft Ltd website:
  • Added 2 new site sections
    • Shop
      • Will be a shopping page, in order to purchase video game projects that I will be publishing in the near future :)
      • Under-construction!
    • Unity3D
      • Added a section for future Unity3D Projects
      • For a Unity 3D project I am working on, and others
      • Under-construction!


  • Added 1 new page
    • Softography & DLs
      • Page shows all projects that are on the site, in one, easy spot
      • Shows platforms, title, current version, last release date, DLs, and supplemental items

  • Added more material
    • Ultra Air Hockey (PC)
      • Added pictures for
        • Pause screen
        • Credits screen
        • Multipuck powerup
        • Night powerup
    • Ultra Air Hockey (Sega)
      • Added pictures for
        • Difficulties
          • Easy
          • Medium
          • Hard
        • Pause screen


Ultra Air Hockey (Sega) VGM OST Released!

Leave a Comment
Ultra Air Hockey (Sega) VGM OST
& Sega CD CDDA Released!
Over the last week, the OST for the Sega ports of my homebrew video game, Ultra Air Hockey, was finalized and mastered! Some songs underwent extensive revisions (some up to 9), and SMPS voices were swapped out for better ones. SMPS voices that were tinny or not playing correctly, due to too much TL or problems with XM coordination flags, were fixed.
Below is a video to listen to a preview of the finalized music. The intro sequence song was also created, and the intro sequence of the game is now relatively in sync with it. Furthermore, I've created a VGM pack of the music from the Sega Genesis, so that you can listen into your favorite VGM player. I also have finalized the Sega CD CDDA OST, although no work on the Sega CD port has occurred yet. Both are available at my Sega Genesis/CD/32x music page :).
Tentative digital and physical release of the game is either Thanksgiving 2014 or Christmas 2014. The Sega Genesis port will be released as both a ROM download and as a physical repro cartridge for sale. The future Sega CD port will be released as both an ISO and as a physical CD for sale.

Due to university life booting up again, I will have much LESS time to develop the game; but I'll try to work on it as I can. No promise on the release dates, however.


Ultra Air Hockey (Sega): Game Engine Progress #1

Leave a Comment

Ultra Air Hockey (Sega): Game Engine Progress #1

Over the past month of June, I've coded/ported some more of the Ultra Air Hockey game engine to the Sega Genesis. Things accomplished include adding my EagleSoft Ltd logo and a Sega Genesis 25th anniversary logo, fixing tabs and the display for the Credits screen and  converting most background graphics from uncompressed fullscreen mapping to tile-map based graphics. Also, for the Options screen, I fixed the On/Off options to work now, added song/sfx names, and added the EagleSoft Ltd PCM intro song.

As for the game engine itself, I've begun work on coding GSpriteLibrary, have added basic 8-direction player stick movement, added a simple powerup HUD, and added a pause screen. I've also implemented the announcer, which is tested via a debug test feature, and have implement collision box outlining and coordinate debug tracking.

Below is a video showing the progress!

Stay tuned for more progress in the coming months!
(If college/real life does not intervene too much, which it probably will.)

Minor site updates

Leave a Comment
Minor EagleSoft Ltd Site Updates

I've added 3D Google Earth models of my 3D models from Ultra Air Hockey (PC) on its appropriate page. Furthermore, I've added another video for Ultra Air Hockey (Sega) on its appropriate page, and added a more content onto the "Links & Friends" page.
Copyright EagleSoft Ltd. Powered by Blogger.