Ludum Dare 23
About AD-Edge (twitter: @Alex_ADEdge)
I’ve been working on and off today on some Socket.io JS programming, in the hopes of making a mini-multiplayer game for this Ludum Dare. A bit of a change from the graphics heavy 3D games I usually aim to make, but a nice change nonetheless.
After about 3-4 hours – I had a nice blank file (<– this tweet seems to be broken right now?) and 1 line of code. Looking at things now, a few more hours on, and I can at least say I’ve made something so far which actually does something.
So not hugely confident I’ll be looking at something playable in the next 34 hours, but I did manage to get a simple chat program working using sockets to send/recieve data via a server script to/from multiple clients. So… thats something! Its my first time using socket.io so progress has been slow, havent even looked at the game-engine side of things but I’ll be seeing what magic I can make happen with Phaser.io tomorrow.
Current state of the to-do list (red line was where I was hoping to get to by the end of tonight – so close):
Now, time for sleep! (pulling an all-nighter on the first night is the worst move you could make, for anyone currently wondering about this!)
This will be my 4th LD (excluding miniLDs)
Hoping for a theme like ‘End of the world’ or ‘Outer space’, something which could be scifi.
But we will see! No point getting too attached to a particular theme, I’ve made that mistake before.
Game Engine: BGE
Also, big night. Hung over and on about 3 hours of restless sleep right now. Got just less than 4 hours for a powernap O_o
But close enough!
Certainly didnt get around to a few major features that Id really hoped for (like being able to steal a car – kinda important in a game that references Grand Theft Auto)
But I’m certainly happy with what I did get done over the weekend. ‘Super Theft Auto’ is a good start for an interesting little mini game.
You can play the current version of the game at the following link after installing the plugin (links/instructions are on the page- the only major OS not supported is OSX):
[LINK] (youll also find it on the CharityGameJam games submission screen of course)
Theres also a link on the page to a .blend download of the setup for the computer VideoTexture scene, youll need Blender 2.64a if you want to mess around with it.
- A game within a game – You start in a 3D world with a 3D computer, the (kinda) NES style game plays on the screen of the Funkytron computer (press space to zoom in and focus on the screen to actually see what youre doing)
- Large city area to explore (sadly only on foot at this stage)
- Pedestrians wander around the city (they make good target practice)
- Cars driving around (rare and very basic implementation)
- Gun ammunition to pick up
- Basic scoring system (you can score points for killing people)
I have version 0.5c of ‘Super Theft Auto’ now available for public testing/playing/things.
The game is my take on having a game like GTA2 on the NES (or at least a 3D Funkytron console) I havent really kept as close to the NES specs as I would have liked, but I think its turning out ok so far, its been a lot of fun to work on if anything.
Theres not much to the gameplay. I still need to add some major features in. But theres some initial pedestrians now, a title screen, various other much needed improvements – I can see this actually being a game sometime in the near future. I really need to add the car system in though, the map is quite large (spent too much time working on that tonight). Its too much to explore fully on foot.
You can find the game embedded in this page – [LINK]
Youll need to install the ‘Burster’ web plugin to use it (unfortunately Mac is not supported), but Linix and Windows (64&32bit) will both run it fine. The plugin is a ~26mb download, and is easy to install. Theres instructions & links to download it on the page I made for the game.
Feedback would be great, I know theres not much of a game, but Ill take any crits or suggestions. Also knowing if the Burster plugin install is a smooth process for you would be great as well. I hate having to install a plugin to play a game as much as the next person, but Ive tried to make the page as helpful as possible.
Anyway, its past 2am where I live, and Ive been running on 2-3 hours sleep all day (was a bit night saturday night). Im starting to see random flickers/objects in my vision, so a good indicator to get sleep I believe! Plus programming in this state is so slow and frustrating Id be better off sleeping.
Im not sure how much Ill be able to get done in the final hours tomorrow, but I hope to at least implement a few more crucial features (like death and a points systems) – We will see!
Missed posting at the 24 hour mark! ~19 hours to go, close enough.
Making some more progress, but the past few hours have been slow and problematic. I ran into one large problem, which was a kind of ‘grey’ area cause by modules/functions Ive never used in combination before (not sure if anyone has tbh). The main problem came down to the default use of ‘mipmaps’ in the BGE and Blender itself. Basically, mipmapping doesnt work well with sprites. It ‘blends’ the pixels of textures and the results are blurry, ugly sprites for super low-resolution stuff, ie the image below shows the effect:
This is fine in Blender itself, you can simply globally disable mipmapping, problem solved. But the issue existed when I then tried to run the game in the Burster plugin (for web-browser play), mipmapping was on by default – and theres NO way to turn it off. So the all-important browser version of the game was completely fuzzy.
My initial idea was to completely redesign the ‘architecture’ of the game. Splitting the Scene into two independent scenes, one for the 3D computer area, one for the mini-game area being projected onto the screen. I wasnt even sure if the VideoTexture module would work between scenes (which is the only reason why I didnt setup the game like this initially), but after a bit of hair-pulling coding I managed to get it sorted. I then applied a pixelated shader, which was applied to the mini-game scene so it would be pixelated, even though mipmapping was permanently enabled.
The new problem: The shader was applied to the scene, but the VideoTexture plugin wasnt ‘seeing’ the now pixelated version of the level, so the screen was still blurry even though almost everything was running exactly as Id planned.
After some more hair-pulling moments, another much simpler solution came to mind, all I had to do was increase the texture size to sharpen the pixel edges (compromising with slightly larger file-sizes). Major derp moment. This solution took 5 minutes to implement (thankful this is still early on and I dont have hundreds of textures to edit) whereas the previous failed method took almost 2 hours. Gah! At least the scenes are better organised now, the ‘architecture’ of the game is much more solid so its not a complete loss…
Either way, I just need to sort out a sprite animation issue and I’ll have a playable demo up and running for people to try out.
Heres a look at the shader too, it worked pretty well and I’ll probably use it in future projects. You can see it in the background scene, a kind of ‘distant city’ view which is the current WIP city for the game. I wont be using anything like this in final game now (happened completely by accident) but I thought it looked a bit interesting.
Im about done for today’s work on the game. Made some progress, theres a player sprite which runs around, and a basic environment (road with buildings either side and an intersection) along with some cars that randomly spawn and can drive into you (blood splatter included), now I have other things to tend to
A friend of mine might be getting involved with the game while I’m away for the next 10-20 hours, so progress might be made (hes been working on music for it today). Then tomorrow will be time to sit down and start finishing things! Ive purposefully aimed pretty low with this game, I’ll just get as much done as possible and enjoy it.
Either way, the game Ive been wanting to make for this is effectively ‘GrandTheftAuto re-imagined for the NES’. I hope to have at least 1 gun, cars to drive/steal, blood to splatter and sidewalks to drive down, maybe even some simple kinds of missions. We’ll see!
Might also mention, I 3D’ized the gamepad texture recently released as well, so now theres 2 controllers in the scene (which adds to it nicely I think!)
Was into the idea of this Charity Jam right from the moment I first heard of it. Maybe its the awesome theme, maybe its the fact that its for charity (which already doubled the initial funding goal) – Just noticed McFunkypants has increased the funding goal because of this, good move
Either way, I’ve gone ahead and started my day by donating, every bit helps, so I suggest anyone who is able to donate.. To donate!
Now for the game jam side of things. I like the idea of the template, but wanted to use the BGE (Blenders Game Engine) for this LD (as I do for most Ludum Dares), so yesterday I thought Id come up with my own 3D template, you can see the end result below.
*Edit* Removed gif, was unoptimized and bugging out my browser, click the pic above to see it^
This version was more of a ‘proof of concept’ for myself, as I wasnt sure how well the screen projection would work (if at all). So yes, that game you see on the screen you *can play*. Its effectively a 3D game, looking like a 2D game, projected onto the flat 2D screen of a 3D Funkytron in a 3D game world <- this is the kind of thing I think up when I say to myself “lets keep this miniLD nice and simple!” -_-‘
Everything worked as I wanted though, VideoTexture (the BGE module responsible for projecting that realtime display onto the Funkytron screen) works wonders. Then, to further complicate everything, I decided it would be a good idea to use the Burster plugin with this game. For those who dont know BGE too well, or havent heard of Burster, its effectively a web plugin which lets you use run your BGE games in-browser. It complicates things because Burster has a bunch of restrictions, mainly on what python functions/modules you can use. A bunch of them are blocked for security reasons.
Thankfully, it works, so you can play this template version right now! Controls for the game, along with instructions and links to download burster are all on this page – http://www.delta-edge.com.au/GameTest/game_test.html
Feedback on if this works for you would be great! Also just basic feedback on how annoying/easy it is to download/install Burster and get the plugin running would also be handy. Thinking of using this plugin for future Ludum Dares depending on how it goes for this one.
The only downside to Burster is no Mac support, but 32/64bit Linux & Windows are both supported.
Also, as with any Ludum Dare, I’ll be providing the source code/files for the project, starting with the template (would be great to see others using this!)
Template download: http://www.mediafire.com/?qkfr3ijlfoqwkqz (Youll need Blender 2.64a to open the .blend file and edit the game) – This game is using the Blender Game Engine (BGE)
So thats all for now. The LD starts in <1min, so I have a game to make! I’ve got a friends going-away party happening tonight, so Ill really only have the next few hours and the final 24 hours to work on a game, most of today Ill be afk. And Ill post about what type of game Im planning later as well!
Finally finished putting together the timelapse from my Ludum Dare weekend. So check it out!
*Edit* Changed the video to the correct timelapse – how embarrassment…
I also look forward to hearing more feedback on my game, so if you feel like playing a 3D survival horror/puzzle game, then the page for my Ludum Dare entry is here – [link]
Now its time to get voting. Ill probably do one more post, a summary of my favourite games from this LD (I plan to vote on at least a couple per page of entries, that way Ill get to at least see all of the games, and play a good deal of them too) Ive seen some pretty awesome ones so far!
Well, that weekend was a crazy 48 hours. A lot of it is a blur (Im going to enjoy watching my own timelapse since I cant remember 75% of everything I went though)
The best thing though – Success!!
This was my 3rd Ludum Dare to date, yet the first where Ive actually finished an entry. I was cutting it close too, last night I got to sleep around 4am, and at that stage it was T-8 hours, and I still didnt have a proper level or any puzzels to solve. So after sleeping 3 hours I had a very compressed burst of productive work to get the final level design and features down (I was still finishing off a pretty important feature at T-10mins) O_o
Either way, it was an enjoyable experience and I was very glad to get something finished which I could call a ‘game’. I might venture away from a 3D game for the next LD however… So-much-work…
Im keeping this post quick, cause Im actually struggling to stay awake at this point.
You can check out the entry with the link below (Windows 32 & 64bit versions only atm) Ill have a linux one up soon hopefully, and mac potentially soon as well. And a timelapse soon too!
And now for voting! Good luck to everyone, I look forward to playing a bunch of games
And w00t! – For LD getting 1000+ games on its 10th birthday
Its getting to crunch-time now! And whats the first thing that happens?? A power blackout. Yep. Awesome. Thankfully (as of writing this post) it seems to be back, my battery got me though it, with a couple of hours to spare.
Funny thing is (or rage inducing if your in my shoes) – this is the 2nd power blackout during this LD so far! Its unbelieveable. No blackouts all year.. then as soon as the LD weekend comes along – two nights in a row. Last night was the worst however – from 1am to 8am. Thankfully I took the time for a snooze.
Either way, Ive made some progress, but today was a pain, fraught with programming dramas and reoccurring issues with certain bits of code. Thankfully I managed to code a couple of bits a lot quicker than expected. Making a function to allow the player to get back up after falling took no time at all, and jumping/running was super easy.
Im yet to start the proper level design though, having only just implemented most of the features needed. Still to be done is the 3 main sections of the game + the intro & sfx. Its going to be crazy towards the end. And I still need to sleep at some point….
Heres the potential title screen I just came up with, its a screenshot taken with game assets, and Ive applied an oil-canvas filter to it, to get a bit of a cartoon/painted look. Ill do a few more like this, for the intro sequence if I have the time. –
Feedback and comments at this point would be great!
Last night had its difficulties (power went out, of course) but at least it might make for a more interesting timelapse – slowly watching my battery drain away. I got a few more hours sleep than planned as well, which is only a good thing on the first night. I feel like tonight will be a tough one, wont be getting much sleep at all.
Either way, since the last post heres the updated ‘implemented feature list’ so far (new stuff in bold) –
- Cockroaches ( basic behavior programmed and simple model) – now animated
- Basic test area for testing features – with some items to collect
- Player setup and physics (basic walking animations, movement, physics (you can fall over) and camera-look done so far)
- Dynamic lighting initial setup (dynamic shadows working)
- Player recovery – you can now get back up if you fall over
- Running and jumping
- Inventory (going to keep it basic, since the system I made is very simple)
- Doors which only open if you have the right key
- Spiders – fully animated with walking and idle animations
- The players main ‘power’ – the ability to take over small creatures (and hence the theme)
Next up I want to give the player a proper light source, and a model for cutscenes and the intro animation. Then its time to get into some serious level design and put all of these features to use.
Couple of screenshots:
So at the 41 hour point, I wanted to do a quick summary of where Im at (with some pictures!)
The initial creepy/horror game I wanted to make was made difficult by the theme selection (in typical Ludum Dare style), but one small detail of the game stood out – the little bugs and critters I wanted to make which randomly scurried around the floors in a medieval style abandoned(?) dungeon. So, this is where ‘Tiny World’ comes into it, and I think Ill be able to work with the theme nicely.
Anyway, Ive got most of my checklist from this morning finished so far, with a few features left to implement later tonight, finished things are as follows:
- Cockroaches ( basic behavior programmed and simple model – others will be based off this) – Cockroaches turned out more complicated than planned but it was good fun, currently they all spawn with a unique amount of health and move in a random fashion relative to all the others, they can detect a collision with an object and turn away from it, and can be squished if you step on them too many times and deplete their health too far. They also vary in speed, sometimes dashing around, then calming down and either stopping for a bit or moving slower
- Basic test area for testing features
- Player setup and physics (basic walking animations, movement, physics (you can fall over) and camera look done so far)
- Dynamic lighting initial setup (dynamic shadows working)
What I want to have done by the time I get some sleep later on:
- The start of a sound system to handle sfx and music/ambience and some initial sounds
- Text system (talking to characters and player instructions etc)
- Basic inventory system
- The players ‘magic power’ in the game
- Some kind of recovery for when the player falls over
Some more screenshots: