Showing posts with label random. Show all posts
Showing posts with label random. Show all posts

Tuesday, July 21, 2009

Blog and website combined: www.mhgames.org

Hi, to all my readers (yeah all the two of you! ;) ):
I have created a new website, that is a combination of my old game site and this blog. No need to worry, the blogging will continue as usual, just head over to the brand new site at http://www.mhgames.org and browse away!

With this post I'm freezing this blog, no more updates here. I will let it stay online for archival purposes, although all this content IS already imported to my new blog so nothing is lost. :)

Thank you for your interest, hoping to see you at mhgames.org!

-- Mika

Sunday, July 5, 2009

Geez, it's been a while...

Time for an update, I reckon.

Although PolyAnim is generally on hold due to the game project, I made a few optimizations (reducing garbage generation mostly, still quite high though) to it. As for the game, I'm still working on the engine side -- BUT -- I've written down some things on the game plot and other design! I have a vision of the game beginning, but the actual plot still needs to be thought up. Sooo yes, I don't have much at all, but it's a start. :D Luckily I don't have too much pressures on the story side, as even if it ends up sucking donkey balls (excuse my language), it's still infinitely better than the "stories" of my previous games combined! ;)

Meanwhile, in the programming land...
It's been so long since my last update, I've worked on so many things I don't even remember them all. Instead of trying to remember the details, I'll just list the things I do remember:
  • First of all, I started using revision control for the source code (+ related resources). Instead of using the familiar Subversion, I decided to try something new and thus chose Git. All in all, this helps me keeping track of the things I do and also serves as a backup in case my computer decides to blow up. Git is nice since you can use it locally, on any directory without a server.
  • VBO (Vertex Buffer Object) support. This means storing geometry to the GPU and rendering it in one batch. Basically it means better performance. Using VBOs I could optimize the text rendering by buffering the rendered glyphs into a batch, up until the buffer fills up (or the texture changes). The buffered glyphs are rendered in one go, and the process starts again.
  • Particle systems! I started doing a "particle engine" a while back, got it done except for the different emitters. I still need to finish this up: complete the basic point emitter, add more emitters and add the ability to load particle systems from resources (perhaps a YAML or XML file). VBOs are used to render the systems, when supported by the GPU.
  • Lighting system improvements. Lights can now have different effects on them, like flickering, fading and pulsating. The effects are defined in a YAML file of properties.
  • Player character designs. I'm not sure if this guy ends up being the final character, but might be. I did a quick idle animation for him (need to adjust that a bit, though), I should add a walk cycle next as it's quite boring to watch now. (The previous animation, test from PolyAnim, did walk!)
  • And now for something completely different: Water effects. Yes. This is mostly eye candy (as Box2D doesn't support buoyancy yet, I think the water is only going to be used for restricting player movements as in the player can't swim..) so it made no sense to do it at this phase of development. But I did it anyway, I'm childish like that.. :P The water reflects the scenery above (provided the GPU supports Render-to-texture) and I even wrote a fragment shader to make it all wavy and twirling..
I have noticed a problem during the development of this game, which was not apparent on my previous game projects (since they were much shorter): I have this annoying tendency to start working on different (sub)projects even when the previous stuff is still not finished. That means I have heaps of unfinished subsystems in this engine, like the particles, scripting, triggers, etc. And I'm already thinking of doing the sprite system and other things as well! I mean, what the hell, it should be bloody obvious I should concentrate on the unfinished things and finish them.. :P Argh, hopefully I can sort this mess out. Speaking of which, I guess I should start coding the particle system to an usable state.

And of course, to all aspiring game developers: design the game first, damnit! Figure out the plot, setting, characters and whatnot BEFORE getting sucked in the bottomless fathoms of Teh Engine(tm)! Yes, I really should take my own advice some day! :P

Monday, January 26, 2009

On Fallout..

Last week I finished Fallout 3. I somewhat rushed it through, as the urge to start playing Fallout 2 had grown too strong! :P I probably continue playing FO3 from an earlier save later, since I had heaps of places I didn't get to visit and a good deal of unfinished quests as well.

So what do I think of the game? Well.. It's a great game - much better than Oblivion, for example - looks great and sounds great. I enjoyed my time on the wastes a great deal. But... how could I put this... It's not Fallout! :/ While there are plenty of things done right (the VATS system works quite nicely!), it's still missing much of the good old Fallouty spirit.. The biggest problem is the dialogue: it's just not that good, especially when compared to FO/FO2. NPCs feel like answering or quest machines. Where's the humour? Not much of it left. The ending was not very good either, although not as bad as some people claim it to be.

Nevertheless, as I said, I enjoyed the game a lot, and will be playing it again. :) Perhaps they should've called it Fallout: Something something something, though. I had a few problems with the game: three freezes (two of them while approaching Evergreen Mills) where I must restart PS3, one crash and several little (graphical / physics) bugs. Not too bad, I guess. Lots of PS3 players have complained about worse problems.

And after completing FO3, I've been playing FO2 again, after many years. As I mentioned in my last post, I never actually finished the game and have held FO1 as the better game. Let's see if the order changes after I finish the part two. It's very hard though (at least in the beginning), much harder than I remembered. I think I've hit a bug though (I'm using Killaps unofficial patch 1.02.25 - highly recommended, I've yet to try the Restoration Project), skip the following paragraph to avoid FO2 spoilers.

*SPOILERS* I cannot seem to be able to give Bishops holotape and the Raider account book to Lynette in Vault City. I wiped out Bishops in New Reno, found the holotape in the safe. On my way to Vault City, I cleaned out the Raiders cave. At Vault City, I can tell several people I've neutralized the raider threat, and they say I should tell the First Citizen, but I cannot give the account book to Lynette. Nor the holotape. I tried before doing the Gecko power plant quests and after - doesn't work. Oh well, I guess I cannot complete those quests then. *END SPOILERS*

Now I just need to plug GOG.com, the Good Old Games! The service is excellent, so far I've bought FO1, FO2 and Gothic. The games come prepatched and DRM free, it's great. :) Good stuff, highly recommended.

Friday, January 2, 2009

Holidays and gaming

First post of 2009, yay. I've been taking a break from, well, almost everything: school, work, programming (yes, even that!) and instead spent time with family, playing games and being lazy in general. Isn't that just what holidays are about? :)

I have played lot of games lately on the PS3, mostly Little Big Planet and in these last few days Fallout 3. Little Big Planet is really fun, especially when played together with others (in my case that means my fiancée Annemari <3). style="font-style: italic;">Little Dead Space level was brilliant.

As for Fallout 3 (got it for Christmas), I'm very enthusiastic about it so far. * Feels a lot like Oblivion in places, but that doesn't bother me since I like Oblivion. My current Oblivion save has almost 60 hours put into it, and the game isn't nearly finished (I'm currently on the Shivering Isles expansion). The main quest is a bit dull, I don't like cleaning the Oblivion gates (hence Shivering Isles).. Fallout 3 on the other hand seems much better and more interesting. Maybe that's because there are hundreds of games in the generic fantasy world but only a handful (I'm only aware of Wasteland and Fallout 1 & 2) in a post-nuclear environment. This time Bethesda even hired more than three voice actors, wow! The game looks and sounds great, obviously. I guess I'll comment it more after I've finished the game.

After I'm done with Fallout 3 (not too soon, I reckon), there's a lot of unfinished stuff to play: GTA IV, Oblivion, Lego Batman.. :) In fact, I might even start Fallout 2 again, as I have never actually finished it(!). The original Fallout I've finished with at least three or four characters. Good times.

*) Yes, I'm aware the PS3 version is the worst of the bunch. However, it has trophies now and I haven't had any problems so far, apart from some minor bugs like a severed molerat head that just couldn't stop rolling around. The lack of anti-aliasing is a bit distracting, but nevertheless I can recommend the PS3 version... unless you got other options. I didn't (my PC is a bit too old).

Tuesday, November 18, 2008

Random things..

Before getting carried away with the platformer rambling, again, here's something about PolyAnim. Yesterday I added automatic polygon triangulation for concave polygons into PolyAnims LWJGL-renderer. This is mainly for convenience, since the triangulation is quite expensive - it remains to be seen if this is fast enough for more general use. At least with simpler scenes it might work alright. Convex polygons should still be preferred for speed reasons, but I admit it: they're major pain in the ass when animating. It's cumbersome to build and animate non-convex shapes from several convex pieces.. Hopefully somebody will contribute faster triangulation code at some point! ;)

What else.. I've been working a lot on the platformer engine. JBox2D got an update, so I ditched the old polygonal approach (which had a lot of problems, as Box2D is very picky about the shape of the collision polygons) and implemented the collision geometry using the new feature: edge chains. They work nicely and are just perfect for this kind of usage. I use triangulation with convex decomposition now only for the renderer, which luckily doesn't mind very thin triangles. I've added more eye candy as well, generation of level outlines and support for background/foreground polygons (which are not collidable, of course). I still need to implement other decoration elements, such as a stripe of grass blades running along top edge of things, for example. Parallax scrolling is something I want to have in too, I mean, if you're making a side scroller, why shouldn't there be parallax scrolling!? =)

And finally I did bite the bullet and implemented those damn PBuffers (enjoy the picture there, that's them buffers giving me hard time!). They work okay when FBO is not available, but they're yucky to code. Luckily LWJGL makes it a bit less painful than it truly is. Looking back, in Funguloids things were almost too easy, as I had Ogre at my disposal! Along with PBuffers the thing now supports plain old frame buffer copying as well, though I couldn't be bothered to make bloom work with it (lighting does, though, which is more important anyway).

While fighting with PBuffers, I noticed I could make the bloom much faster and more importantly allow for more shader effects if I used RTT (render-to-texture) same size as the screen dimensions. I could then render the scene only once to the RTT (currently I have to render twice!), have bloom shaders use that and actually do the final additive composition in the fragment shader too. Having a screen sized RTT would allow some neat shader effects like screen distortions and shock waves. There's one problem, many cards don't support rectangular (non power-of-two) RTTs.. The solution: separate rendering paths. I would implement several render paths with varying amount of shader and RTT usage, then determine what the host system supports and have things running nice and solid. Sounds like bit of work to me, but I guess the end results would be worth the trouble. We shall see. :)

Oh, and I've finished my bachelor's thesis, like a month ago. Forgot to mention that earlier. :P Now I'd need to decide if I continue to write master's thesis on the same subject, or choose something completely different. If only I could think of a subject having to do with game programming, that would certainly help with the motivation..

Wednesday, October 8, 2008

Long Time No See

So what's going on for me in these days? Well, that depends.

Not much coding, unfortunately (or is it unfortunate, don't know really.. :P). The fact is, while the Qt Jambi patch is now out and indeed fixed the problem I was having, I haven't found out the motivation to work on the editor. That doesn't mean I've abandoned the project, not at all. I have these periods when I just don't feel like doing much hobby coding, if any. But no worries, some day I find myself hacking at it like no tomorrow! ;)

Guess what has been draining my free time recently? PS3. No kidding. PS3, that black monolith, a product of pure genious (not unlike the monolith in 2001: A Space Odyssey!). That's mostly what's going on here! Oblivion (GOTY edition), GTA IV, Uncharted.. Oh, and the wondrous Blu-ray capabilities!

Speaking of movies (well, technically at least), I finally updated the movie list with latest additions. Unfortunately I had forgotten most of their purchase dates and prices, so I couldn't add those.. Note to self: enter new movies to the "database" in much shorter time span from the purchase than this. I'm also celebrating my first Blu-ray movie, I Am Legend. It was a nice flick and the picture looked awesome even on my 32" HD-ready TV. Looking forward to having more BRs. ^^ (damn they're expensive, though!)

In other news, I'm still working on my Bacherlor's thesis.. Hopefully I'll get it finished in few weeks tops. That is all for now.

Saturday, August 23, 2008

A quick update..

I haven't been coding much, but instead writing my Bachelor's thesis. There's still plenty of work to do before it's finished. Well, serves me right for not starting it earlier in the Summer like I intended to.. ;)

School starts in September again, yawn. The Qt Jambi update I'm waiting for might also happen in Sept.

Oh, I went to see The Dark Knight again - it was even better this time, like I thought it would. 5/5 it is.. :)


Friday, July 25, 2008

Why so serious?

Saw The Dark Knight today. Awesome movie! I'm still digesting it, but it feels like a solid *****/***** for me. Now, just waiting for the dvd release.. :)

Sunday, July 20, 2008

Somewhere Back In Time 2008


Just a short post, for a change: Went to see Iron Maiden yesterday, it was great! \m/ Above is a photo I took - one of the few that actually turned out alright..

In addition, I managed to wash my cell phone in 40 degrees Celcius two days ago. It doesn't work any more. :(

Oh, and PolyAnim now has some Java Web Start demos up at http://code.google.com/p/polyanim/wiki/WebStartDemos..

Saturday, June 14, 2008

Intellisense in Visual C++ Express, and getting it working with Qt 4.4

Visual Studio Express editions are nice and free, but Visual C++ 2005/2008 Express seem to be lacking in the code completion (or Intellisense as it's officially known) department. If I recall correctly, in MSVC++ 2003 (version 7.1, that is) Intellisense worked perfectly. When writing new code, Intellisense picked it right away, even without saving the source file. I never had any problems with it.


In MSVC++ 2005 and 2008 (Express editions, I haven't tried the full featured versions - although I doubt they'd work any better..), the code completion has definitely taken a step backward. It just doesn't work as nicely as it did in MSVC++ 2003. It seems to parse the source files quite lazily, and sometimes just doesn't work at all. When given a moment, it works again. I've found out that switching between Release and Debug from the toolbar dropdown causes "Updating Intellisense..." to appear in the status bar. That helps, but it's still not very convenient.


As I recently installed and compiled Qt 4.4, I noticed that Qt classes would not be in the code completion list at all. I included Qt's include-directory to the "VC++ Directories" in Options. That wasn't enough. Finally I got it working by including "$(QTDIR)\src" to the "Source files", and listing all the Qt include subdirectories separately in "Include files".



Monday, June 9, 2008

Status update

Just a quick status update: school is now over (apart from one exam), the application project course that lasted for four months is also finished. I'm glad that it's done. :) I've started going to work as well.

My sekrit projekt(tm) is proceeding, albeit quite slowly. Today I have coded it a lot, though. It's still too early to be shown - not that there is anything interesting to show in any case.. Not yet. But fear not: I'll write about it once it is developed a bit more. ^^

So yes. I'm still alive.

Friday, April 25, 2008

So it's finally come to this..

Yes, I've started a blog. I'll try to write here at least somewhat regularly, but knowing me, it's probably not going to work.. ;) I'm quite busy in school (a software project course going on right now, it's big!) at the moment, but I should be able to do more this summer. On the other hand, I do have work then and I'm hoping to write my bachelor's thesis too.. So we'll see. I have some other plans too, but I'll talk about them in another post.

And that's that. I guess this shall do as The First Post(tm).