Comments (9)
For things like Mobs, we will need to do a few architectural changes and improvements first. It's not hard, but as Xenon said, it's not a current priority.
Some things we need to do before adding mobs:
-
Make a generic character class, to track positions and other attributes for living and moving things. The player could also subclass from this.
-
Add a system for AI. To keep it easy to modify, maybe this can be a module with various AI classes.
-
We should have a simple scripting system. This will be useful for other things also, such as trigger events. It can be done by making a simple Script class that has certain structure. All scripts can be subclasses of that.
from terracraft.
@22i mobs are not planned at the moment. We want to complete the engine. Thanks to Nuitka we can release independent builds (executable binaries). This will increase performance and eventually the mobs will be inserted. Thank you.
from terracraft.
I'd be happy to work on simple mobs -- I am actually hoping to use this to allow students to write their own AI, etc.
from terracraft.
That would be great. Before going forward, I would like to make some architectural changes, and implement a Scripting system. I have most of this code written already, so I will try to make the changes soon.
In the mean time, we will need to create the 3D models for the mobs. In the recent version of pyglet, loading models in obj
files is supported. That might be useful here.
Or, perhaps something simpler to start with? For example, the mods could just be simple movable rectangles, with different textures?
from terracraft.
Is the scripting system in python? Please say it is!
from terracraft.
Yes, it is. Since it's Python, it's quite trivial to implement. This is basically all there is to it:
class Script:
finished = False
def update(self, scene):
raise NotImplementedError
class ExampleScript(Script):
def update(self, scene):
print("Hello World")
self.finished = True
from terracraft.
That'll be awesome. I am really looking forward to using this with my students in upcoming semesters!
from terracraft.
I think we should just start with a cube that can be scripted to move around the world. I tried doing something with a terrain block but I failed hard.
from terracraft.
I'll try to finish the architectural changes I planned first of all. After that, it should be more easy to extend things.
from terracraft.
Related Issues (20)
- New textures HOT 1
- Reorganization of the code (new modules) HOT 4
- I modifed the for loop to go from -10 to 10
- Added the setup.py module
- Exclude .idea and .vscode from the repository HOT 2
- Game will crash when trying to load a corrupted save. HOT 1
- Close old issues. HOT 1
- The crosshair has disappeared HOT 2
- Label with transparent black background? HOT 8
- Need to write a new function to create the vertex points for the block highlight HOT 2
- [proposal] remove "loading" code, and prepare for incremental map loading. HOT 5
- Need to add sound effects HOT 4
- We need an application icon HOT 5
- [Idea] Enhancing the SaveManager, and sharing data between scenes. HOT 7
- Add simple lighting (sun), and point light sources (torches, etc.) HOT 3
- Allow runtime script control for placing and removing blocks
- [Idea] Separate generate_world from scenes.py HOT 3
- time.clock() missing HOT 1
- Can I use TerraCraft for a project? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terracraft.