Learn to Code RPG
A downloadable game for Windows, macOS, and Linux
About
Learn to Code RPG is a visual novel game developed by freeCodeCamp.org. In this game, you will teach yourself to code, make friends in the tech industry, and pursue your dream of becoming a developer 🎯
This game features:
- Hours of gameplay 🎮
- Original art and music 🎨
- 1,000+ Computer Science quiz questions 📚
- 50+ achievements you can unlock 🏆
- 6 different endings 👀
- 10+ characters you can make friends with, and an adorable cat 🐱
- Minigames 👾
- A renown system, a money system, and fun items you can buy for your cat and to customize your room 🏠
This open-source game is a work in progress and ever-evolving. We will publish major expansions to this game in the coming months, including new music and characters.
This game was made possible by all the kind people who donate to support freeCodeCamp.org. You can help support our nonprofit's mission here.
This game is open source and is currently in beta. If you notice any bugs or have suggestions about accessibility, the interface, the story, or anything at all, please report them by opening GitHub issues.
If you are enjoying this game, please rate the game and leave a comment below.
If you are interested in how we made this game, check out this article.
Credits
Creative Lead | Lynn Zheng KayLa Thomas |
---|---|
Coding | Lynn Zheng |
Writing | Lynn Zheng KayLa Thomas |
Music | Quincy Larson |
Character Art | Layerto (Noa Trinh) |
Other Graphics | Lynn Zheng Nielda Karla |
Quiz Questions & Proofreading | Abbey Rennemeyer Kris Koishigawa Oliver Eyton-Williams Estefania Cassingena Navone Jessica Wilkins Dionysia Lemonaki |
Playtesting | Ilenia Magoni Estefania Cassingena Navone Naomi Carrigan Yoko Matsuda Daniel Rosa Beau Carnes |
Status | Released |
Platforms | Windows, macOS, Linux |
Release date | Dec 22, 2021 |
Rating | Rated 4.7 out of 5 stars (55 total ratings) |
Author | freeCodeCamp.org |
Genre | Visual Novel, Role Playing, Simulation |
Made with | Clip Studio Paint, Ren'Py |
Tags | 2D, Anime, Kinetic Novel, Multiple Endings, Ren'Py, Slice Of Life, Story Rich |
Code license | BSD 3-clause 'New' or 'Revised' License |
Average session | A few hours |
Languages | English |
Inputs | Keyboard, Mouse |
Accessibility | Configurable controls, High-contrast, Blind friendly |
Links | Blog, Press Kit, Source code |
Download
Install instructions
Windows: LearnToCodeRPG-pc.zip
- Unzip the file (refer to this Microsoft support article if you have questions)
- Open the folder that appears after unzipping
- Double click on the application LearnToCodeRPG.exe
Mac: LearnToCodeRPG-mac.zip
- Unzip the file by double-clicking
- Double click on the application that appears after unzipping. If you run into an error about "an unidentified developer", refer to this Apple support article.
Linux: LearnToCodeRPG-linux.tar.bz2
- Unzip the file
- Open the folder that appears after unzipping
- Run LearnToCodeRPG.sh, you may have to change execution access
Also available on
Development log
- Save Error FixedDec 25, 2022
- Learn to Code RPG v1.5 Released!Dec 23, 2022
- General Bug FixesDec 24, 2021
Comments
Log in with itch.io to leave a comment.
Loved it!
I'm on day 2023-01-16 Monday and chose to listen to music to recharge energy, but seem to be stuck. Can't continue and energy is 27 but not changing. Any suggestions?
Is there any way to change to a male character?
cannot save the linux game version
Hi, I love the concept of this. I wanted to know if there was a way to play this on my iPad. Should I download some sort of Mac OS emulator ?
same here. unfortunately can't save the game. Love the game otherwise!
- version 1.5
- I am on mac os10.16
[code]
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00gamemenu.rpy", line 170, in script
$ ui.interact()
File "renpy/common/00gamemenu.rpy", line 170, in <module>
$ ui.interact()
File "renpy/common/00action_file.rpy", line 383, in __call__
renpy.save(fn, extra_info=save_name)
TypeError: cannot pickle '_io.TextIOWrapper' object (perhaps store.requests = <module 'requests' from '/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Con)
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/00gamemenu.rpy", line 170, in script
$ ui.interact()
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/ast.py", line 1131, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/python.py", line 1061, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/00gamemenu.rpy", line 170, in <module>
$ ui.interact()
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/ui.py", line 299, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/core.py", line 3377, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/core.py", line 4258, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/screen.py", line 743, in event
rv = self.child.event(ev, x, y, st)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1399, in event
rv = super(Window, self).event(ev, x, y, st)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1399, in event
rv = super(Window, self).event(ev, x, y, st)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1073, in event
return handle_click(self.clicked)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1008, in handle_click
rv = run(action)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/behavior.py", line 329, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 383, in __call__
renpy.save(fn, extra_info=save_name)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/loadsave.py", line 408, in save
reraise(t, e, tb)
File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/site-packages/future/utils/__init__.py", line 441, in raise_
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/loadsave.py", line 389, in save
dump((roots, renpy.game.log), logf)
File "/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/compat/pickle.py", line 103, in dump
pickle.dump(o, f, pickle.HIGHEST_PROTOCOL if highest else PROTOCOL)
TypeError: cannot pickle '_io.TextIOWrapper' object (perhaps store.requests = <module 'requests' from '/private/var/folders/q_/crqf_y3s4915hhyn3vtjtsb80000gn/T/AppTranslocation/B26D755B-5D94-4F81-85F4-805B0B405B8E/d/LearnToCodeRPG.app/Con)
macOS-10.16-x86_64-i386-64bit x86_64
Ren'Py 8.0.3.22090809
Learn to Code RPG 1.5
Sun Dec 25 13:33:41 2022
[/code]
i got a error while saving
```
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00gamemenu.rpy", line 170, in script
$ ui.interact()
File "renpy/common/00gamemenu.rpy", line 170, in <module>
$ ui.interact()
File "renpy/common/00action_file.rpy", line 383, in __call__
renpy.save(fn, extra_info=save_name)
TypeError: cannot pickle '_io.TextIOWrapper' object (perhaps store.requests = <module 'requests' from 'C:\\Users\\i9shu\\Downloads\\learn-to-code-rpg-win\\LearnToCodeRPG-1.5-pc\\lib\\python3.9\\requests\\__init__.pyc'>)
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/00gamemenu.rpy", line 170, in script
$ ui.interact()
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\ast.py", line 1131, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\python.py", line 1061, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/00gamemenu.rpy", line 170, in <module>
$ ui.interact()
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\ui.py", line 299, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\core.py", line 3377, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\core.py", line 4258, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\transition.py", line 53, in event
return self.new_widget.event(ev, x, y, st) # E1101
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\screen.py", line 743, in event
rv = self.child.event(ev, x, y, st)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1399, in event
rv = super(Window, self).event(ev, x, y, st)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1399, in event
rv = super(Window, self).event(ev, x, y, st)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\behavior.py", line 1073, in event
return handle_click(self.clicked)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\behavior.py", line 1008, in handle_click
rv = run(action)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\display\behavior.py", line 329, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 383, in __call__
renpy.save(fn, extra_info=save_name)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\loadsave.py", line 408, in save
reraise(t, e, tb)
File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/site-packages/future/utils/__init__.py", line 441, in raise_
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\loadsave.py", line 389, in save
dump((roots, renpy.game.log), logf)
File "C:\Users\i9shu\Downloads\learn-to-code-rpg-win\LearnToCodeRPG-1.5-pc\renpy\compat\pickle.py", line 103, in dump
pickle.dump(o, f, pickle.HIGHEST_PROTOCOL if highest else PROTOCOL)
TypeError: cannot pickle '_io.TextIOWrapper' object (perhaps store.requests = <module 'requests' from 'C:\\Users\\i9shu\\Downloads\\learn-to-code-rpg-win\\LearnToCodeRPG-1.5-pc\\lib\\python3.9\\requests\\__init__.pyc'>)
Windows-10-10.0.22621 AMD64
Ren'Py 8.0.3.22090809
Learn to Code RPG 1.5
Sat Dec 24 20:39:15 2022
```
I'm second to have this on a linux computer
Hello! What a cool game. I tried to save it after a while, but got the following error:
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00gamemenu.rpy", line 170, in script
$ ui.interact()
File "renpy/common/00gamemenu.rpy", line 170, in <module>
$ ui.interact()
File "renpy/common/00action_file.rpy", line 383, in __call__
renpy.save(fn, extra_info=save_name)
TypeError: cannot pickle '_io.TextIOWrapper' object (perhaps store.requests = <module 'requests' from '/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Con)
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/00gamemenu.rpy", line 170, in script
$ ui.interact()
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/ast.py", line 1131, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/python.py", line 1061, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/00gamemenu.rpy", line 170, in <module>
$ ui.interact()
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/ui.py", line 299, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/core.py", line 3377, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/core.py", line 4258, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/transition.py", line 53, in event
return self.new_widget.event(ev, x, y, st) # E1101
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/screen.py", line 743, in event
rv = self.child.event(ev, x, y, st)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1399, in event
rv = super(Window, self).event(ev, x, y, st)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1399, in event
rv = super(Window, self).event(ev, x, y, st)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 1175, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/layout.py", line 279, in event
rv = d.event(ev, x - xo, y - yo, st)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1073, in event
return handle_click(self.clicked)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/behavior.py", line 1008, in handle_click
rv = run(action)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/display/behavior.py", line 329, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 383, in __call__
renpy.save(fn, extra_info=save_name)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/loadsave.py", line 408, in save
reraise(t, e, tb)
File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/site-packages/future/utils/__init__.py", line 441, in raise_
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/loadsave.py", line 389, in save
dump((roots, renpy.game.log), logf)
File "/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Contents/Resources/autorun/renpy/compat/pickle.py", line 103, in dump
pickle.dump(o, f, pickle.HIGHEST_PROTOCOL if highest else PROTOCOL)
TypeError: cannot pickle '_io.TextIOWrapper' object (perhaps store.requests = <module 'requests' from '/private/var/folders/w8/sv_ss32j63sdvc85gxyzw3f40000gn/T/AppTranslocation/00E5C053-54D1-4E4D-BAE1-DB6E9316975C/d/LearnToCodeRPG.app/Con)
macOS-10.16-x86_64-i386-64bit x86_64
Ren'Py 8.0.3.22090809
Learn to Code RPG 1.5
Sat Dec 24 18:40:06 2022
Seems like a really cool game but I can't seem to save at all. Every time I try to save I get an error message. I'm playing on Mac. Anyone else run into this problem?
Me too!
Same here, can't save at all!
can't save the game,too.I am on windows.
Can you put the game's APK on itch i downloaded it from google play and it gets stuck downloading the assets
“LearnToCodeRPG” cannot be opened because the developer cannot be verified.
Tried to play it on a MacBook Pro....
I don't remember exactly what the button said, maybe "more"? It's beside the cancel/close button. I pressed that, then when it gave me more information it asked me whether or not I wanted to open the file anyway. That's how you open the game. I'm using windows not a mac but I believe it's the same
APle moment
Gatekeeper doing its job. You can unlock that in the system preferences under Security. There's a radio button that needs to be checked in order to successfully install third party software that doesn't have. I forget which one off the top of my head but it's under the FileVault tab I think?
Sorry I haven't worked support in a long time and it's escaping me now but I know there's an article about it on the Apple Support website.
Hi, there! :D
I have a little issue with the game.
The graphics look blury (characters and backgrounds)
Don't know if it's a game's bug or my laptop is the trouble maker here. bug or my laptop is the trouble maker here.
What could it be?
P.D. Nice game, btw. Pretty much enjoying it :D
Game crashing when i go to hackathon with Annika
Windows-10-10.0.17763
Ren'Py 7.4.11.2266
Vendor: 'Intel'
Renderer: 'Intel(R) Q45/Q43 Express Chipset'
Version: '2.1.0 - Build 8.15.10.2413'
When the "Sounds good!" text apears game crashing, but thank you for the game! Its amazing!
Great game! Take a breathe, take a day for yourself, you'll be alright.
How do I change execution access? I managed to unzip the file but I can't run LearnToCodeRPG.sh. Am I supposed to type something into the terminal or is there something in settings
If you mean you don't know how to run from the commandline, then type:
./LearnToCodeRPG.sh
If you mean it won't execute, even after you type that, then try:
chmod +x LearnToCodeRPG.sh
If it still won't run, then I'm sorry, but I don't know how else to help.
That worked, thank you
There's something embarrassing here! emails come saying there are new updates on the game while here the version is always 1.0 as if there was no change!
Hi kmbenjel, thanks for the note! The emails you get are about small bug fixes. We will keep the version number as 1.0 until we have major content updates, at which point we will bump the version to 2.0 and so on.
bon
I just unlocked the completed CS curriculum and applied for cupcake company. After that as I was answering the quiz the game crashed. Here the exact error message:
You know what I loved most about this game? The constant reminders that you have to take breaks and live a life away from the computer, so as not to burn out and/or go insane.
As someone who tends to push himself to burnout, and who is currently taking the self-study path to becoming a developer, I really needed to hear this. (Even if, as a game mechanic, it 's sometimes frustrating that you can only do a tiny bit of actual "studying" before your sanity drops dangerously low . . .)
Anyway. I've only played once through so far, but I appreciate what you've done here. Thanks!
im unable to open the .exe
Im on windows 11 on a PC and have tried everything I see in the comments. I click on the game and my cursor gets the spinning wheel and then nothing.
Any suggestions?
Hi there,
I love the look of this game and can't wait to play it further, but I've encountered a problem.
I'm running Windows 10 Home 10.0.19043 and whether I play the game from the .exe file in the .zip, or download the code from Github and run it through RenPy, the stats aren't working for me. I get this:
Hi TeaandOwls,
Thanks for the bug report. Both have been fixed on GitHub and new builds have been uploaded here :)
Shhh now some spoilers about what caused this error: we are working on translations into different world languages so we’ve started extracting strings and interpolating variables.
Best, Lynn
Wonderful - it works perfectly now. Thank you, and good luck with those translations! :)
I liked this game. I read the story of the programmer behind it in the freecodecamp blog. I joined tech industry for some time now but I am not a software developer (I am a Network Engineer). With regards to coding & software engineering, although I start with some coding tutorials from time to time and I can do some Python/Git/Linux, there is something that always makes me stop and I don't feel I am leveling up the way I want. This game is a good project that has succeeedd with its purpose, it has motivated me to seriously upgrade my coding skills this 2022. Thanks!
click more details, then click run anywa
That message is shown up with every ".exe" file whether the file has virus or not. So you don't need to worry about it so much :)
It shows up because freecodecamp is not a varified developer with Windows. They are legit, just havent gone through the hoops registering yet
You did the right thing by being concerned. It's always good to make sure that what you run is legit and not a virus. If you got the game directly from here, then it should be fine. Always make sure to get software directly from the source, since if you get it from somewhere else, sometimes bad hackers could put malware into the files. The other people here should have told you that, rather than "just click through it" or "no worries." That's not a good habit to have, unless you're 100% sure the executable is legit. This one is, though, so you can click through it.
I've been played this game, and I have to tell this game is a great resources for learning how to make an interview and get a dev job, this is great, but maybe you have to change some dialogues in the game, some of those dialogues repeat so many times, for example: in the kitchen with the mom and in her room, with the cat or when she's taking a rest day in her home and she has to decide what she wants to do in her rest day, maybe add more task for this situation, also add more features or other things.
Congrats!
Just started playing the game and I'm not sure if this falls under accessibility or not but the mom and dad part could be a potential trauma trigger for people who weren't able to trust their parents, or suffered abuse/neglect at their hands. I realize that would require re-writing the whole intro to make those NPCs colleagues or friends or something other than parents. Of course the same could probably be said for colleagues/friends
se puede pasar a español o traducir los subtitulos
The game is really good, i like how you learn the concepts and also the different endings, :D
GOOD GAME
I'm unable to open this game on my Macbook Pro 2012. I have done everything specified in the installation instruction.
The app quits abruptly and displays the following error: https://gist.github.com/godswillumukoro/e0d1576c120e67a54b059804f1e794f6
eh , in the linux quizz you ask the same question 2 times???
"which linux command is used to create multiple nested folders?"
which is the 2nd and 3rd question.
SMTP,POP (emails are files).
PTP can be used to transfer files.
FTP (this is likely what you mean but the others are not incapable of the same thing)
same kind of issue for the question on which port is used for http...
technically all ports can be used for it.
However, one specific well-known port is most commonly used, so that's the one to always answer.
i dont think the game can teach you how to make RPG, you dont need to learn how to send files to another computer or client and in the screenshot it is suggesting using database (AKA server) to do unnecessary stuff.
a database and a server are not the same at all.
a database stores information where as a server serves files to clients and other servers.
and i have no idea what you mean by this
"i dont think the game can teach you how to make RPG"
i did not once mention anything about making an RPG.
Large databases are often located on their own specific servers, so he's not quite wrong.
https://github.com/Tarcaxoxide/Sauce
I have a feeling i wont gain anything from this knowledge wise as i have raise too high to reach but im still very interested to see how the story of the game plays out :)
(some answers i guess)
"so java and javascript are different languages?"
> yes.
"wait, which one is for web dev again?"
> technically both can be used for web dev but javascript is the most common of the 2.
"someone may just decide that python 3 is too old-fashioned before i even get a chance to learn it."
> based on my knowledge of the topic, this is unlikely since they are not planning a new version of python but regardless of that XD eh kid i use C++ and assembly and those 2 languages are freaking dinosaurs so it's not the age of the programming languages that matters.
"are they like cousins or something?"
>in a round about way yes, they all stem from 1 languages. the all mighty and powerful C :) just careful if you do dip your toes in C cause that how your hair turns all grey and you get a beard the length of a football field.
I've started playing like 30 mins ago but this is amazing, makes me actually want to give coding another try like mc
thats crazy, but, did i NOT ask?
This was very intriguing to play. I applaud you guys for trying something like this. Usually when I think of coding, I automatically think of boring courses I took in college, but this actually peaked my interest. I'm not sure if coding is for me, but I showed this game to one of my relatives and they loved it.
Anyway, here's my attempt to Learn to Code:
Hi Random Robo,
Thanks for making this video and we are glad you enjoyed the game!
This game is actually a really neat developer/ programmer simulator and actually teaches about the different programming languages through the quizzes. I only just started learning c# in the last quarter of 2021 and this game actually gives me insight on the different languages more. The story is engaging and it was quite educational for me. Thank you for making this game!
Hi Allekid,
Thanks for making this video and we are glad you enjoyed the game!
Hello I'm playing the game and I like it so far! It's really helping me with some basic coding concepts.
I found a typo in one of the questions.
The question is: "The set of instructions that specifies a computation (in) known as.."
in should changed to "is"
Thank you for creating this game for us coding newbies!
Good catch, thanks!
Hello, I really love this game and i have a lot of fun playing it. I'm playing it with that build in text to speech feature cus i'm blind, and i've found a problem. When scrolling through the story when there are longer sentences tts just reads the beginning and then cuts it out and reads everything again. It's quite annoying but doesn't discourage me from playing cus i've never played anything cool like that before. I'm happy to test the accessibility of this game and give suggestions, but i have problem figuring github out, that's why i'm writing it here with hope someone from the development team will see this. Thank you for making that game, and good luck!
Hi VIPPotato,
Lynn here - thanks for the comment!
We are working on improving the accessibility features and have created a GitHub issue dedicated to those.
We will keep you posted about updates to the TTS feature :)
when i the game was completing dwnlding from the web it suddenly stopped claiming that it doesnt have permisiion how do i fix this....help me please
Hi mike.sylevester,
Lynn here - May I ask what’s your computer’s OS? Please follow the instructions below. Let me know if it works and I’d be happy to assist more.
Windows: LearnToCodeRPG-1.0-pc.zip
Mac: LearnToCodeRPG-1.0-mac.zip
Linux: LearnToCodeRPG-1.0-linux.tar.bz2
my OS is windows10*64-bit
Wow! Amazing game! I will spend a bit of time each day to play this through.
I love the art and UI/UX a lot!
Glad you enjoyed it :D
Hi, I have installed the app and gave permission to the unidentified developer issue but I have never been able to start the app. It crashes the moment I click to open. I see a screen coming up and it fades out.
On the terminal, the error I get is as follows:
```
Last login: Mon Dec 20 18:09:36 on ttys001
/Applications/LearnToCodeRPG.app/Contents/MacOS/LearnToCodeRPG ; exit;
(base) ahmet@Ahmets-MacBook-Air ~ % /Applications/LearnToCodeRPG.app/Contents/MacOS/LearnToCodeRPG ; exit;
zsh: abort /Applications/LearnToCodeRPG.app/Contents/MacOS/LearnToCodeRPG
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...none found.
[Proces voltooid]
```
I hope I can play this game and learn soon on my Mac. Thanks a lot for all of your efforts.
Hi ahimek,
Lynn here - thanks for the detailed report.
May I ask about your Mac’s hardware version and OS version? We’ve tested M1 Mac on Catalina as well as older Macs on older OS and they seem to work. 😅
I’ve searched around and this Reddit post mentioned something about the AMD card causing issue. Here is their solution using an Nvidia card.
If this doesn’t work, it’s still possible to play the game by downloading the source code from GitHub and the Ren’Py Launcher app and directly launching the code from Ren’Py. (And if Ren’Py launcher crashes, that’s definitely a hardware or OS problem 😅)
I’ll keep following up on this. Hope you get to play the game soon :D
Hi,
Thanks for the answer and other option.
I do not any graphic cards on this Mac because it is a MacBook Air. If that is a requirement, I will try the other option you mentioned. Other info about my Mac:
Model-ID: MacBookAir5,2 ( of Mid 2012)
Processor name: Dual-Core Intel Core i5 ( Not Apple M1).
I have a Linux PC where I will try it then before I go with the RenPy.
Thanks again :)
Hi FreeCodeCamp. First of all, Thanks for this accessible game.
there are some issues that I've pointed out.
first. I'm a windows user. and using NVDA screen reader. but in this game, TTS only works with native screen readers, that is narrator in my case. but narrator is not responsive as NVDA is. so, it would be better to give option to the user about choosing the screen reader. specially if user is using windows.
second, currently, it's not possible to change the speed of the TTS from the game. it is better to have this option for the users so they can play the game on their own speed.
third, there was a question in HTML about ins tag, but TTS wasn't speaking the options of that question.
fourth, there could be some shortcut keys to control the volumes of the sound and music. for example, Page Up for increasing the music volume. Page down for decreasing the music volume. etc.
and lastly, in the settings, there should be a slider with percentage in the options like text speed bar, sound volume, and music volume etc. when we increase the volume, it could say, music volume 50%.
Thanks. and again, a lot of appreciations for this accessible video game.
Hi arqamgrt,
Lynn here - thanks so much for your thoughtful feedback! We are glad that you enjoyed the game.
I’ve consolidated your feedback into our open GitHub issue about improving TTS. We will work on that :D