neilo

LD17

My personal LD challenge – Authentic NES look and feel

Well, LD17 is just over a day away, and the final theme has not been announced just yet. My last LD challenge was ASCII art, and to continue the “challenge” theme, I have a new one this time round. I’ve seen a fair share of “8-bit” games, or so they claim – the only “8-bit” thing about them is they use a 256 colour palette. Now myself, that’s cheating! I want to take it to the next step, “8-bit” to me does not mean colours, it means CPU. Originally I was going to do LD17 in 6502 assembly for the NES, but after a brief look at doing it – there is no way I would finish anything even slightly respectable, or even to be proud of.  No, you won’t get to see this from me:

.WaitV:
 lda $2002
 bpl .WaitV
 ldx #$00
 stx $2000
 stx $2001
 dex
 txs
 ldy #$06
 sty <$01
 ldy #$00
 sty <$00
 lda #$00

So yeah, I feel I’m not doing this quite as authentically as I should be – I’m not going to limit myself to an 8-bit architecture running at ~1.79Mhz for the game code. I am going to be limiting myself to the same capabilities as the NES’s PPU and APU though! Sprite count, single background, 2-bit colour per cell limits, the lot. It’s all still fresh on my mind due to writing a NES emulator not too long ago (still unfinished, but works for most mapper 0 games). I shall be logging my progress on here, and posting pictures and screenshots as I go.

SMB emulated in Nestopia

Super Mario Brother running inside Nestopia

Comments

22. Apr 2010 · 20:09 UTC
That’s interesting. I should mix things up and go more pixelated this time. Some of those limitations sound pretty severe though.
sf17k
22. Apr 2010 · 23:16 UTC
That does sound kinda harsh, but interesting. Are you going to limit yourself to 8-bit chars for the game logic?
23. Apr 2010 · 09:01 UTC
Afraid I’m not being so cruel to myself, if I was going to do that I’d stick with 6502 assembly & make a ROM. Maybe next LD I’ll give myself a harsher programming challenge, rather than a style challenge.

Workstation, Impossible Bed & Food Source

Well, the final count down is here, little time to go to finish off that base code, and I discovered today I’ve lost my NES PPU Emulator code which I was going to use for my renderer. Not to worry, should only take an hour or two to write again. Anyways, before I forgotten, I decided to get my workstation photo in, and a photo of why sleep will be tricky – been sorting through my things and eBaying stuff this evening, so everything is on my bed -_-

The desk!

The desk!

Impossible Bed

Impossible Bed

And onto the food. It’s 1 week till pay day, I’m pretty much broke – and I’m left with minimal ingredients in my cupboard. So here is a photo of the actual edible stuff I have:

Poor choice...

Poor choice...

In there I have 1 rather large bag of pasta shells, an out of date jar of chocolate spread, 2 tins of chopped tomatos, 2 tins of tuna, a bar of chocolate, golden syrup, and a tub of coffee. I also have a variety of herbs and spices, a small amount of frozen veg, and a jar of mayo. Would anyone like to make some suggestions for what I can make when one becomes hungry? If ideas suggested aren’t too gross, I will prepare suggestions and take photos before, during, and after! How’s that for mid-LD entertainment? Make Neilo make bad food 😛

Tags: deskphoto, foodphoto

Comments

31eee384
23. Apr 2010 · 22:30 UTC
Cool, I use that same keyboard! And have the same situation behind it and to the left. The cups, that is.

A little motivation for your taste buds

motivatoreef5c59bf2aefc0c57f65dc47549444dd8aa4584

Comments

moltanem2000
23. Apr 2010 · 23:26 UTC
and of course we can’t forget the all important drinking hat so your hands can be free at all times!

Progress update #1…

Basic engine is there and works – input, game state management, load of utility stuff. The NES layer – currently only the PPU, is mostly written. Palettes correctly handled, utility functions for rotating palettes, and Background and OBJ rendering code is complete. Now to tie it into the final render down to an SDL_Surface. Drawn up my font sheet for the BG layer too :-)font

Comments

geti
24. Apr 2010 · 01:54 UTC
The 5 and 6 read as an S and a b, but sounding like fair progress 😀

Sanity Check & Progress Report #2

Well, it’s been a lot of hours, and I’ve only just hit the point where I can test out all this bloody PPU code. The background layer & palettes appear to be working correctly now, all my problems were down to pretty much autopiloting my way through the tile rendering and reading code, missing off simple things like having “iY” instead of “iY * NESPPU_TILE_W” when indexing into the tiles. Bleh, it’s done, and I have a progress shot, as well as a sanity check shot:

An expression of emotion in relation to some of this pointer twiddly code

An expression of emotion in relation to some of this pointer twiddly code

Simple test tiles and background layer generated, and also loaded in my font tile sheet.

Simple test tiles and background layer generated, and also loaded in my font tile sheet.

Sanity Check & Progress Report #3

It’s going well, what I need to work render side is there, so I decided to kick back and start drawing some art up with my restrictions of 4x 2 bit palettes, and choice of one of these palettes for each 8×8 tile. It’s actually pretty fun doing artwork like this – my main problem with art is all the choices I can make. Having strict limitations has forced me to think a bit smarter when drawing up my artwork. First, sanity check, then a sneak peak at my background tile sheet.

Oh dear..

Oh dear..

Palm trees! Sun! Clouds! Cactus!?

Palm trees! Sun! Clouds! Cactus!?

Progress Update #3

This is not going as well as planned. I’ve spent the first few hours writing a working PPU emulator, and up until now mostly writing high level utility code to make the PPU easier to work with. I also finished the landscape generator, it still needs to put foliage and stuff there, but that shouldn’t be all that painful! Have an unimpressive screenshot of it:

Can't really make much of it, but I promise it's generated a landscape.

Can't really make much of it, but I promise it's generated a landscape.

Progress Report #4

Been programming for almost 24 hours now, and my game is still no closer to being a game. Time to move onto some kind of game logic now I think, I’ve left it too long – I don’t know what it will be, but I’ll make something work. Anyways, heres a new fangled screenshot – now with poor reception!

Should have invested in oxygen free copper AV cables...

Should have invested in oxygen free copper AV cables...

Progress Report #5

And the ball is rolling! The sprites are drawn (some anyway), and I’m now finishing off OBJ support in the PPU emulator class. Here is the sprite sheet I’ve just drawn up, see if you can guess where I’m going:

BRRRAINNNSS

BRRRAINNNSS

OM!

NOM NOM

IMG00060-20100425-2002

Comments

25. Apr 2010 · 17:04 UTC
Oh man, I think I know what I want for breakfast.

Sanity Check – Before Sleep, and Now

Didn’t do a sanity check before going to bed last night, so heres the photo I taken (I tried taking about 3 but failed):

Tired, stimmed, &amp; only partially concious.

Tired, stimmed, & only partially concious.

And now, in the last hours of the contest!

Only beer understands the pain we go through for LD

Only beer understands the pain we go through for LD

SLEEEEEP TIME!

Well, zombie island is done. Very disappointed in my level generator code, but I may revisit it and fix it so the levels are more interesting. Sadly, I ran out of time and had already spent about 3 hours debugging it :'(

LD18

Last ever LD…in the UK at least!

UK, you’ve been a good home to me, but it’s time to go! I leave heading to Darwin, NT, Australia in a weeks time. I have not really prepared for it, thus this next week is a mad rush to get the final checks done before I go. Ludum Dare has really timed it this round. Sadly, due to the timing, I can’t participate in the full competition, but thanks to the new Jam rules – I should be having a bash anyways! Probably gonna end up doing most of the work during idle time in the office on Monday, but in spirit of previous ones I’ve entered, the challenge this time is HTML5. I have absolutely 0 experience with JavaScript, but I keep hearing people going on and on about HTML5 Canvas, so it’s time I take a peek. I’m also running Linux again, so making a binary is pretty much out of the question.

PS: I pondered writing a game in SQL…but some more hardcore LDers in the IRC channel mentioned earlier on about making a game with only a 9v battery. You know who you are…

PSS: And the usual pre-competition workstation photo:

The trusty old EeePC!

The trusty old EeePC!

LD20

Less than a week to go!

Finally an LD I have NOTHING preventing me from entering! The last one I entered was LD17 when I was back in the UK, so about a year ago. This time, I’m settled down living and working in Australia! Sadly it’s actually warmer back in my home town than in Canberra at the moment. Anyhow weather doesn’t matter at all, I shall be spending next weekend locked in my bedroom with the following to aid me with my entry:

– 17″ Macbook Pro w/ a second monitor hooked up.
– EeePC 900A
– A small whiteboard.
– Lots of energy drinks, chocolate, and general readily eatable food stuffs.

For this entry I will also be using my own engine, Psybrus, rather than build the tech entirely from scratch. If you are interested, you will see a lot of last minute frantic work being committed over the next week so I have something usable. I’m currently using the following libraries with it:

– Gamemonkey
– Freetype
– Jsoncpp
– libpng
– zlib
– SDL

Basically, I want to write the entire game in Gamemonkey, and have more time to spend focusing on a game this time around than messing about with fiddly technical bugs. Ever so slightly envious of those using Unity, having a solid foundation there, but I like to write my own tech for various reasons.

Software-wise, I will likely be using any, or all of the following in the development of my entry:

– Xcode
– Visual Studio
– The GIMP
– Blender
– Ableton Live
– Garage Band
– Audacity

Right, I best get on with some preparation…or maybe some more Portal 2.

The setup for LD20

I know I won’t get round it tomorrow before I get started, so I figured I’d get it up now. Only difference is tomorrow there will be a lot more cans of energy drink.

I will be going 2D rather than 3D (again), using Bfxr for sound effects, GIMP for graphics, Xcode for code, and TextWrangler for all the scripting (GameMonkey). Hoping to get it ported to Windows before it’s all over.

Good luck to all!

Ready to go, engine almost ready to use – but nevermind I will have to finish it up during the compo. It’s located over here on github: http://github.com/neilogd/Psybrus

Anyways I’m going to quickly eat breakfast and get ready to make a game! Good luck everyone!

Idea Progress

Not very much, just a board of rubbish ideas:

Game idea ready to flesh out…

…I think. Got a good idea in my head, here are the random scribbles relating to the forming idea:

Ready to crack on with the prototype of the idea!

And also back with food :)

Steak, mushroom & pate sauce, some veg. Fuel for the programmer!

Comments

30. Apr 2011 · 02:17 UTC
The steak+mushrooms looks delicious… Oh my god yum
prototypical
30. Apr 2011 · 02:41 UTC
Not meaning any disrespect, but that looks like a pepto bismol mishap.

Work in progress…

So I’ve spent the last few hours wrestling with scripting getting some code to manage the scene in place, as well as bare bones rendering. My idea is basically a simple maze based puzzle game in which possession of certain objects allow toggling of walls. Movement is currently restricted to up and down – locked hard to 3 positions, and you will progress through the level forwards and backwards (haven’t worked out whether to make the forward/backwards player controlled or not just yet – will need to play test this when it’s working). It’s going to be a painful task designing levels that are fun, and require thought more than just bashing buttons in sequence.

Graphics are bare basic, just using the same texture for everything at the moment. Polish and shiny graphics can come later!