Build 1404 Available for Download
For a while there, I was worried that I’d have to spend tonight writing a post on why I blew a deadline, but, thankfully, after much frustration, I do have something to show. It’s not much, but it is something.
The jump from UDK to UE4 was a bit wider than I had first thought, but it’s manageable. My biggest hurdle so far, believe it or not, has been dealing with the freedom that C++ provides, as compared to Unrealscript. Part of the issue is that C++ provides a couple thousand more ways to shoot yourself in the foot than Unrealscript does (and as Bjarne Stroustrup pointed out, when you do shoot yourself in the foot, you blow your whole leg off), and part is the utter bewilderment that comes from suddenly having a huge amount of really complex, really awesome options laying in front of you. Being presented with so many choices all at once is a pretty intimidating overload.
The best example I can think of right now is pointers. Since the last few languages I’ve been working in have been Javascript, Unrealscript, and Fortran, I haven’t had to do much with pointers since the last time I took a Data Structures class, and I’ve gotten a bit rusty. Being able to shuttle around just the address of an object is fantastic, provided that I remember the syntax and – most importantly – name my variables in such a manner that it’s easy to tell the difference between an object an it’s pointer at a quick glance. I was kinda forced into these better habits after a number of occasions in which I got complete gibberish when I was expecting a string, and – most recently – a segfault and hard crash-to-desktop every time the ingame hour incremented. Back in Unrealscript, these errors would never have happened, but it was also a hell of a lot more complicated to get different entities talking to one another and passing information around freely. The few extra minutes spent debugging (and subsequently asking myself how I could have been so stupid) is well worth it.
I’ve also started posting code to GitHub, though I probably should move everything over to Assembla at some point in the future so that everything is in one place and I can easily reference commits in tickets [edit: just found, set up, and tested GitHub/Assembla integration]. I haven’t actually ever used Git before, and after a week with it, I’m wondering why in the hell I ever put up with manual backups before.
…not to mention that I lost about two weeks of time to The Elder Scrolls Online, but that’s a story for another time.
Changelog
The time system is working! It’s not plugged into the sun, so the sky doesn’t update, nor is it plugged into any kind of onscreen display, so you’ll need to run the game with -log to see the time change, but hey – it’s working!
added a zoomable third/first person camera. Use the mousewheel to zoom in and out. I plan on adding an option to disable head bobbing, but for now you’ll have to deal with it; apologies to anyone who gets easily seasick.
Known Bugs
There’s no menu, so to exit, press [`] or [~], (below [ESC]), type exit and hit [enter].
Download
You can download 1404 (binaries are included for both x86 and x64) directly from icannotfly.net. If you find any bugs, please let me know.
Please Note
All development and testing is done on the 64-bit platform: I have done only minimal testing with the 32-bit build and cannot guarantee anything about it.
To start the game, extract the contents of the archive, navigate to icnfrpg/Binaries/ and then to either Win32 or Win64, depending on your platform – if you’re not sure which one to choose, go with Win32. From there, make a shortcut to icnfrpg.exe somewhere, rightclick on the shortcut, go to Properties, and add -log to the end of the Target field.