About MorleyDev (twitter: @MorleyDev)

An interning software developer studying for a Computer Science degree whose programmed since his young teenage years as a hobby.

MorleyDev's Trophies

MorleyDev's Archive

Calling it a Night, Thank You and Good Luck to all

Posted by (twitter: @MorleyDev)
Sunday, August 26th, 2012 4:21 pm

No way I’m getting this done in time. Spent too long on the background under-the-hood code. Possibly because that’s the part of coding I personally always have the most fun. Probably why I’m on the Platform team at work, we make the system and make it work. Let the Application team worry about the best shade of Cornflower Blue :)

On the bright side my design turned out rather modular and flexible, and I am definitely going to create something properly using a more refined variation on this design at a later date (and the lack of time limit will let me use proper TDD and the like). I’d try and push for the Jam but tomorrow I have plans unfortunately.

If I take part in the next LD, I’ve learnt a lot here and had fun, even if I have nothing to demo by the end of it but a sprite moving around the screen, even if it is a reasonably well coded sprite, with an Entity-Component system and Endpoint -> Service -> Data architecture rolled out entirely in these two days. I learnt from my mistakes and will hopefully have more to show in the future.

Major respect for the other LDers who actually get something done without getting lost in background implementation details, as I did.

If I could do it again, I’d pick a pre-existing “engine” (hate that term) instead of writing my own. I just can’t write fast and hackish code without feeling unclean, but for rolling things yourself I’m not experienced enough to do anything but in the timeframe. I fought against that, and it took me too long.

Also I’d impose a much stricter “sprint” system, planning out from the start goals on an hour-by-hour basis (using hourly iterations) with a set of things that needed doing I could pull from. I tried this by the end, where I started to pick up the pace, but it was too little too late.

Code by the end is on github for the curious. https://github.com/MorleyDev/ld24Evolution

tl;dr – I failed hard, but had a blast doing so.

I may have gotten distracted…

Posted by (twitter: @MorleyDev)
Sunday, August 26th, 2012 11:53 am

And spent way too much time working on base code. Now I have ~6 hours to go, and I have…physics working. Not even player control! xD On the bright side my architecture is pretty sweet. At the top level you have two concepts:

View | End-Point
The View is what the computer sees and feels. It’s your display, your audio and your inputs.
The End-Point is the logical steps the program must update. AI, Players, Physics and Collisions.

Beneath these, you have Services
Services are the “business logic” of the system, they manage all discrete calculations and the movement of data. So the Physics End-Point will use the Entity Service to get all Entities with the Physical component, and then pass those Entities into the Physics Service in order to update them to the next frame of physics. Same things apply to AI and Players, the End-Points tie the Services together. You get the idea (I hope).

And then you have the bottom, Data
Data is where all information is stored and accessed through Repositories. So you have (for example) an Entity repository, a Sprite repository and an Audio repository. These are accessed through services.

Nothing knows about anything above it in the hierarchy, and it’s turned out to be flexible enough that I can almost dream of getting it finished in the next 6 hours. Unless something else distracts me.

Probably should of used a premade Engine…but where’s the fun in that?

So I have an idea!

Posted by (twitter: @MorleyDev)
Saturday, August 25th, 2012 12:23 pm

Well I had it awhile ago, but I got angry and lost in my hacked together attempts of doing it quickly (and on a livestream no less, oh the humiliation) and went back to paper for the design.

Now I have a ridiculously modular set of code, which is neat, and can start on the game part without feeling like committing acts of penance. My idea is pretty simple. I didn’t want to make you fight something that evolved, too complicated to do in code and too boring to hack in level design. Then I realised, Evolution is Adaptation.

So I decided to go back to the arcade way of making games. Hordes of enemies, kill them all. Arcade style top-down shooters, yay! And where’s the evolution? Whenever you die, you get to go back to the drawing board and tweak the stats of your ship. Ultimately it becomes a score attack, find the best ship to combine with your skills to get the highest score. Too many fast enemies on that level? You could just increase your ships size, decreasing speed but giving it more resistance to damage allowing it to crash through the enemies and just soak up the damage.

Or why not decrease the size and super-charge the boosters? You’ll be brittle as heck, but you can use your enhanced speed to match, dog-fight and dodge the enemies.

That’s where I’m going with this. Maybe now I have a cleaner code base (Using a surprisingly Service-orientated architecture) I can actually start making stuff happen. *gasp* Heresy!

I hereby declare entry to Ludum Dare 24

Posted by (twitter: @MorleyDev)
Friday, August 24th, 2012 6:07 am

Hello world and it’s loved ones. I am MorleyDev. I’m an English computer science student currently on a paid internship at an awesome company obsessed with agile development. Yes, I have been indoctrinated in those ways, so this Ludum Dare will be an interesting test for me. I will be streaming via Google Hangouts and Air, so feel free to check that out. I’ll have to put up links as they go online because of how hangouts on air seems to work (don’t think you can have a permanent link to an unstarted Hangout or embed unstarted Hangouts in a web page, unfortunately).

Well that or you can follow my new Google+ account or my new YouTube channel. That could work too.

Language: C++ (GCC for the new C++11 features, using the latest nuwen.net build for MinGW to compile on Windows)
Libraries planned on using: Boost, JML, Google Mock, UnitTest++, SFML, Lua
Targeted OS: Windows, maybe Linux if I have time.

Starting code – Well it’s not exactly “code” but I’ve created an Eclipse project with options to help me do some Testing and Cross-Compiling (if it comes to that). I hope. Maybe. It has some empty mains and the like but nothing “game” related so hopefully it’s allowed and nobody will lynch me in my sleep.

Where I’m not too worried – I’m a programmer. I program. I’d like to think the coding in and of itself won’t be too hear-pulling-out-of-head-and-feeding-to-self-difficult. I’d like a challenge sure, but a challenge I can do.

Where I’ll probably fail – My graphical skills are to be compared with a blind monkey drunk off it’s arse, high on every illicit drug known to man and being repeatedly hit over the head with a shovel. The monkey is also dead. I’m not an artist and so my “art” will be simplistic at best and ugly at best.

Where I’m worried I’ll fail – Ideas, obviously. But also time management. I like to test code and such, and so my feedback cycle will need to be a short one. I’ll probably use compile time to make art assets and such to keep my momentum but it’s a big concern for me. Coding on a slow-as-slow netbook last Ludum Dare actually made me ragequit due to the slow feedback cycle, but since now I have my quad-core hyperthreading laptop back from the repairing place that hopefully won’t be an issue. Hopefully.

– MorleyDev (http://morleydev.co.uk/)

MorleyDev: …..totally overslept and

Posted by (twitter: @MorleyDev)
Saturday, April 21st, 2012 7:40 am

Yeah. Overslept. Lost lot of development time. Live in UK. Forgot to post “code at start of dare” which is in zip file: download

I’m using C++11 and, at the moment, Allegro5. Trust me when I say it’s not that impressive and my bandwidth is limited so…go easy on the clicking please :)

I’m going to go for a more “Arcade” style of game (may or may not be due to how I may or may not have had a dream about Space Invaders last night). Graphically it’ll be…look, I’m a code monkey. My art skills are rated slightly below “blind mentally challenged pigeon” so….yeah. Also sound is close to the bottom of the “to do” list. If I somehow have time I’ll add it, otherwise…well, play some music in the background or something.

Also my main laptop is broken bust and in repairs, so I’m using a netbook. So no streaming and compiling times are silly long :( Next Ludum Dare I’ll have better gear and be able to stream and timelapse and all the magical things you people love.

But my hands are in.

– MorleyDev (http://morleydev.co.uk/)

[cache: storing page]