Collaborative project "Educational Computers"
I'm in the process of creating a game series in "educational computers" (dealing with different architectures and low-level programming challenges) and seeking collaboration in gameplay, pixel art, sound effects, programming...
I already shared this idea in another post and I guess a couple of 'microStudiers' showed potential interest:
https://microstudio.dev/community/questions/systemprompt-/128/
To kick start this project, I was wondering if creating a private channel in the microStudio server on Discord could be a good way forward.
What do you think, Gilles?
I remember you mentioning that, nearly forgot.
Not sure if I know enough to contribute, would need to know more details about what you are looking for.
But it sounds like a challenge I would enjoy.
We could always create a separate discord channel. Or does this forum have group/pm options?
I would love to contribute on the pixel art part, but I think I don't know enough. But this is a very great idea.
Hi, I would love to contribute if I can. Note that I will have very little time in August and September this year, just for your information.
I can certainly create a dedicated channel on the Discord server. I think we could just make it public for now and see if it works that way? Or do you really want to make it confidential for some reason?
@Gilles, I'd like to be a bit ambitious and try to develop something novel & valuable in the marketplace...
Regardless of your dedication and involvement, the project will definitely benefit from having you as its advisor, should you agree to.
You say: ... dealing with different architectures ...
As in, you are planning on offering different ones (maybe in regard to difficulty level), or the ISA is not yet finalized and to be decided on?
Also graphic wise, any call made regarding the resolution?
Either way, it sounds like a tinker task.
I could do the nightshift :)
As a game series, my plan is to feature a different architecture in each game.
Levels within a game will involve solving different coding puzzles using the corresponding ISA.
The player will also act as the control unit (that's why it's a RPG-like game) following different paths and taking different actions in the right order (microinstructions).
Ahh, gotya. I think I saw some along those lines on the Google Playstore.
That makes sense now ;)
As a proof of concept, I'm creating a first demo game using my simple "school computer" model that I use when I teach the topic in lower secondary:
https://drive.google.com/file/d/1Pjxa_OVmkTYfN8w8G9Y5R_SFb1m80p_9/view?usp=sharing
The player can learn how the computer works by completing a tutorial where the instructions have to be executed manually (moving the "hero" from one part to the other in the right sequence). Different modes will be available (edit, run, manual, auto...).
OMG, at the moment I'm trying to create a microStudio version of the 'Know How Computer', an electronic version of an old 'Paper Computer' educational tool that was very popular in Germany. More out of nostalgia, without any purpose and as an exercise.
https://kroegerama.com/windows/know-how-computer
http://www.wolfgang-back.com/knowhow_home.php
I love the school computer concept. Looks like you're way ahead and have a clear idea where you're heading. Can't wait to see it in action.
At the moment tinkering with the GUI, trying to put something together that is easy to reuse for other purposes.
Wow, that sounds like a cool idea for a collaborative project! Leave it to the * punch master * to figure it out.
I would love to contribute, but I may not be able to make time commitments, so I don't think I will be able to join in.
If I can contribute in any small ways, however, I would be more than happy to!
Oh yes, I have seen those :) very cool what you can do with them.
I was always tempted to create interactive versions of those, but for starters I thought I start with the easiest one, LOL.
Only 5 instructions, I should be able to manage that.
Others I dimly remember are one with marbles on a tilted board, where you arranged flip/flop style levers to create the logic.
And then I had an electronic kit that basically had sliding multi switches, a few light bulbs and meters of wire to create connections.
I think it was from 'Kosmos', but can't remember. I learned electronics with those kits.
But regarding your project, keep me on the 'very interested' list.
Just a screenshot of the "programmable number board" I'm working on.
The ISA is already implemented (running programs), but I still have to complete the GUI and make it interactive ;)
Sweet, so you got the hard part done, looking forward to give it a go :)
My weekend tinker time got eaten up by the grand kids, but they are always worth the time.
I hear you ... after you mentioned maps I thought, hmmm, interesting idea.
But first tests resulted in 'nah', might as well stay with the sprites ;)
Looking cool so far :)
Uff, I need more lunch breaks, or a weekend without the grandkids being dropped on us, LOL.
Mind if I invade with my little progress? I can always start a different thread but it just fits so well here :)
Very basic and functionality wise by far not as advanced as yours is, as I can already tell.
That is a full monty computer you are building there :)
Started the first layout test for my 'Paper Computer' clone. Got the basics sorted (reading different programs, decode them, etc.)
This demo view just steps from top to bottom blindly. The register and jump pointer are real, now I have to add the 'action'.
And once that is sorted I need to add the Editor... I hope I don't loose interest before that one is done, HAHA.
Not happy with the layout yet, but had to start somewhere. I probably will shift things around. Very tempted to visualize the bit view on a punch tape ... chuckle
Cool! Keep it up!
I found a nice simulator (you may be aware of):
https://marian-aldenhoevel.de/papiercomputer/
Wow, CodeGuppy is a nice find ... CYA, I'll be busy ... HAHA
I hate user interfaces, gfx, etc. ... sooooo much time that I could use to tinker :)
Got my tinker running and already not happy anymore. And now I have to add all the controls, Run, Single Step, Edit, etc.
I admire your patience when I see what you are creating, all the bells and whistles. That will be the 'real' thing :)
P.S. all you can do with mine is to press SPACE to start .. that's all my last lunch break allowed (too tired after work)
Friday tomorrow, weekend soon, then I hope I finish it
:embed https://microstudio.io/TinkerSmith/papercompy/DMZBVZF8/
What do you think, should I change it to a breadboard circuit view? LEDs and dip switches ...?
Or keep it 'paper style', just with better gfx
P.S. the program running is R3 = R0*R1
... multiplication ( and no, no error catching yet ...)
I like the paper style. Keep it up!
Looking for inspiration? Check out this "Leonardo's Painting Machine":
http://ludumdare.com/compo/ludum-dare-36/?action=preview&uid=7882
https://leonardo.frozenfractal.com/
;)
What a beauty :) Well done
D-CODE 30
is fully functional!
Now working on the look & feel, the user manual, the coding challenges...
10 instructions: 2 decimal digits (CA)
10 data: 1 decimal digit (D)
10 inputs: (IN) (can be changed while running) DECIMAL: #0 to #4, BINARY: #5 to #9
10 outputs: (OU), DECIMAL: #0 to #4, BINARY: #5 to #9
Instructions Set
0A: AC = D[ A ]
1A: AC = AC + D[ A ]
2A: AC = AC - D[ A ]
3A: D[ A ] = ABS(AC)
4A: PC = D[ D[ A ] ]
5A: IF AC == 0 THEN PC = D[ D[ A ] ]
6A: IF AC < 0 THEN PC = D[ D[ A ] ]
7A: AC = IN[ D[ D[ A ] ] ]
8A: OU[ D[ D[ A ] ] ] = ABS(AC)
9A: STOP
NOTES:
Example #1:
Program
- Set output #9 to the value of input #9
Code
C A D
7 0 9
8 0 9
Example #2:
Program
- Set output #N to the value of input #N
Code
C A D
7 0 0
8 0 1
0 0 0
1 1 0
3 0 0
4 2 0
Example #3:
Program
- Set all the outputs to the value of input #9
Code
C A D
7 0 9
8 1 0
0 1 1
1 2 0
3 1 0
4 3 0
Example #4:
Program
- Increment output #5 when input #9 changes (from 0 to 1 or from 1 to 0)
Code
C A D
0 0 0
3 1 0
7 9 0
3 0 1
2 1 0
5 8 0
0 2 0
1 3 4
3 2 0
8 7 5
Example #5:
Data
Program
Code
C A D
5 5 4
2 4 0
3 1 0
0 2 1
1 0 8
3 2 2
4 3 0
9 0 0
Example #6:
Data
Program (integer division)
D[ 2 ] = D[ 0 ] / D[ 1 ]
D[ 0 ] = the remainder
Code
C A D
0 0 9
2 1 2
6 9 0
3 0 0
0 2 0
1 7 0
3 2 0
4 8 1
9 0 0
0 0 8
Examples #7, #8 & #9:
- Programming logic functions (NOT, AND, OR) without using logic operators (not available).
Example 10#:
Embedded app:
:embed https://microstudio.io/mrpiay/dcode30/beta/
Link to app:
https://microstudio.io/mrpiay/dcode30/beta/
DRUM ROLL .. the first microStudio 'in game', 'fully working' alternative programming environment
HAHA, well done :)
Just a little request from my own lazy point of view. Finding myself scrolling up&down to see the instructions while I single step, yeah, yeah, could print them out or memorize, but as said ... lazy ..
What are the chances to show them in the bottom output field during edit and step mode?
Like AC = D[1]
etc.
Otherwise, love it :)
Thanks! Yes, I want to to that ;)
Latest updates (as you can see above):
- New sprites for digital inputs/outputs (#5 to #9).
- Instructions set is also available in EDIT mode.
- 10 colors.
D-CODE 30 is awesome!
I have created a dedicated channel for D-CODE 30 on the microStudio official Discord (find it under the new EDUCATION category). Let's share our programs for D-CODE 30 there!
What's a micro-computer without a game?
D-CODE 30 allows you to alternate between coding & playing.
To pause coding and start/resume playing, click between AC & PC.
To pause playing and start/resume coding, click on the paddle of "Fantasy Pong".
To move the paddle, click on the right/left sides of the screen.
The goal of the game is to reach level 10 hitting the bouncing ball and avoiding the falling one.
I hope you enjoy playing as much as coding ;)
D-CODE 30 has just been released on itch.io: https://mrpiay.itch.io/d-code-30
Congrats and good luck to you! I look forward to see what's next!