So I have finally started to post some of the backlog of posts. I have been mainly doing this as a form of procrastination from other projects that I am currently involved in. I will do more recent updates once stability happens though I wont have an excuse to procrastinate then. The blogs are mainly supplementary to the posted images. Images maybe worth a thousand words but without overall context they lose meaning. I also welcome feedback and constructive criticism.
Disclaimer: Warning the first half of this blog contains much technical ranting as I was in a seriously bad mood over the last few days over some technical problems that occured - Click here to avoid
This is somewhat different from my usual blogs thus far where I usually try and play catch up on the blogs I should have written as I was doing the stuff. I have been doing alot of backend stuff as lead dev for a Development Group and soon to begin on unannounced mod as of late. My time being already pretty limited and outstretched by college as is I grasp every opportunity to procrastinate and write these blogs. So why is this any different from the others I have posted?
Well last night I noticed that one of the forum apps wasn't functioning. I traced down the problem to the php not writing the necessary script. This was fine as I assumed that it was down to an admin had inadvertently been playing with the setting and either switched the access from being public to admin or vice versa and so the app stopped working. It seemed like it should be an easy fix and if nothing else I would uninstall and re-install. I was still a bit perplexed as to why this had happened in the first place as it was highly unlikely that any of the other admins had touched anything nor had I done any recent installs or modifications to the system. I just chalked it down to the fact of things happen. I set about trying to re-install but after various failed efforts I decided that perhaps the API of the external service provider had changed and that I may need a updated version. It being three o'clock in the morning I was decided that I needed sleep.
Having left my laptop to power down and was about to hop into bed I forgot that I hadn't checked to see what ungodly hour of the morning I was in college for. My usual phrase of "its way too early in the afternoon to be awake" should give some indication of the random sleeping patterns. Trudging back downstairs I booted up the netbook and loaded up the interwebbs. I had a number of tabs still open and one was the forum. It was displaying a lovely 503 error for the front end. I thought it was just my netbook but going around the room to the others still awake 4 other laptops decided that they too were giving the same error. Since I could still access the backend I presumed it was just another symptom and that maybe it was a problem with the forum and not the app after all. I was way too tired to play ball with it so off to bed I went.
Waking up a few hours later I noticed there had been a nice stream of emails from everyone telling me there were problems, lots of problems. I had college to get to and so was pre-occupied it wouldn't be until a few hours later that I would get back to checking out the problem. By the time I go back it was after work hours so I sent an email off to tech support. I had to wait until the next day before a response so it was a good opportunity to get some sleep for a change. It appeared from my end that my hosts webserver has gone down so there was little I can do with it until the help desk technician realises the problem isn't on his list of stupid questions. I know he has to ask those questions when you start a help call, though when explain that it isn't anything to do with it he still has to go through them none the less. He should probably escalate it. I'm sure I caused the problem in the first place and like wise my own response time of sending email is questionable but when he is blaming the problem on an index.html as the problem I question competency.
Its a bit annoying when you know more than the support guy but I suppose he is only doing her job so I should give him a break. While he does his thing I have been rapidly FTPing all the content to ensure I don't lose anything and yes the other servers works, and doing sql dumps as we speak. So after numerous back and forth emails they decided to restart the server application pool and low and behold everything started to work again. Those evil server gremlins magically gone. So now just need to replace some apps and everything will be like nothing had ever gone wrong. So I'm feeling alot better now and think that I over the situation already so should probably go and do some work.
After all that It then appears that the initial problem had nothing to do with the hosting service so back to the drawing board on that but i'm glad to have the server stable again. I tracked it down to a php function not working for reasons beyond me and echoing anything fixed it. I ended up writing a custom version of the app, even after my house mate, an experienced PHP user was left him more confused. It really was a TECHNOLOGY HATES ME week.
As I finished that rant I noticed the title of this blog was originally going to talk about had Chocobos so I really cant' leave them out. So back to the not so modern times and my development cycle of doing something and subsequently getting distracted by side projects I ended up creating Chocobos. At this stage I had developed the dynamic lighting as far as it could go, the train had progressed nicely but was still such a large project that I didn't want to take back on full-time. I wanted something interesting and new that nobody hadn't tried before. Lets face Chocobos are awesome. They have been the stable diet of the Final fantasy series and are probably one of my favourite reoccurring creatures. But I not need to figure out how I was going to do this.
My original idea was to have some form of gambling office, where the players could bet on various races and as I quickly came to realise on the forums the community hadn't the resources to implement every random idea that gets thrown about.Sometimes though with a plan you just need to start somewhere and see where it leads. So I decided that getting a working Chocobo in-game would at least be major set in terms of overall progress. My first thought was to just up and replace a skin on a base creature.
So I googled lots of images and searched everywhere for things that would be useful to start the process. I found a reference chocobo by a member who had been around a year or two before me but had since then moved on. You might know of for his famous Final Fantasy Mod collection for Oblivion called Lord Mad Dog. I dropped him an email in any case to see about using his stuff for reference and thankfully got a reply for use of his stuff as he was no longer developing it. Happy days. I then set about creating my own version and think that I did quite well. It is still very much a work in progress but looks good none the less. I am quite happy with how this turned out at this stage. All this ranting has tired me out so I shall leave you with this.
I suppose there are two camps when it comes to modding, one which likes to dive head first into the foray and start producing lots of shiny things and seeing where it leads to. The other side of the argument is from the organising everything so that you can see the whole picture group. I do like pretty pictures. Neither are particularly wrong. I suppose it all depends on the scale, motivation and how self organising people are. When developing any mod though its good to know what the overall direction is, the context to why you are developing in the first place and the overall scope is something that should be decided in the early stages of the production cycle. There are certain things that get concreted to avoid confusion amongst developers. None the less it is still important to leave room for discussion as development is often an iterative process and rarely do people foresee every minute detail. In terms of the mod I was helping to develop we didn't have a strict direction but rather we had an area we would be working on.
With all that philosophy out of the way I suppose this blog should probably get some direction of its own and get around to actually doing something; something interesting or relevant, hopefully both though interesting is relative i suppose. Im in way too much of a philosophical mood at the moment which really isn't helping with where im to go with this.
I suppose this all started with some idle discussion over on the IRC channel. I think that I brought up about direction and scope because one or two members on the forum had started a role-playing topic. Personally I have little interest in this aspect of the genre, every developer has his likes and dislikes but being able to understand and embrace those areas to see what they they contribute makes for a better designer. So drawing from these areas came up as a conversation topic and what the genre was like as a whole.
This got me thinking about how there are many people have played most of the games within Final Fantasy series and yet who I would not necessarily put under the umbrella terms of hardcore gamers. Living with six people at the moment I was surprised that three of them have played much of the series to the point that various discussion have arose on a wide variety of topics because of their own in-depth knowledge of the series. This all started out with just asking if people played Final Fantasy and subsequently led to alot of the series being replayed for nostalgia sake and serious completionist sessions ensued.
It is important to realise that its not just the hardcore gamers that play games every waking second of the day but there is a much larger audience out there. This lead me to question the stereotype have been associated with gaming and particularly both the RPG genre and Final Fantasy series. Needless to say I got a sudden moment of inspiration and a terrible joke was born in the process. Sometimes in order to solve a problem you have to work backwards and in this case it was the punchline of a bad joke I had reverberating in my head based off of the stereotypes being discussed that led to inspiration. Needless to say the joke was pretty tasteless and went something like this.
How do you make a fan boy drool? To which I was going to replay by sending this image followed by the punchline - A Really Big Sword.
This was just a generic sword which changed the scale on. Nothing fancy but I quickly decided that I wanted to start working on proving the concept of getting swords working in-game. I modelled out the sword and unwrapped it properly. I wasn't patient enough to produce my own texture just to prove the concept so generated a normal map from the base texture. The sword was imported in-game and got all the additional data associated with swords working too. Not bad for a an hour or two of research and development. And for those of you curious to know the joke turned out it was well received.
During my last post I had hinted at moving between projects while working on the train so that I could keep motivated during the modelling. This would prove to be quite beneficial as I decided to do some more simple models but I could concentrate on getting better acquainted with some areas of the modelling pipeline that I was either avoiding or hadn't much knowledge of.
I cant remember the exact epiphany but I came up with the idea of implementing dynamic lighting. The premise was that I would create a set of lights which would automatically turn on and off based on the time of day. I know this has been done in some game to varying degrees the one coming to mind being Oblivions use of torches and window lights but its not really a widely used feature.Certain fire sources would be always lit even during the daytime even though they weren't needed. I thought that getting this to work would be a neat background feature giving nice atmospherics but in a non-obtrusive way. The player wouldn't be aware of it but they would notice something changing everything cycle. This would make the world feel dynamic.
I decided on doing a set of street lamps that could be incorporated into the mod as reusable props should the concept not work. Modelling the lamp was one thing but the initial idea came about as part of a brain wave I had whereby I wanted to implement dynamic lighting. As part of this proof of concept I would do all parts of this from making the models, UV wrapping, texturing, materials and exportation to in-game.
The way that I had planned on getting this working I though was going to be quite simple. I would animate the model so that the light turned on and off, however because I thought it would be simple it of course turned out not to be. My initial idea was to have the emissive value of texture of the light bulb alternate between fully emissive to none. That way the light bulb would alternate from being on a off and I could tie in a script in-game that would play the animation forward to light the bulb up and play backwards when I want it to turn off. This worked in theory but not in practice.
After exportation and getting it in-game I found couple of anomalies/bugs. The animation was not being exported. Excluding the animation from the equation I got the emissive part working but only sometimes. It appeared that depending on the angle at which the player was looking would make the emissive effect appear or disappear. Doing alot of testing and some consultation from Shinrasoldier3 we isolated it to the alpha values of the glass material that I was using. The engine didn't like rendering emissive and transparent materials overlapping each other.
Not one to give up I decided that this could be solved using alpha valued textures as we have already a could of models with window which contained objects with emissive properties. I decided to concentrate on figuring out why the animation wasn't working either as I thought that I could also try working around the problem by making parts of the object render or not so that the parts don't conflict.
The export scripts were able to export both by using embedded animations or as a separateÂ file containing the animation. In both cases I checked the the animation files and didn't find the necessary animation nodes. This was unfortunate but looking back now it was very good as I had to make contact with the guys who developed the export scripts - nifscripts over on Niftools. I contacted Amorilia and he was a major help as the feature was meant to be working but had stopped working in some prior versions. So as he worked on the scripts I alternated between this and the other projects I was working on but I still worked on it from time to time trying to find alternative solutions.
This was definitely a worthwhile project not only from implementing an idea and working around the limitations of the engine but also the wide community that is out there in terms of modding for this game and modding in general, but the knowledge I gained in each of the areas needed to do all the individual components. I'm hoping update this and include it in some upcoming work once current events equalise but I will go through those in subsequent blog. For now I think th t this is long enough and that I have covered enough of this topic so I will end here for now.
So I had been with the mod about a month or two by now and adapting the ethos of working through doing. The mod in general had began to take some direction in terms of having a goal and working towards it. We were going to make a demo that would be a proof of concept. We were going to make the subway section from Midgar and have it crash. This allowed for exploration of the train segment and some initial exploration of the plates - the main city area. I decided that having completed the hurdle of getting content in-game that I needed to aim for something higher so I decided to take on the task of modelling a train engine.
I have posted pictures of the progression from early inception to near finished model. This was a long process as I was picking up alot of things and learning off-line while I was trying to complete this project. Work-flow is something that I still really need to work on. I don't know if I am just a perfectionist, slow worker, better work ethic or work-flow. I am still amazed at the rate some people are able to create things.
This train was based around image references from both games and fmv's references we could find. I think that it I made some good progress on it but when your working on a single project for a protracted period of time that you start to start at it, get no-where and eventually become frustrated. Its both important to take a step back from it and analyse the segments that need improvement. This gives both a sense of accomplishment and renews the drive, but this only works for so long.
Sometimes you have to switch it up and this is a good thing as in my case I went and did other projects which in turn allowed me to achieve a better end product in terms of what was required from the model. The knowledge gained from the later project applied to the model was mainly texturing and animation specific. These were due to me dipping in and out of other projects.
Although many of these projects remain for the most part incomplete due to reasons pertaining to the mod itself, my own workload increased dramatically, finishing up work placement and return to final year college has meant that alot of my fun time has been taken away from me for the time being. All of these projects will be getting the necessary attention in due time but for the moment I am too busy to take back up modelling but I hope to once I get things under control after recent events concerning this mod.
I recently upgraded to Blender 2.5, I was testing its rendering ability and recorded this video to see how well it would render while also streaming the video feeds and recording it. I was quite impressed with the end result.
Do you ever get one of those moments where someone is trying to explain something to you and even though they are speaking perfectly logically the information just doesn't seem to be quite sinking in. Although it doesn't happen very often, thankfully only once in a while, it does someone feel like someone puts a wall right in front of face, like watching a bee at the window; you know it going to constantly try to get outside but can comprehend the glass in between. Derp.
One solution I that I have found to help solve this problem is to visual the problem space. In this case ShinraSoldier3 was having some problems with building the world space. It involved the height at which the models should be placed at and how the default height of the cells was causing some unusual side- effects. He was trying to explain the problem and I just was understanding him in the slightest. I was getting to the point of frustration and so I decided to put down the problem and my methodology to trying to understand the bits of the problems so that I could piece it together as a whole picture. And here is the picture that I came up with to sum up the problem. It was more to amuse ourselves at the time as when you both reach the point where frustration you need to counter it with some humour. Its good to take a step back an assess the situation.
Being the new guy is always tough. It wasn't long after before I was replaced as the resident newbie. At this time in the mods life span there were 3 main active modellers, Shinrasoldier3 - Lead Developer, Tempus - Modeller, Composer and General Energiser Bunny of work and myself. There had been some notable models done by Killerx20. The guys does insanely good models. He provided us with the main bulk of models for the city. The rest of the work concentrated on making a subways section demo as a Tech/Proof of concept Demo.
Although we weren't a big team or making fast progress things were coming along. I was enjoying the learning curve in very much a learn for yourself environment. In hind sight the lack of direction was what would ultimately lead to problems further down the line but we'll get to that again. At this point I could get models into the world which in my book is a milestone in terms of modding for Fallout. Using the vanillia content is one thing but when you see your own creation in there, there is something more intensely fulfilling.
So the new kid on the modelling block was Poor Rufio. Although there were a few people who had good intentions to learn to model he was the one who had shown the most promise and drive. It was around this time that I was starting to experiment with getting collisions working so I decided to help him out with getting things working as far as I had gotten. He had only been learning Blender for a short time but was able to get the basics modelled, UV-wrapped, textured and so it was time to export and get it in-game.
It is about this time that I came up with testcube. The premise was to do a simple model to test some feature and simply name the testing object testcube, which could then be scaled into the real model at a later date. Anywho me and Rufio were doing some testing and the four images from the initial Blender test model. This was the basic textured model he was trying to replicate as I had done. He was having some trouble with UV unwrapping so I showed him how to use the testgrid. I showed him how to export the model as a .NIF and we got a static version in-game. Now I went back and worked on my own to get collision working. After a good bit of research I found out how to add the necessary Havok metadata to the pre-exported file that would be used in the collision detection. The end result was an object which I could pick up, shoot at and generally interact with other objects in the world, albeit with some initial undesired consequences. Making sure that you have given the object sufficient mass reduces the likelihood that shooting it will make it fly off miles into the distance. Lesson learned.
So I started into the world of modding and was now part of a mod development group. They had some promising work already started but the actual developer team only consisted of about five people. So in order to help out with tangible work I needed to help with doing some modelling. Although I wanted to help out with the organisation more as I felt it was more warranted the team ethos was that of progression through doing. This I thought was fair enough as it is only right for someone new to prove themselves before giving them a substantial role. I know people hunt for specific people for certain positions and it works so I decided to go with this methodology.
So the first thing that I needed to do as a modeller was to get something, anything into the game engine.Though I didn't really have any direction as to what I should do I decided that this was probably the best course of action. Although I had some previous experience with Blender getting a model in-game was another story. There was no simple tutorial into getting this done so I had to alot of research.
Thankfully there were already scripts being developed by the guys over at Niftools. On a side note they are an incredible bunch of guys who are one of the reasons the Gamebryo based mod communities are quite large. But I digress.
Anyways so I decided to do something simple, in this case making a simple cube. Not to bore you with specifics at this point I may leave that to a further blog but I ended up modelling a simple bevelled cube as a prototype, attached a texture, and exported it as a .nif, a Gamebryo specific file format. I had some problems with it rendering incorrectly initially as Fallout was looking for the textures in its own archive. Since it had no attached gamelogic elements in terms of collision the player can walk(clip) right through it. Not the desired effect but this was certainly progress.
This was what cemented me into the development group thought it was only the start of what I would have to learn, some necessary while other learning just happened to be something random that would pop into my head. I will go through some of these development throughout this series of blogs.
So I'm going to play catch up on some blog work that I have been meaning to do for quite some time. I was in second year of college and had some free time that I knew was coming up from college as I was heading on placement I decided to just go for it. I started looking about here on Moddb for some interesting mods that I thought would be good to join.
I think the first mod that I decided to look at was an Oblivion based mod called Operation Stargate - Oblivion. I had previous done oblivion modding and Stargate was definitely something that I have both knowledge of and am interested in, though not an obsessive. I got in contact with the author but at the time he seemed to be very dispondant as far as the future of the mod as he wanted people to contribute world and he would combine them. He was a solo developer and only seemed to be doing a small conversion of some basic models. He has since re-worked the mod to include a varriety of genres and the mod seems to be progressing.
I then looked at some Resident Evil based mods. The majority of them were Half-Life 2 based and though I have previously worked with the source editor I felt that I wanted to work with one of the Gamebryo based products. I wanted to gain more in depth knowledge. So I shyed away from them but have been tracking them ever since.
The final mod which I came across was a Final Fantasy VII mod called Mako Dawn Mako Dusk. The mod is base around the fictional metropolis of Midgar set in the Final Fantasy universe. I have been a huge fan of the game since playing the original version and from some of the content they had on display on their profile it seemed very promising.
The mod was being developed on the Fallout 3 platform. I hadn't used the the updated content set so was very interested in getting to know what this mod was about. I applied on their forum and made an application for the position of Organisation and Modeller. The initial piece that I submitted as a portfolio piece was my 3D model of Gir.
So I have finally gotten around to updating my profile. It has taken some time, there never seems to be any so instead of doing the things I should be doing procrastination has gotten the better of me and the is no time like the present. Hopefully I'll get around to posting some blogs about the various images that I have posted recently. Assuming that someone is actually taking the time to read this blog then feel free to comment and feedback are always welcome.