As promised some weeks ago I finally got around capturing a video of the totally new user interface that I decided to put into “Phase 2″. As mentioned earlier it’s not only a visual “upgrade”, making the UI more sleek and futuristic but also adds a lot of information to the default view and also brings in lot more usability. As you can see in the video most parts are already done, though there is still some work to be done before I can call it finished. But it’s already coming along nice and will surely add a lot to the final game.
(Note : The video is available in HD, but sadly only at 30fps, seems like youtube caps videos at that framerate)
And amongst other things I removed the nation backdrops. Yes, I did put a lot of work into them (I’d have to guess, but I think several hundred hours) and they look quiet nice (though I was never really satisfied with all of them), so you may think it’s stupid to thrash so much work (along the countless hours of work I thrashed when doing the new UI), but I wouldn’t have removed them if it wouldn’t have added something to the game. And this “something” is a feature I’ve been getting several requests for, called “better global overview“. Due to the old backdrops the globe was fixed to a single position and was also limited in terms of zooming. But by removing those backdrops (and making the game partly look like one of the old betas) you can now not only freely rotate the globe, but also drag it around freely and zoom in and out by a larger factor. This adds a lot of overview as you can now just drag the globe where you want it and zoom in much closer to get a better look at the regions themselves. Take a look at the video and you’ll notice what I’m talking about.
Amongst these bigger changes you’ll also see the nuke in action in the new video. Nothing really new as I already had videos of the nuke prototype, but along with the nuke you’ll see something new, namely physical values. Something that I recently changed were the regional values that felt too abstract, so instead of having a factor for e.g. of population you’ll now see real population counts, that should make it easier to relate those values.
So you see it’s progressing. Although at times I feel like I do a lot of work for nothing (like recently when spending my rare free time for fixing stuff that I broke at some point), even small steps add, and hopefully I’ll have this game done at some point or at least a beta release I can build upon (which is actually my current plan).
Time flies by, and so the last posting is already collecting dust. As usual I’m not getting much time to work on “Phase 2″, but I’m making steady (though little) progress on an (almost daily) base. So the new user interface I’ve been talking about in my last posting is in (with a few minor things to be done and sorted) and it looks stunning, adding a lot to the game, both in terms of visual style and usability. And I’m also stitching all the parts together (again) so that I may be able to release a working (up until recently you couldn’t even really play a whole game without crashing and such) within the next few months. I’ll have to admit though that it took me longer to implement it as projected, but every time I see it I know all the additional work was worth every minute spend on it, and I hope that this translates to players of “Phase 2″ too.
And where light is shed, there’s also usually darkness as well, and this time it’s Turbo Delphi. I guess I should’ve never switched over from Delphi 7, but the bigger the game gets the more problems Turbo Delphi has coping up. The IDE is running out of memory at least twice a day (it starts out with roughly 60 MBytes of memory and then goes crazy up until 1.4 GBytes of memory are used by it). I installed all hotfixes and DelphiSpeedUp and “Phase 2″ is not causing any memory leaks, so I guess it’s the fact that Turbo Delphi was never meant to be used for bigger projects. And yes, I also tried switching to Lazarus and FPC but dropped the idea. I like FPC (with all their advanced stuff that’s been promised for the Delphi compiler ages ago and never came), but I never liked lazarus, so I don’t see the game going this route anytime soon, so I guess I’ll have to stick with Turbo Delphi until “Phase 2″ is finished.
So stay tuned, I’ll also have a new work-in-progress video up soon that’ll show the new GUI in all it’s glory.
Yes, you read that right. In a “shocking” turn of events I decided to scrap almost the whole old GUI for “Phase 2″ in favour of a new and better one. Most of you might now ask if I went insane or so, but to counter this I’ll elaborate on why I scrapped the old GUI and decided to put a new one in :
When I’m not in front of my PC and working on “Phase 2″ (that’s actually the only thing I’m doing in front of the PC nowadays, no more gaming or such, spare time is rare for me) I always have pen and paper in close range so I can put down and work on new ideas anytime they hit me. Those of you that do game design (or anything related with design, art or such) know that you usually never get good ideas in front of the PC cause there is so much to distract you while in front of it. So some days ago I was relaxing a bit (watching the snooker world championship, congrats to Neil Robertson for winning it) when I suddenly got struck by a great new idea for a GUI redesign that would not only look much better than the old one, but would also add functionality and more information at the same time. You must know that I actually was never really satisified with the old UI, as the totally different looking windows (‘though they looked kinda nice) made the UI look messy without a real direction. So I got this great idea that would make the UI look like it was made from one piece and get it in line with the design of the main menu and the nation selection screen. So this is what my idea looked like on paper :
And so over the last three days I tried to press out as much spare time as possible to get a first implementation of that idea running within “Phase 2″, and although there is still a lot of stuff missing (but that’ll change within the next few days, it’s not really hard implementing this new idea), it’s already looking great, and it’s even animated, adding a bit of dynamics to the whole UI thing. So before talking about the new functionality, here are two preliminary screenshots (with lots of things missing) :
As you can see it really changed a lot. But contrary to the redesigns of the old windows this one is not only a visual change but rather adds a lot of functionality as well as usability. In the first shout you can see the new “navigation bar” with all symbols to access the different gameplay areas (and one new icon, more on that in the future, it’s nothing spectacular). But what you also can see is a lot of free space besides (and below) these symbols. And that free space will be used to permanently display important information. When it’s finished you’ll be able to directly see what global project you’re currently working on, which technology is being researched, how many units you’re constructing and much more, adding a lot of usability.
And on the second screengrab you can see what it looks like when a “window” is opened. Although you don’t get to see it in screenshots, this action is animated. If you click on a symbol, the navigation bar will slide to the right side of the screen to make room for the window while the window itself nicely slides to the left. Closing the window reverts it to the state seen in the first screenshot. Note that later on I also plan to move the globe to the left when a window is opened up to always have the globe visible.
So although the new design is still under heavy developement and missing a lot of things, I’m positive that it’ll turn out to be a good one as it makes the UI look like it’s made from one piece and also adds usability to the game. And another positive effect is the fact that it doesn’t take me weeks anymore to design visually appealing windows.
It looks like my dungeon crawler prototype isn’t actually evolving into a game, but much more into a personal testbed for more-or-less current rendering techniques (due to Projekt “W” I’ve been lacking in the field of recent rendering techniques a bit). And so one of the things I always wanted to implement were shadows for omni-directional light sources. I’ve been doing that with stencil shadows years ago, but stencil shadows aren’t the preferred way of doing this nowadays due to their limitations, including sharp edges (yes, there are ways to get around this, but they’re expensive in terms of computing) and a high demand for fillrate.
And I’ve also done shadow mapping some time ago, but back then only for a spotlight, and that’s pretty easy (basically it’s just a way of projecting something onto the scene). But omni-directional lights are a step further and It took me some time to get them to work. One of the hardest things holding me back were troubles using depth cubemaps in my shader. So now I’m using a normal cubemap (RGBA) for the light source and each face stores a custom calculated depth value (done in a separate shader) that’s then used in the final calculation to apply shadows to the scene (done in the same shader that does lighting and parallax mapping).
After deciding to take a small break from working on “Phase 2″ for Projekt “W”, I decided to do something I’ve been thinking about since I played my first dungeon crawler (Eye of the Beholder) over 15 years ago : a random dungeon generator. Back in that time I already gave it a shot but nothing really ever came out of it, so I decided to try again. But this time it worked out really nice and I now have a fine random dungeon generator, creating nice random dungeons that could be used in a game. Actually I even have an idea for a game using this, though if it ever sees the light of the day it will be a very unique take at the “genre” and it won’t be a big project (cause at some point I’d like to release “Phase 2″).
And since just telling you that I made something like a random dungeon generator wouldn’t really be worthy of a whole news posting I also wrote a rather extensive article on that subject. It’s not a tutorial or including the source code, but it’s rather a journal on how I started from scratch trying to create a random dungeon generator. So maybe it’s interesting to some, but since I also talk about how I do it people may also get some ideas out of that article on how to do their own random dungeon generators. Note that the generator is neither finished nor that my solution is the perfect one, but I think it’s a nice take on the whole subject.
Jason McMillen (aka “Will”) from Pascal Game Developement has put a lot of effort into getting together the first issue of the “Pascal Gamer Magazine”, an online published free magazine showcasing the state of the pascal game development scene (which actually includes me as I’m using Delphi for development). The first issue is filled with a lot of interesting stuff, and when Jason approached me for an interview and a feature about “Projekt W” I couldn’t resist. So you’ll also find an extensive interview with me (about “Projekt W”, my development in general, physics, etc.), features about “Projekt W” and a lot of interesting articles written by other talented coders out there, including reviews of several games made with pascal.
You can grab your free copy over at the offical page of the Pascal Gamer Magazine (PDF, ~25 MBytes).
While working on the global project feature of “Phase 2″ for Projekt W, which will include weapons of mass destruction, and therefore some explosions, I needed a nice looking explosion texture with a working alpha channel. Sadly all the freeware explosion generators I tried did not offer a way to export the animation into a format with an alpha channel and moreover weren’t very flexible at all (especiall in terms of texture resolution or grid size). Therefore I decided to quickly put up my own explosion animation generator, and also decided to release it to the public. So here you go with the all new Explosion Texture Generator (in short ExploTexGen to go in line with my TerrTexGen), which is of course freeware, and the results may be freely used in your applications.
Here is a quick summary of it’s features :
- Create countless different explosions. Each explosion is randomized and all important parameters can be changed
- Exports to PNG complete with an alpha channel. No more black backgrounds and additive blending for your explosions anymore. The result texture inlcudes a full alpha channel
- Different texture sizes (from 256×256 up to 4096×4096, depending on wether your graphics card can manage that)
- Different grid sizes for setting the number of animation frames on a texture (4×4, 8×8, 16×16)
- Use your own particle textures. Either use the included ones I made from scratch or create your own particle textures and use them
- Change the parameters. All parameters used to calculate the explosion animation can be changed to make each animation unique
- Watch your explosion within the application. After generating a texture, it’s shown in realtime together with a preview of the animation.
As you may know from my recent postings I don’t get much time to work on “Phase 2″. It’s progressing, a lot of stuff is already in, some of the new features are finished, some others are still being worked on and other new features right now only exist on paper. So judging by my current progress since “Phase 1″ it’s still a lot of time to pass before “Phase 2″ will be released, but reading comments and mails I think a lot of people are interested in seeing more of “Phase 2″ than just the screenshots I post from time to time.
And although it would mean additional work for me (not that much, but still I have to compile the whole package each time and upload it) I thought it could be a good idea to upload a current beta of “Phase 2″ in irregular intervals. On the positive side this would give all interested players a chance to get a glimpse at the current progress of “Phase 2″ and let’s them see real progress (instead of just screenshots). The negative side would include most evident drawbacks of a beta like instabilites and crashes (although the current version is very stable), non-finished features and graphics and the fact that savegames between betas may not be compatible (meaning it’s mostly possbile that you’d have to start over). In addition to this it would give you the possibility to add feedback on the new features that I then can add to “Phase 2″ so it would be in for the final release. Otherwise I’d have to wait for feedback on the final version and then (if needed) release a patch.
Since releasing the beta would be additional work for me and adds the risk of scaring away people that think a (possibly bad) beta represents the final game, “Would you download and test betas of “Phase 2″ or would you like to wait for a final release instead?”. If there is enough interest, I’ll get out a beta as soon as possible, otherwise I’ll stick with my plans to release “Phase 2″ when its’ done.
As you may have guessed from the lack of updates since my last post I’m not doing any coding at all for some time now due to various reasons, and I can’t tell when I’ll continue work on “Phase 2″ of Projekt “W”.
So right now I spend my spare time playing games (I recently bought Dead Space, and I do a lot of racing with GTR Evolution on my Logitech Formula Force EX racing wheel) and right now I’m playing through Fallout 3, which is made by Betheshda, the same guys that did Oblivion. But personally I prefer Fallout 3 a lot more than Oblivion, mainly because of the post-apocalyptic setting of the Fallout universe. The game’s world again is huge, you’re free to do what you want (but they changed a lot since Oblivion, so venturing into certain areas with a low level will get you in trouble), the artistic style of the scenario is great (and I bet it’s hard to design a good-looking destroyed environment) and overall gameplay is great too (though there are some minor things that could have been made better). Even the german dubbing is well done (although there are no prominent voices in there like Malcolm McDowell for the US version).
But one thing really annoying is a thing that’s not Betheshda’s fault, the (stupid) german censorhip. You see, I’m 27 and I think I should be able to decide what I want to see, play or listen too. But once again a game that’s labled with a huge red sign telling you that it’s not allowed to be sold or played to/by adult people has been heavily cut (no gore, almost no blood, no dismemberment and so on) and I’m forced to get an uncut patch form the depths of the internet to let me play the game as it’s intented. Actually I thought germany was part of europe, but somehow germany still holds on to it’s utterly stupid and archaic censorship system that even tries to “protect” adult people, that’s just poor in my eyes.
But enough rambling. I made (and still do) screenshots while venturing through the stunning world of Fallout 3 and uploaded them here if you’re interested. You can find the Fallout 3 gallery over here (Hint : all shots are safe to watch at work).
The launch of NewtonPlayGround turned out to be more or less smooth. Though the people that downloaded it already found some bugs, none of them were real showstoppers (which are actually a coders nightmare). Up until now there have been 8 bugs/problems reported, with none of them being something really serious and so I already fixed all those bugs and found two more by myself (also just really small ones).
So though the NewtonPlayGround is a real complex piece of software, and one user already made a very complex buggy, there have been much less problems/bugs than I feared when releasing it.
The bugfixed version (called 1.51) is already finished and will be uploaded within the next few days, cause I still want to wait and see if more bugs or problems pop up so that I can fix them. After that bugfix release, it should be stable to use for even bigger stuff.
And although I haven’t promoted it too much (I’ll do more promotion after the bugfix release. I just don’t wanted to watch half a dozen forums/pages for bugreports) it already generated almost 2 GBytes of traffic since it’s release. So maybe this will be my most successfull piece of software up-to-date!
P.S. : If you have any feedback to leave, go to the official thread on the newton forums. You can also see what some users are doing with NPG in that thread.