Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code for episode 14 #57

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open

Code for episode 14 #57

wants to merge 55 commits into from

Conversation

obiwac
Copy link
Owner

@obiwac obiwac commented Feb 4, 2022

To note: this was originally intended to be episode 13. Now, this will be episode 14, and episode 13 will be about general code cleanup and optimization.

Includes:

  • OBJ model loader (could possibly be split into a separate tutorial?). (Instead, there's currently a converter script to convert Bedrock models to MCPY block model files. I might change my mind on this again though...)
  • A bunch of entities, defined in an entity descriptor file (data/entities.mcpy). They can be spawned by pressing P.
  • An instanced rendering system for rendering entities. (In the end, the bottleneck is by far from computing physics & collisions for entities, not from draw calls. Also incompatible with animation model.)
  • Specific mob shaders for lighting them correctly (may end up in a future episode).
  • The ability to save/load entities.
  • Extremely basic mob AI.
  • Mob animations.
  • Use correct textures lol mobs: Using wrong textures #98
  • Sort out normals, because they're incorrect. See paturage: Was transforming normals completely wrong in lighting calculation NovAti0n/MOOdle#16

The different entities include the player, pigs, zombies, skeletons, creepers, spiders, sheep, giants, slimes, and cows.

Will merge when the episode comes out on my YouTube channel!

@obiwac obiwac self-assigned this Feb 5, 2022
@obiwac obiwac added the future episode Branch for development of features for a future episode. label Mar 14, 2022
@drakeerv
Copy link
Contributor

yay

@Atten007
Copy link

Can you please add a menu and infinite worlds too?

@Atten007
Copy link

And maybe multiplayer?

@obiwac
Copy link
Owner Author

obiwac commented Apr 28, 2022

Can you please add a menu and infinite worlds too?

Infinite worlds are quite trivial to do, the problem is rather with chunk generation performance. I don't know if menus will be covered by a tutorial per se, but the one on 2D interface elements will come soon (right after episode 13 on mobs).

And maybe multiplayer?

That's planned, but not for the moment ;)

@lgtm-com
Copy link

lgtm-com bot commented Jul 24, 2022

This pull request introduces 18 alerts when merging 5f57e91 into 8ee716a - view on LGTM.com

new alerts:

  • 7 for Wrong number of arguments in a class instantiation
  • 4 for Wrong number of arguments in a call
  • 3 for Unused local variable
  • 3 for Unused import
  • 1 for Module imports itself

@abhra2020-smart
Copy link
Contributor

chill nerd bot we have pycharm

@happyleibniz
Copy link

how about a villager mob?

@happyleibniz
Copy link

maybe you can set a trading system

@obiwac
Copy link
Owner Author

obiwac commented Sep 7, 2023

yeah that would be fun, once a UI system is in place! maybe to be added in the community directory because that's a bit out of scope for the episodes.

@happyleibniz
Copy link

Obiwac didn't add a bottom texture or smt is true :) i checked the texture folder
:>

@happyleibniz
Copy link

of the torch i mean

@obiwac obiwac changed the title Code for episode 13 Code for episode ~13~ 14 Jul 26, 2024
@obiwac obiwac changed the title Code for episode ~13~ 14 Code for episode 14 Jul 26, 2024
@obiwac obiwac mentioned this pull request Aug 10, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
future episode Branch for development of features for a future episode.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants