Hello very soon I will be posting up the game I created during my first year at university, BIO-CRISIS although the name will possibly change in the future if I ever decide to rework the game. Its a pretty simple platformer really, but considering it was developed in around 4 days its really not that bad, there just a few changes I will be making to the game before I post it up here. One of the changes was to the menu screen just to.. well make it look a tiny bit more professional. It was developed as a 2 level demo and for now will remain that way.
So right what have I been doing, what have I been doing hmmm… well I did go on about uni work and not having enough time for anything it seems very much true, even lost a very beautiful young girl over the matter. But life shall go on.
Coming up to the end of uni, really need to work on dissertation, engines still absolutely terrible and I’m absolutely starting to freak out about the whole deal, but I’m pretty sure that’s the same for most students. As far as the actual engines concerned I’ve done “little” work little in the sense that there’s so much to do at the moment I’ve barely dented the surface. So many problems cropping up, bad code things I regret.
Engine Updates -> About 4 days ago I decided to start making a Minecraft Clone on my engine has been coming together very quickly. Screenshots below from the start to now. Texture Pack credit should be directed to BDCraft.net.
1) Modded/ Hacked the existing TileMap class to add an extra Dimension, For those/ everyone that doesn’t know the TileMap class in my engine used a chunk based system in conjunction with opengl’s diaplay lists (Don’t Judge) to render some pretty large maps.
2) My engine has little in the side of physics at the moment, box2d can technically be used but is not supported, So I added a few new colliders to the engines native physics system, this included an AABB(Axis Aligned Bounding Box) and a Ray. The systems very much brute force at the moment, but is currently not much of a concern as we will be working on a grid area with a limited number of collidable objects. Using these two new objects I went about creating another class to handle the collisions in the world itself a new type known as CubeMapCollider, it takes a reference to the CubeWorld and uses this to basically work out collisions that may be occurring. When checking for collisions in the world from a ray the CubeMapCollider will work out a set of tiles within the bounding volume of the ray before then checking each tile/ block to see if a collision has occurred, after computing the collisions and distance it will work out the collider object which is first struck. At the stage depicted below, the actual collision algorithm was slightly questionable, at this moment in time I had not worked out how to detect which specific face the ray had collided with on the AABB so for the time being I just added a new tile above which ever tile the ray collided with when the right mouse button was pressed.
3) At this point I was working primarily on optimizations(reducing memory usage, increasing FPS), I made sure only clockwise winding faces are drawn for a start, then I moved onto culling sides of the blocks that where not visible, and various other optimizations. in the end I managed to render a world consisting of over 2 million cubes-> to quote myself on facebook: “current rendering a cube world of 256X32X256 with chunks of 32X32X32 so around 64 chunks with a total of 2,097,152 blocks in the world and getting between 290 – 320 FPS on my computer. Not bad.”
4)The culling of hidden faces left it problematic when dealing with blocks with transparent textures, Its an easy fix but is not fixed yet.
Sorry everyone I find it hard to update my blog regularly at the moment, I have a very busy schedule between uni work, social life and my own personal programming so I find i hard to do much else. Not to mention the time I spend travelling (6 hours to uni and back every day I go in).
Unis going well got some good grades so far this year hope by the end to have a good classification, very interesting lecture yesterday an X-game designer came in to do a presentation was very informative. Continuing to work on my dissertation and project “Lightweight Game Engine Developed in C++” see nightmare engine blog, hopefully by the end of this month Box2d will be integrated… just finding it hard to find time to get it done at the moment.
Minor update to PSVPAD, yes there was a minor update to PSVPAD, completely changed how the program operates, still very simple application in itself and the codes not totally satisfactory but gets the job done. Managed to play some games very efficiently with a weak connection getting no lag so if you guys can get that to work then happy days its far better than previous versions. It was always planned to be a dedicated remote controller however. I have been discussing with some close friends the possibility that I might add option remote desktop/ play support which is a consideration at the moment. I will definitely clean the code up at some point so expect another update soon.
Thats all for now
have a good day
Just so people know all comments posted are moderated at the moment due to spam, So don’t worry if it doesn’t show up straight away.
I’m working on an update for the application for all those interested… However is not as much an update as a rewrite so it may take some time, I’ve encountered some bugs and problems along the way… The PSV PAD was actually the first piece of networked code I have ever written so it was actually quite poorly written and not very well optimized, hopefully with the update it will have substantially less lag, all tests so far have shown positive results. I’m actually currently having problems with data getting jumbled together along the way which is resulting in the application freezing and crashing at the moment due to desalinization errors on the server side. The new version of the application groups all the data together on the vitas side serializing it then sending the data over the network together. As soon as I’ve fixed the bugs and got it running smoothly I’ll post it up here…
Just as a quick update because I haven’t updated my blog in a week or so, I’m having some time off from the engine development as its quite heavy on my brain as-well as reevaluating whether this project is suited for the time scale given. Because as I said before although my engine is an on going project which I will continue to work on it is still unconfirmed that I will be using this for my university project. There’s always other things on the table that I can work on that might be not quite as grueling but still potentially great projects. I do actually do a fair bit of programming in my spare time but most of the time I deem it not worth mentioning, little more that a mass of prototypes nothing more.
As far as other ideas are concerned I would still like to stick to the c++ route as I can really show off my technical ability and really give people an idea of what I’m capable off.
As far as other things are concerned as I say I get up to a lot of stuff in my spare time for the most part not worth mentioning, However recently I came up with a simplistic idea for a game which I could make during my time off this summer. Its got a simplistic game play, but could be very fun and have a nice set of fun mechanics yet still being easy to add to and code. So for me its a very manageable small project that I can work on. I don’t really want to express any more information about the game at this point as its barely even a prototype. I will however mention that its going to be using the unity game engine and if it carry’s on to becoming anything short of a game I will make it free to play and put it up on here.
As far as my future is concerned I have began to make some plans towards creating an actual development portfolio separate to this blog literally just showcasing my work and abilities and nothing more. Just so I can make some division between my ramblings on this blog and the portfolio. Because in many respects a lot of the stuff that goes on this blog is pretty irrelevant to employers and they would probably like to see me from a more professional and technical light that this blog gives off.
Now finally as far as the last week is concerned I literally took some “time off” from the programming to play some games and just chill out for a bit just so I can evaluate what I’m doing a week long procrastination sesh if you wish. There’s a lot of decisions I need to make at this point and well I just need some time to reflect and make some good decisions. Some irony is to be had when I say time off from programming as I spent a good part of the week in GMod getting to grips with Expression2 programming and making some interesting things in that, nothing too advanced didn’t want to commit all my time to something like that when I could be working on something better if you know what I mean.
Right for those few individuals that do read my blog thank you . And yes I know I’m not a very good writer I’m working on it OK.
Hello and welcome to my blog, I really didn’t have the time in order to update my website all the time and I really needed to start making a portfolio so basically I decided to start a WordPress blog, I am keeping the website but the only thing that’ll probably be updated at the moment is this blog until I have more time.