Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / New twist on a Retro challenge

Author
Message
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 24th Jan 2012 17:02
Hi

I had an idea for a challenge to test ones skills. As you know it's very easy to make a simple game with the tools and hardware available these days.
Remember back in the day (80s) many developers had to be methodical with their memory management and work with the restrictions of their hardware available to them even for the simplest of game/application. For example some hardware only allowed a certain amount of sprites, even restricted the amount of colours the sprites could contain.
I just thought it would be a good idea to impose those similar restrictions and see what we come up with in a challenge.

Anyone interested, or have any ideas as to the parameters?
chafari
Valued Member
20
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 24th Jan 2012 19:26
Hi dude....that's what I like best. Making games with the minimum tools. I remember how you have to position sprites to show distance, and days even weeks to get what we need.....not google....not internert or good books to see information, but a great enjoy when we got something working.....I like the idea

Cheers.

I'm not a grumpy grandpa
MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 24th Jan 2012 20:41
Hmm... interesting...

Maybe a dual challenge?... as I prefer working in 3D...

2D:

you guys decide...

3D:

Memory limit 512MB
final EXE size limit 350MB with assets
Max texture resolution 256x256... Try to make things look good...
Controls... combination of keyboard and mouse although star wars EP 1 racer manager camera controls and movement on the keyboard alone...
Sounds... WAV Only... see how much you can pack...
Argh someone think of other parameters... like networking... max 8 players?

I am intrigued...

TheComet
18
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 24th Jan 2012 21:34
Quote: "Memory limit 512MB
final EXE size limit 350MB with assets
Max texture resolution 256x256... Try to make things look good...
Controls... combination of keyboard and mouse although star wars EP 1 racer manager camera controls and movement on the keyboard alone...
Sounds... WAV Only... see how much you can pack...
Argh someone think of other parameters... like networking... max 8 players?"


WOW that's a lot of resources! That's insane... I can do that with my eyes closed. I suggest something that really limits you.



That's more like it

TheComet

MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 24th Jan 2012 22:06
For 3D?

TheComet
18
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Chris Tate
DBPro Master
17
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 24th Jan 2012 22:29
32 colours, 10 mb ram, mono sound, 2 mb file size, 640x480 display!!

mahaaha!

Jaeg
20
Years of Service
User Offline
Joined: 16th Mar 2006
Location: Indiana
Posted: 24th Jan 2012 22:48
This reminds me of when I was messing around with the Parallax Propeller system. It was amazing what people pulled off with just 32kb of ram.

Go ahead. Walk into Mordor.

Ball State University - Computer Science Major
Gunslinger
19
Years of Service
User Offline
Joined: 29th May 2007
Location:
Posted: 24th Jan 2012 23:26
Great Idea, i'm in!
TheComet
18
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 24th Jan 2012 23:48 Edited at: 24th Jan 2012 23:48
Quote: "10 mb ram, 2 mb file size"


I dunno, the program below uses 29.5 MB or RAM and 6 MB of disk space on my end



TheComet

MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Jan 2012 03:18
Thats why I set some fairish limits... 3D can consume a lot but what I set out was challenging... Its actually hard to keep memory use below 512MB haha

TheComet
18
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 25th Jan 2012 09:29
Quote: "Its actually hard to keep memory use below 512MB haha"


It is? The most memory consuming game I've developed is Mega Mash Mothers, and it uses ~300 MB

TheComet

MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Jan 2012 09:40
Haha ok then 320 ^^

=PRoF=
23
Years of Service
User Offline
Joined: 17th Mar 2003
Location: Milton Keynes, UK
Posted: 25th Jan 2012 10:24
@TheComet:

Quote: "the program below uses 29.5 MB or RAM and 6 MB of disk space on my end "


Are you sure? I just ran this snippet.



It produced an .exe of 725k ish, and when running used approximately 9mb of ram on my Windows Vista 32bit PC.

Millenium7
21
Years of Service
User Offline
Joined: 13th Dec 2004
Location:
Posted: 25th Jan 2012 14:40
I think it's due to plugins. If you are using DarkAI, darkphysics, matrix1utils, multisync etc etc they'll all be compiled into the .exe and create a larger footprint
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 25th Jan 2012 15:22
I think the total amount of memory being used will be subjective. I've been playing around it to get an idea.

while having just a loop that did nothing it was using roughly 10 meg.
add in a 3d object and it jumps up to 16 meg. Add in a few more 3d objects and it doesn't increase much at all.
10 objects, 10 meshes, 10 memblocks made from messhes and 10 images(32 x32) and it's only at 20 meg.

with those stats. 32 meg is more than enough. I only have what comes with the dark game studio. ai, lights, physics, extends...

maybe all assets are to be saved into memblocks and we can only use a total of 512k in memblocks? Perhaps it wont be as subjective
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 25th Jan 2012 16:47
just look at this video
a game called castle master. Probably the first ever 3d first person 'shooter'. Made in 1990.

http://www.youtube.com/watch?v=PSzcoG7k2FI&feature=youtu.be

this was on an Amiga 500 or 1000, only 1024 kb of RAM

so lets go with:
RAM : 32 MB
Entire project (uncompressed) : 10 MB
colours : 32
texture resolution : 16 x 16
skully
19
Years of Service
User Offline
Joined: 21st Jul 2006
Location: y+width*x
Posted: 25th Jan 2012 21:58
Why not doing something like old machine, like Amiga or MSX, or PC with VGA card. I propouse doing it so:

(uncompressed)
Memory of resource (bitmap, sound, etc..): 512 kb
Resolution: 320x240 or 640x480 max
Colors: 256
Max EXE size: 5 mb

We can decide the resolution of texture, while final resource is no more than 512 kilobytes. Right ?

I'm in...

http://www.youtube.com/watch?v=Dq35srQqIZ8
MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 25th Jan 2012 22:05
I suppose... it could have two sets of parameters... as I said before one for 2D and another for 3D... I think the EXE should be ignored and just could used memory and assets... as we can not explicably control the size of the Exes

and to add an extra twist say we set memory to 512 and the user exceeds that amount by 256 then they have that figure reduced by the amount the user went over... hehe adding to a punishment system... penalties...

So tired cant think... falling alseep...

Chris Tate
DBPro Master
17
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 25th Jan 2012 22:27
Quote: "I dunno, the program below uses 29.5 MB or RAM and 6 MB of disk space on my end"


Haha! It uses 4mb RAM and & 438kb on my pc,

Add a 2d command to it, like dot, and the RAM usage increases to 8 mb .

Quote: "
I think it's due to plugins."


Yep, run a 3d program and you are looking at a 5 mb file minimum with 10 mb ram. Each library you use requires an extra block of (dll) data packed in the exe file; so the more commands you use from different libraries, the more it space it consumes.

TheComet
18
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 25th Jan 2012 23:24
I was wrong, I had other stuff in the directory which it decided to include I ran this program
, RAM = 1.6 MB, disk space = 431 KB

Quote: "RAM : 32 MB
Entire project (uncompressed) : 10 MB
colours : 32
texture resolution : 16 x 16"


This^

TheComet

chafari
Valued Member
20
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 26th Jan 2012 01:08 Edited at: 26th Jan 2012 01:09
Ok then....10MB are more than enough haven't you seen the 3D Kkrieger game in just 96k ...unbelievable !!


It is a free game...so attached the file for those that want to have a look at it.

Cheers



I'm not a grumpy grandpa
WLGfx
18
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 26th Jan 2012 01:26
I don't think it should matter about how much ram it should use, just restrict the disk space used, even if you're heavily compressing stuff to fit into the restriction. A lot of the demo scene files are only very small but extract and setup all the data in memory. There's even 64kb demos that use a hell of a lot of memory. It's all down to how you code it.

It'd be interesting if something like this was set up though.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 26th Jan 2012 08:43
I agree lets ditch memory limits...

Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 26th Jan 2012 10:38
OK.

Pick our own 'restrictions' and post (read show off) what you have done.

I think you all understand the idea/premise.

happy coding.
MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 26th Jan 2012 10:42
That post unfermines the whole point of this thread... I am out...

Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 26th Jan 2012 11:19
Quote: "That post unfermines the whole point of this thread... I am out..."


yeah, you're right, sorry buddy.
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 26th Jan 2012 12:47
Please excuse my 'pick your own' comment earlier. that was a minor brain malfunction.

here is what I like:
lets not go with the RAM restriction.

Instead we can only have a total of 512 kb of assests in memory. The amount being used should be displayed in-game.
restricted to .bmp, .wav files. Your total amount isn't limited. Only no more than 512 kb can be loaded at a time.

No plugins, such as darkAi, physics, lights etc...just straight DBPro.

max 256 colours.

textures 32 x 32.

I'm not sure about executable size. Ideally it should be less than 1.44meg (floppy), but that might not be possible.

screen resolution 640 x 480

anything I've overlooked?

(appolagies for nearly letting the idea implode)
MrValentine
AGK Backer
15
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 26th Jan 2012 13:41
I dont understand the 512KB limit... i hardly have a BMP file even near that size...

Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 26th Jan 2012 14:14
I mean, the total of all assets loaded at one time cannot exceed 512kb

you might have a 70 kb bmp for textures
a 100 kb .dbo object file
a 130 kb .wav sound file.
a 12 kb .mid sound file

that's already 312kb leaving you only 200kb to play with.

I think with this system the same rules can apply to 2d and 3d.

I hope that helps
chafari
Valued Member
20
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 26th Jan 2012 21:27 Edited at: 26th Jan 2012 21:28
Hi there.
I have started making the level . I suppose that we can use images as big as we need if we make them with code in Dbpro (not copying external data) the same with all objects . That's what I have at the moment using just 3kb in external images.



Cheers.

I'm not a grumpy grandpa
Randomness 128
19
Years of Service
User Offline
Joined: 13th Feb 2007
Location:
Posted: 26th Jan 2012 22:26 Edited at: 26th Jan 2012 22:31
The 2D limitations should probably take tiles maps and palettes into consideration, too. The Genesis/Mega Drive, for example, has limitations such as:

- The dimensions of all tiles are 8x8 pixels.

- There are two tile maps. This could be used for parallax scrolling, for example, by making the background tile map scroll more slowly. The tile maps can also be scrolled to a different location on different scan lines for more complex parallax scrolling.

- The dimensions of sprites must be a multiple of 8 pixels, up to a maximum of 32. Any sprite larger than that would be made up of multiple sprites. A total of 80 sprites may be drawn at once, but the total width of all sprites on the same scan line may not exceed the width of the screen.

- Every tile/sprite contains 15 colours (not 16 because colour 0 is transparency). There are 4 colour palettes that each tile or sprite may choose from, for a maximum of 60 colours on screen at once, plus a background colour. It's possible to get more colours on screen by changing the palette at different scan lines.

- Colours use 9-bit RGB, meaning red, green, and blue can each range from 0 to 7, not 0 to 255.

- There is 64 KB of video RAM. Since tile maps, scroll data, and sprite data take up video RAM, too, you get less than that for images.

- The width of the screen may be 256 or 320 pixels. The height of the screen may be 224 or 240. 240 can only be used by PAL systems.


The 3D limitations should probably take the polygon count into consideration, too. A limit of 8000 polygons on screen, for instance. Maybe even less.
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 27th Jan 2012 00:18
hi chafari.
looks nice. but you will have to find a way of measuring how much you're using.

3d objects made with 'make object cube' etc do take up video RAM.
functions like dot, line and box also take up video RAM and you'll need to figure out how much
chafari
Valued Member
20
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 27th Jan 2012 00:58
Quote: "you will have to find a way of measuring how much you're using"


I did not think about it, but you're right .Is there a reliable way to know how much RAM we're using ?

Cheers.

I'm not a grumpy grandpa
skully
19
Years of Service
User Offline
Joined: 21st Jul 2006
Location: y+width*x
Posted: 27th Jan 2012 01:16 Edited at: 27th Jan 2012 01:25
Quote: "let's not go with the RAM restriction.
"
Right

Quote: "I dont understand the 512KB limit... i hardly have a BMP file even near that size..."


For this demo I did not use more than 100 kb, only resources.

http://youtu.be/DzLKIW86hmM (made with java)

This bitmap I used for the game that show up, no more than 50 kb (raw).

(to HQ JPG, a 28 kb more o less)

This is made with DBPro, the exe file does not exceed 2 mb.
http://youtu.be/Dq35srQqIZ8

...for everything else, there is MasterCard

http://www.youtube.com/watch?v=Dq35srQqIZ8
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 27th Jan 2012 04:56
chafari,

i suggest using memblocks.
make memblock from mesh (mesh of your object)
then get memblock size.

for the code designed graphics, i guess you'll have to save them as a bitmap then make memblock from image and again get memblock size.
problem with that though, i've noticed that the memblock actually is a little larger...

alternatively...save object, save bitmap and then have a look at the file size in windows.
chafari
Valued Member
20
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 27th Jan 2012 14:53
I use to press ctrl+alt+supr and take a look in runing process, but I don't know why I can't do the same with Dbpro exe's....every time I try, the program turns off

Cheers.

I'm not a grumpy grandpa
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 27th Jan 2012 16:32
cntl alt supr! hahah, you're using a spanish keyboard I see. ehhehe. me too.
no hablar espanol. mi mujer es chilena.
Brendy boy
20
Years of Service
User Offline
Joined: 17th Jul 2005
Location: Croatia
Posted: 27th Jan 2012 19:08
Quote: "I use to press ctrl+alt+supr and take a look in runing process, but I don't know why I can't do the same with Dbpro exe's....every time I try, the program turns off"

press ctrl+alt+supr/delete before you run the dbpro exe

chafari
Valued Member
20
Years of Service
User Offline
Joined: 2nd May 2006
Location: Canary Islands
Posted: 27th Jan 2012 20:17 Edited at: 28th Jan 2012 11:29
@Aikidoka
Quote: "cntl alt supr! hahah, you're using a spanish keyboard I see"


Yes unfortunatelly I can make myself understood in spanish aswell

@Brendy boy
Quote: "press ctrl+alt+supr/delete before you run the dbpro exe"

I didn't thought it had any sense...but it works....

Edited
No way to go under 24.800 kb

Cheers

I'm not a grumpy grandpa
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 29th Jan 2012 08:09
@charari
Quote: "No way to go under 24.800 kb "


yeah it's rather difficult to try and keep under 24mb of RAM.

I decided to discard that idea of memory limit. but feel free to limit yourself. I'll try and keep under 32mb
enderleit
19
Years of Service
User Offline
Joined: 30th May 2007
Location: Denmark
Posted: 30th Jan 2012 12:52
I think filesize limit is the way to go.

That way, if you're really creative, you can make really nice textures and other resources by using generating algorithms. That is what the real challenge is.

Here's a nice intro by farbrausch in 64 kilobytes.

WARNING: Slight nudity. (Nothing pornographic)


WLGfx
18
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Jan 2012 15:53
I'm a huge fan of the Farbraush codes and that one (fr-030) is one I usually benchmark any of my PC's and laptops with.

Those at Farbraush use both C and assembler in coding their demos and do not use libraries to bloat out their code. I've got a collection from scene.org of the demos and the source code to learn the in depth code from and it is mostly openGL very "low-level" coding.

fr-030 (64Kb) shows how to crunch 3D animations with effects as well as music with vocals too. Amazing stuff!!!

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Aikidoka
17
Years of Service
User Offline
Joined: 14th May 2009
Location: Australia
Posted: 30th Jan 2012 16:01
Quote: "That way, if you're really creative, you can make really nice textures and other resources by using generating algorithms. That is what the real challenge is."


spot on.

that was one extremely nice modern demo. I'm impressed. 64 k huh.
shows how powerfull todays hardware is.
but for some reason, it's never powerfull enough, am i right? heh

Login to post a reply

Server time is: 2026-07-09 20:55:36
Your offset time is: 2026-07-09 20:55:36