Adventures in programming, et al.

I'll just write down my thoughts, but maybe it's interesting for somebody.

  • About
  • SLDN Workout Details

TIE Interceptor production images

Posted by Sky_Paladin on February 11, 2022
Posted in: Uncategorized. Leave a comment

The TIE Interceptor model is freely available from this website (https://www.myminifactory.com/object/3d-print-tie-interceptor-112711)

The stand that is used is created by the same author (https://www.myminifactory.com/object/3d-print-stand-for-tie-fighter-127608)

The printer I use is an iPrusa mini (https://www.prusa3d.com/category/original-prusa-mini/). This printer is fairly cheap for what it is, but as it comes from Europe, there is a hefty postage fee. However, the quality is good and I do recommend it for large objects like this. For smaller objects, or where detail is required, you should use a resin printer. I use an Anycubic Photon Mono, available from Jaycar (https://www.jaycar.com.au/anycubic-mono-uv-photon-resin-3d-printer/p/TL4422) at the moment.

I started printing this entirely to learn what the printer was capable of. At the time, I printed using 50% draft mode, meaning some quality was sacrificed for speed time. It turns out that for this scale, this faster print speed was absolutely fine.

Let me take you through the journey.

Above are the first few parts to be printed. On the canopy sections, strange black spider webs can be seen. This would be my first problem to overcome while printing – because I’m in a humid location with no air conditioning, the plastic filament is absorbing moisture from the air. I didn’t know this at the time, but when that happens, the filament doesn’t have a clean separation when being extruded. This was a real pain to clean up. I ended up buying a heat gun but this didn’t have the desired effect, and I just had to clean it all up using sandpaper, files, and a modelling scalpel.

The next major issue was that the wing sections were too large to fit on the printer. I ended up cutting the wings off, as you an see below, in Blender. I reasoned that I could probably fill the gaps in with putty (this was almost correct). However, when I printed the wings by themselves, there were issues. I discovered that whatever was flat against the printer bed came out quite terribly, so I printed the wings standing up (so the smaller triangle edge was on the ground). As the printer had tiny vibrations, this resulted in the pointy ends of the wings having defects. If you look closely you can see there is warping at the smaller ends of the triangle. I ended up having to reprint just the wingtips, cutting the existing wingtips off with a hacksaw, and then gluing the replacement parts in.

The wings weren’t stable with just glue. I ended up drilling holes and pinning the wing components together with paper clips.

Now it is starting to look like a TIE Interceptor!

I started trying out different paint techniques to get the desired Empire colour scheme. Here’s what I ultimately went with: GW Grey spray undercoat, Mechanicus Standard Grey with 50% nuln oil wash, Mechanicus Standard Grey drybrush, Dawnstone drybrush, Administratum Grey. You can also see one of the discarded Tifa heads nearby that I ended up having to abandon because of issues with the hair.

The ship with just the grey spray undercoat and the black panels coloured.

Probably this would have been good enough for a practice piece. However, about now I was starting to wonder, what was I going to do with the finished product? I decided to donate it to Geoff Sanders’ Per Ardua Ad Astrum event, that was fundraising for children who needed organ replacements. The quality of the ship would therefore need to be much higher.

I now painted the inside of the Interceptor. At this time, the top and bottom halves of the canopy were not glued together. You can see chunks missing at the 3 o’clock and 9 o’clock sections of the canopy. When I was printing, I didn’t notice this problems. I would have to fill these in with putty before I could paint, but before I could paint the inside, I needed to glue the canopy closed. But to glue the canopy closed, the wings had to go in first. This meant I would have problems!

Internal painting complete and canopy hit with 50/50 nuln and grey wash. This turned out to be nearly exactly the same as the grey Basilicum Contrast paint so I just used that for the wings instead.

Now with Mechanicus Grey drybrush. You can also see the mk2 Interceptor on the left.

The mk2 is Gambody’s TIE Interceptor (https://www.gambody.com/3d-models/tie-interceptor), which unfortunately is not free. It’s a little bit smaller than the mk1, but the quality is significantly superior, in particular all of the joins are very carefully hidden. However, I have had some problems printing it with the prusa mini which I’ll cover in it’s own post when I paint the mk2 some day.

Now with dawnstone drybrush. The dawnstone is very subtle and difficult to drybrush with in the weather we had at the time – I ended up messing up on the canopy and had to redo the dark grey.

About now I decided the best way to do this would be to finish the wings completely, figure out what I was going to do with the canopy (resin or plastic sheet), glue the model together, and then paint the hull.

First the wings. This is 1000 sons red hand painted.

When I put my X-wing scale TIE Interceptor down, the red stripe is much more vibrant. I decided I liked this better and would eventually go over the 1000 Son’s Red with Blood Angels Red. I’ve also drybrushed with Admin grey. From here the lines where the model was cut are very visible. Unfortunately, my plan to cover up these gaps with putty did not succeed. I’m not sure if the putty (which is water based) reacted to the paint or if I just did a terrible job and didn’t notice. Probably it’s the latter.

Shot of the cabin. The black lines on the seat are the shadows from the canopy!

Wings with Blood Angels red. I’ve used a stencil that I’d 3D printed to mark out where the Empire logo will go. From here, I’ve also picked out the metal parts using leadbelchers and highlighted with a 50-50 mix of leadbelchers and white (it’s more visible on the cannons later).

I wanted to use a gold for the edges of the metal piping, but when I tested it, the gold looked like brown against the grey, so I decided not to bother.

Also, from here you can see one of the major shortcomings of the free model – where the circle in the middle of the wings is, it’s almost like two half circles were poorly formed together. That’s supposed to be an Empire cog logo, but for whatever reason, the graphic designer chose to do this instead. I tried to cover the gaps up as best as I could with putty, and in this case, it mostly worked.

3d printed the stand.

The wings are done and I glue the canopy up. I have printed resin glass for the canopy. Unfortunately it is opaque – I did some research later, and I found out that to get opaque glass I should have wet-sanded it with 1000 grit sandpaper before curing the resin. Unfortunately I was out of time and didn’t have the paper in any case.

I use putty to seal up the huge gaps in the chassis (front and back). You can see it as the white chunks on the front of the ship. After it dries, I filed it back as best I could.

The finished product. Here it is before I spray varnished it.

The blue on top/back of the Interceptor is Soulstone Blue mixed with a little black to try to give the illusion of depth. In the mk2 interceptor, I’ve taken these pieces into Blender and removed them, so that I can print resin to put here.

Now with varnish. I left the ship to dry overnight, planning to take some cool shots of it with the blue screen later. Unfortunately, my covid booster chose this time to act up and I was too ill to do anything.

Here it is on the day of the raffle! I later found out that we raised over $1500 for the charity, and one person bid $600 hoping to win this ship. So it was a little bit sad that they missed out, but that person how now commissioned me for a ship they REALLY wanted, so it all works out in the end.

Overall this was a fun project and I’m glad to see it done. I’m not sure when I’ll do the mk2 Interceptor; I have a few other projects I’d like to finish first (see the prior post) and I’ll need to buy a lot more grey paint…

Cleaning house

Posted by Sky_Paladin on February 11, 2022
Posted in: Uncategorized. Leave a comment

It’s been a few weeks since my last update. I’ve been using this time to clear out some of my real-world projects. I have a lot of things that I’d started and never finished. Marie Condo has been unironically a useful guide.

Some projects don’t spark joy. I’ve let them fall aside.

Some are exciting and I want to finish them. This TIE Interceptor that I’d 3D printed has sat around the house for over a year in various bits and pieces. I decided that I wanted to finish this off, and I did so earlier this month. My short term goals are to finish painting and handling of all the things that I’d printed, so that instead of having half a dozen pieces scattered all around the house, they’re either finished and on display, or on their way to their happy home.

The remaining 3D print projects are War from Darksiders, Tifa from FF7, and a few random X-wing: The Miniatures Game ships. After that, I’ve been commissioned to make a pair of large scale Star Vipers.

In terms of programming, when I started looking through my code, I struggled to understand the maths. That is to say, I didn’t understand it. I’ve gone back to my math book and in between projects I’ve been re-learning the math behind why I did the things that I have done.

Oh, and I quit World of Warcraft. I’m honestly shocked by how much time this took out of my life. Instead, I’m now playing Dodgeball (a real world game!) and spending more time with my wife, who is happier for it – I hope. Also, now I’ve got time to finish off these projects!

A long time ago I bought three Blender tutorial courses, and I’d never finished them. I’ve been quietly working on the first one, and I’m about 3/4 done now. My February goals are to finish off the War figure, finish the first Blender course I’d bought, and to finish reading my 3D math book.

There’s been several other mini-victories along the way, like selling off some of my old X-wing stuff I’ve never used, and generally cleaning up my workspace and living area. Getting the code to compile and work was a critical start, and I really did think I could just leap back into my code. But it’s been nearly seven years since I last worked on it, and it’s going to take a little time to wrap my head around it.

Finally!

Posted by Sky_Paladin on December 13, 2021
Posted in: Uncategorized. Leave a comment

This isn’t the refactor that I wanted, but maybe it’s the refactor I deserved.

What I WANTED to do was to put all my code in sub folders, and then simply include those sub folders in the environment path, so that I didn’t have, you know, all my source and headers in the same directory.

But turns out that was too hard and I wanted to actually do some coding. So in the end, I used Visual Studio filters to add psuedo-sub directories, shown above in the File Explorer.

Now that makes my code much more readable. Time to go get acquainted with the me from six years ago, and make sad engineer sounds when I can’t remember what the hell I was doing.

First goal is to see if I can recover that space invader game I’d started doing.

Still coding!

Posted by Sky_Paladin on December 11, 2021
Posted in: Uncategorized. Leave a comment

This week I tried to resolve the compiler issues with no result. I’m just about giving up on the refactor and going ahead with coding as-is.

Basically, the issue is when I first started the project, I had no idea what I was doing and just put all my code in the same directory. As I started creating resources I directly linked to that resource in the code, eg “/desktop/project/code/resource/resourcename.txt” and things are a hot mess. If I want to move resources or code around (like what I am trying to do at the moment), I have to manually change the filenames as well in the code.

There are nearly a hundred files though, so that’s a big pile of gross that I want to avoid.

According to the instructions for Visual Studio, I SHOULD be able to just right click on the files in the file explorer and select ‘include in project’ to refactor. But this option is missing from the widget, even if I delete the files from the project and start again.

My last roll of the dice is probably to start with a small project set up correctly and slowly add the files in one at a time. Once I’ve got the process correct, I’ll either figure out how to do it for the rest of the project in one go, or eventually I’ll just have everything in my new project.

It’s a little bit frustrating after getting my self all excited to start coding again to have to wrestle with compiler issues once again.

A few technical difficulties

Posted by Sky_Paladin on November 29, 2021
Posted in: Uncategorized. Leave a comment

It’s been five years since I last used Visual Studio for anything, and in that time I’ve been exposed to all kinds of development environments. Most of them trivialise all kinds of simple things like, I don’t know, renaming files or updating the path when you move a source or header file around. Refactoring code like this is a simple right-click-right-click with Intellij, the work IDE I’m using, but this seems like a forbidden topic in Visual Studio. I ended up downloading the 2022 version hoping it’d have a few more of these basic necessities, however it is somehow more archaic and unhelpful.

In the process I’ve discovered that OpenGl looks like it hasn’t been updated since 2017. It’s a dead API and has been replaced with Vulkan, effectively the ‘new’ OpenGl. This is kind of a shock; I’d expected possibly some sweeping new API changes, but this means that programs I write may potentially not work on future computers that aren’t backwards compatible with OpenGl.

This probably spells the end for my little engine; if I have to learn a new graphics API I’m basically starting from scratch anyway. The things I’ve learned along the way are still valuable however. I’ll need to do some research to figure out what the long term plan should be.

In the short term though, I’m absolutely able to use my engine to make games that work fine on modern computers, so that’s the angle I’m going to go with for now.

First point of order will be finding another development environment that isn’t quite so archaic (or seeing if I can get Intellij working with the engine), and failing that, just going to code with what I have. This isn’t impossible, it’s just annoying.

I’ve spent a few hours every night so far on this project and if I can make this into a regular habit I’ll be happy.

And we’re back, this time for real

Posted by Sky_Paladin on November 26, 2021
Posted in: Uncategorized. Leave a comment

One of the reasons I haven’t been coding the engine is because I couldn’t execute it.

The code was on my laptop in VS2015; I’d uploaded it to git and downloaded it to my desktop at home and at work, but it wouldn’t execute properly. I would just get a black screen and nothing happened.

I’d been so frustrated that I’d given up on it. I let myself disappear into the World of Warcraft, X-wing, and a few other hobbies that took up took up too much of my time. Lately, I’ve been experimenting with 3D printing and having a blast. It got me interested in designing my own models, and that got me back into Blender, and that got me back into coding.

So I went back to square one. I couldn’t remember my Atlassian credentials to log into git, so I dug out my old laptop and grabbed the code, backups, libraries, and everything I could find.

Then I loaded the Underwater Sounds code from five years ago, resolved a minor compilation issue to do with an outdated SDL2 library, and it built and ran. Unbelievable. I did more effective private development this evening than I had over the last five years.

Well, that’s not entirely true. I’ve done a lot of professional coding work. My standards, abilities, and problem solving skills of today are leagues ahead of my 2016 self. A quick look at my file structure and code, while nostalgic, immediately showed me how far ahead I’ve come.

I’ll probably spend the first couple of nights doing a huge refactor to clean things up (and re-acquaint myself with how the code works) and then start making plans for what to do next.

In terms of my actual life, things are much better now. In March-April of 2021, as well as losing my job, I was also being evicted. My wife and I were also dealing with an unexpected and difficult medical problem and, oh yes, that covid situation. I haven’t seen my friends and family in South Australia for over two years now. One of my friends recently passed away and I couldn’t attend the funeral.

I had expected to return to Adelaide, hat in hand so to speak, and crash with one of our parents while we figured out what we were going to do with the shattered remnants of our future plans. I was confident we would be OK, but moving interstate and finding a new job/place is such a huge drain on energy and finances, I really didn’t want to unless I had to. Fortunately, I didn’t have to.

In the last month of my employment at the University, I saw a software engineering position open up nearby that ticked most of my boxes, and although I didn’t meet all their criteria, I thought, why not. Two technical tests later (one of which I aced, the other I completely bombed) I managed to get an interview, then a follow up interview, and wow! I had a new job! On top of that, we managed to luck out on a new place to live that was originally only supposed to be six months, but now is an open ended until we want to move out, or the landlord decides it’s the right time to sell.

2020 was difficult. 2021 was harder for the first half, but it’s trending positive now. Here’s hoping 2022 will be even better.

Back to square 1++

Posted by Sky_Paladin on February 26, 2021
Posted in: Uncategorized. Leave a comment

Well, it’s not all bad news.

Unfortunately, my job is gone. Covid-19 has hit my place of employment hard, and we’ve had to let a lot of research staff go. My job is mainly ‘help the research staff with IT support’ and so this meant that, inevitably, it’s my time to go. I’m still on the books until sometime in April.

From here my choices are fairly simple.

1 – Look for new work in NSW.

2 – Give up and go back to SA.

Since there’s a lot more jobs in NSW, I’m optimistic about finding a role here. I’m primarily looking for a programming related role, ideally a permanent or full time position. In the mean time, I started that Udemy course I talked about way back in…uh, March 2018.

While I’ve enjoyed my time at the University, and the conditions/pay have been great, I’ve come to realise that unless I’m working using my professional skill set, I don’t have the sense of ‘job well done’ satisfaction that I crave.

The good news is that I have time to find something.

Therefore, I’d like to make sure I find something that is truly what I want, and not something I feel I have to take because it was all I could find.

Signs of life

Posted by Sky_Paladin on March 10, 2018
Posted in: Uncategorized. Leave a comment

It’s been quite some time since I did any game programming work, but times are changing.

In December, I had to choose between two excellent job offers.  One was working with OpenGL on train and truck simulators, and another was system engineering of real trains.  The first job looked more in line with what I’ve done so far and was my initial pick.  The second job required me to relocate to Wollongong and came with the promise of further opportunity – being able to continue my Masters, and a permanent position at the University.

It was a very hard choice – I have long wanted a permanent position, and it’s been difficult planning a family with only temporary contract work.  Ultimately I selected the Wollongong position.  A relocation is imminent although a date has not yet been given.

In terms of programming, I have recently commenced an Udemy course in learning Unreal Engine.  I prefer Unreal to Unity (although they both are essentially the same thing) because Unreal is a more powerful tool, and I do have the knowledge required to leverage the most out of C++.  It is not an egotistical thought – although my engine never really took off, it was a significant step, and my reading into collision detection, engine efficiency, shaders and so on, all are relevant.

At the moment, my broad plan is to finish this Udemy course, then the Blender courses that I bought years ago; with the advantage that I can port Blender models into Unreal engine straight away (At least, I believe so).

I think I will probably finish the Udemy course in 1-2 months, pending a delay while I move house.  In any case, it will be good to have screenshots and videos on this blog once again.

So hopefully this is the last plain text one for awhile.

End of 2016

Posted by Sky_Paladin on December 30, 2016
Posted in: Uncategorized. Leave a comment

It’s been a busy year.

It seems like a very long time since I’ve updated this blog, nearly six months.  That’s because I haven’t done any programming at home, and I can point to one culprit – the release of the World of Warcraft expansion.  I’ve been appointed guild master of the group I have been playing with and this has taken up more time than I had anticipated.

Having had a six month break while I’ve been continuing to up-skill my programming at work has had an interesting side effect.  When I looked through my code I could see that my programming style has changed, for the better.

I bought a new computer at the start of December.  I’ve now moved the development environment over to VS 2015 and I’ve set up everything so it now builds and runs properly.  This took only about an hour and a half of effort and I’ve just finished getting it running this morning, the last day of 2016.  Way back at the start of this blog, it took me nearly a month, and many hard hours of frustration, getting OpenGL to work at all.

All this aside, I’m not satisfied that it took me six months to get back in to it.  At Christmas, my younger cousin-once-removed showed me a bullet-hell-shooter he’d made in Visual Basic for his high school project.  While not technically complex, it was significantly closer to a game than anything I’d made so far.  I’m quite impressed with what he has done.

I’ve got much to reflect on it seems.

I hope all of you have a safe and relaxing New Year, and I’ll see you in 2017.

Developer Diary, August wk1 pt2

Posted by Sky_Paladin on August 3, 2016
Posted in: Uncategorized. 1 Comment

I’ve finally finished the demonstration software.  The main delay was working out how to make the sounds stop when you looked away from them, and then how to make them play again once I’d terminated that sound channel.

The only other technical thing of interest is the addition of a cross hair; I found that it was disorientating not knowing where you were pointing, so I’ve added that.  I made it yellow to contrast with the blue; and there are two tones of yellow there so if somebody is, uh, blue-yellow color blind, they should still be able to use it.

I couldn’t get the underwater sound effect to play constantly without it running over the icons.  In the end I made another tile, the submarine tile, and used that as the underwater icon.  I also couldn’t find a big ship engine sound that had been asked for – the one I have is clearly above water, since you can hear a seagull, but hopefully kids won’t pick up on that.

Also the torpedo sound is actually a rocket (as in, a space ship going into space rocket).  I did find a torpedo sound effect on uboataces.com, but the quality was terrible.  A rocket and a missile aren’t too different in terms of shape.  I’m hoping kids won’t realise that the medium is different.

There was also a warship sound which I needed for the destroyer, but again, quality issues meant I had to find something else.  The actual sound I found was a multi-engine aircraft, which kind of sounds like something big and muffled – perfect for underwater engines.

Lastly, my mother had contributed a lot of sound files that seemed promising, and if this game was anything like I thought it was going to be at the start, I would have loved to have used all the sonar pings.  I did, however, get to use the speedboat sound effect.  Thanks mum :)

Now I just need to package the whole thing up on my USB, make sure it still works, and then I’m done.

Posts navigation

← Older Entries
  • Recent Posts

    • TIE Interceptor production images
    • Cleaning house
    • Finally!
    • Still coding!
    • A few technical difficulties
  • Recent Comments

    katenottage's avatarkatenottage on Developer Diary, August wk1…
    Lance Alot's avatarLance Alot on Developer Diary, April
    Lance Alot's avatarLance Alot on Developer Diary, end of year…
    Lance Alot's avatarLance Alot on Developer Diary, December week…
    Lance Alot's avatarLance Alot on Developer Diary, October week…
  • Archives

    • February 2022
    • December 2021
    • November 2021
    • February 2021
    • March 2018
    • December 2016
    • August 2016
    • July 2016
    • May 2016
    • April 2016
    • March 2016
    • February 2016
    • January 2016
    • December 2015
    • November 2015
    • October 2015
    • September 2015
    • August 2015
    • July 2015
    • June 2015
    • May 2015
    • April 2015
    • March 2015
    • February 2015
    • January 2015
    • November 2014
    • October 2014
    • September 2014
    • July 2014
    • June 2014
    • May 2014
    • March 2014
    • January 2014
  • Categories

    • Uncategorized
  • Meta

    • Create account
    • Log in
    • Entries feed
    • Comments feed
    • WordPress.com
Create a free website or blog at WordPress.com.
Adventures in programming, et al.
Create a free website or blog at WordPress.com.
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Subscribe Subscribed
    • Adventures in programming, et al.
    • Already have a WordPress.com account? Log in now.
    • Adventures in programming, et al.
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...
 

    Design a site like this with WordPress.com
    Get started