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.

AppGameKit/AppGameKit Studio Showcase / [WIP] ZX82 Game Engine

Author
Message
apocolyp4
13
Years of Service
User Offline
Joined: 10th Jun 2010
Location:
Posted: 19th Dec 2013 19:00
I have recently started work on a new game engine called ZX82. The 2D game screen is create by altering the pixels of a single image using memblocks. This image can then be displayed on the screen as a 2D sprite or used as a texture on a 3D object.

This prototype version in the video below was created using tier 1 as a proof of concept. I have now moved the development of the engine to be coded in C++ using the tier 2.

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 19th Dec 2013 20:45
Looks cool.

Only sad part is that you nead to retexture the object everytime you change the frame/texture on ios and android with 3d objects if the image is changed.
On pc can you simply change the content of the image and the 3d object is retextured with it ,but not on mobile devices that nead the object to be retextured with the changes.

And its pretty slow on mobiles if you are after speed?

Only something I noticed while writing my enemy animation code for eat drink slay.

Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz
apocolyp4
13
Years of Service
User Offline
Joined: 10th Jun 2010
Location:
Posted: 19th Dec 2013 21:31
Yeah the FPS drops from 60+ on PC to about 25 on my iPod Touch 5. That is one of the reasons I am moving to tier 2, so I can use multi-threading.
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 19th Dec 2013 22:41
That sounds cool
Maybe I also should switch to tier 2 after eat drink slay?

Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz
The Zoq2
14
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 19th Dec 2013 23:42 Edited at: 19th Dec 2013 23:45
Tier 2 is really awesome (mostly because you have acess to fancy C++ stuff like pointers and because its object oriented). For me it took a few months to get the hang of C++ before I could do anything serious but im glad I made the switch.

Also, when I tried to get something multithreaded running in AppGameKit T2 I couldnt get it to work, I think the threads could not be run in paralell to the AppGameKit main loop which resulted in it only being useful if you want to load 2 things at once, but if you want to use it to run calculations in the background while the rest of the game is runnning, I dont think it will work. I could be wrong though since I have no experience witht threads apart from that experiment

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 20th Dec 2013 10:13
Looks cool - very reminiscent of those old Spectrum games like Atic Atac. Maybe a vector mode would be nice too, like make a memblock line function... not sure how fast it would be with AppGameKit, but it might be good enough on that sort of resolution.

Might be interesting to have lots of mini-games on screens around a 3D apartment, like complete mini-games to solve puzzles, that sort of thing... like The Room but with lots of retro computer stuff instead of cogs and drawers.

I enjoy making micro-games inside other games, like one-armed bandits. There was a DB game a while ago that had 8 arcade games (space invaders, frogger, breakout etc) in tiny pixel form, each screen just 32x32 pixels, that was really cool - I'll see if I can find it.

I am the one who knocks...
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 20th Dec 2013 16:03
Reminds me a little of this game:


oct(31) = dec(25)
apocolyp4
13
Years of Service
User Offline
Joined: 10th Jun 2010
Location:
Posted: 20th Dec 2013 17:33
Van B the little test game that I am building using the engine is based on Atic Atac. Also I am using a memblock line function so create straight lines, and boxes.

I am hoping to use the new memblock sound commands to produce the same ZX Spectrum beeps and other sounds.

baxslash that game looks interesting. My game engine could handle something like that when its ready.
apocolyp4
13
Years of Service
User Offline
Joined: 10th Jun 2010
Location:
Posted: 31st Dec 2013 02:28
Ive added the Beep command into my ZX82 Engine which is being built using version 2 of the App Game Kit. Since AGKV2 doesnt run using VS2010 right now I coded it using AppGameKit basic and will port it to the real C++ version of the engine later.

It simulates the ZX Spectrum's Beep command. For example the command beep(1, 0) will play the note middle C for 1 second. I use the CreateSoundFromMemblock in AppGameKit version 2 to create each sound. This requires me to write each byte of the sound file manually. The video below is based on the beep command example in my ZX Spectrum Manual.



Here is a striped down function based on the one I used in my engine to produce and play a beep using memblocks.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 3rd Jan 2014 11:49
It's impressive that you've managed to make those beep sounds straight from code but are the letters displayed correct? At the end of the video for example A# seems to be a much lower note than A but not enough to be at a lower octave?

oct(31) = dec(25)
apocolyp4
13
Years of Service
User Offline
Joined: 10th Jun 2010
Location:
Posted: 3rd Jan 2014 13:25
baxslash This might be due to me rounding down the real frequency's to integers. I did this due to for a redundant function in the game engine, so I will be changing them back to their true values. I got a list of notes and their frequency's from a physics website. Truth be told Ive still to fully figure out the sound memblock due to lack of documentation. Ive still to figure out what the values in each frame of the sounds represent. All I know is that making them all 255 and only changing the frequency of the sound makes them sound Spectrumy.
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 4th Jan 2014 11:19
Well you've done a good job so far, keep it up!

oct(31) = dec(25)

Login to post a reply

Server time is: 2024-02-26 17:58:46
Your offset time is: 2024-02-26 17:58:46