jonahshader / alife-tournament Goto Github PK
View Code? Open in Web Editor NEWGame for Oakland University's CSI4999
Game for Oakland University's CSI4999
Implement listeners and packets for tournament requests and results
need some sort of tutorial
The main menu will have multiple buttons which lead the settings screen, the saved creatures/environments screen, or to the screens related to one of the two main game modes.
reformat the screen so it looks better
TODO: figure out how to integrate the database into the server/client architecture.
this looks cool: https://realm.io/
https://github.com/realm/realm-java
looks like you can use java to define the database schema, which would be very convenient.
Currently, weights are initialized with gaussian noise with mean=0, std=1. This is problematic because larger brains have more connections, leading to higher input variance to each neuron. We want the pre-activation of each neuron to have the same variance regardless of the initial size of the brain to prevent saturation of the activation. I think that the creature's jittery, erratic initial behavior comes from the over saturated activations in the brain (similar to seizures in real brains).
I will try to alter the initialization to reduce over saturation.
Happens because the env is being serialized while running. I think I can fix it by pausing the simulation when the save button is pressed.
PhysicsObject is a class that extends Group. It has a move method that takes in delta time and uses that to integrate acceleration and velocity using euler integration, basically: vel += accel * dt; pos += vel * dt;
theres a bug that retains food outside of the selected bounds
Setup a bare minimum client/server architecture.
Implement remaining tournament logic
fix ct_bridge table in assets/server
Server
Client
Flow should be
Includes removing things from the environment, replication and mutation
PhysicsEngine detects collision between PhysicsObjects <-> PhysicsObjects, and Tools -> PhysicsObject
Need:
Server
Client
add leaderboard tab to (main menu?)
needs server and client listeners
Add energy to tools, sensors, creature
Add more information for selected creature in the creature HUD.
create packet classes based on template
Screen right before entering the simulation screen. Should be able to set maximum number of components and other generation constraints for training.
Need to add the Sensor interface, and then make Eye that implements Sensor.
Right now we are displaying Creature 0, Creature 1, etc. It would be better to have a table with two or three columns: index, name, description. This would require making the screen wider/larger than it currently is.
add new user type
The saved entities screen needs an interactive UI with separate tabs for the creature and environments, as well as an information window for a selected entity.
Need to be able to click on a creature and get various information about it, such as a list of components the creature has. The camera should also follow a selected creature as it moves around.
Server
Client
Add all (initial) interfaces:
The simulation thread doesn't exit properly when the program closes, and offspring inherit health instead of starting from full.
Need a certain amount (like 40 or something) entries in a table. We can generate random creatures with randomized names and descriptions for this.
Need a toolbar for world building tools and simulation control (speed, pause, nodraw, etc).
Sparse brain is a graph-based brain. Neurons are connected via weights, which are just floats. Probably should implement the graph using list of edges. The activation function should be configurable.
Server
Client
Add a component called horn that can be attached to a creature. A creature with a horn should then have the ability to do damage to other creatures on collision.
Create an environment that can spawn food until the total food reaches a maximum limit
Default resolution should have a 16:9 ratio
Add a basic ranking system and currency system
Dense brain is a standard neural network using dense matrix math. Activation function(s) should be configurable somehow. Maybe the constructor takes in a list of layer sizes and activations?
Implement a screen that runs an environment with a spectator camera or something similar. Also would contain some kind of HUD.
sqlite - java connection
need to add several users to assets that will be shipped with the game
each of these users will need a couple chunks associated with them
make a method that fuses 4 chunks together, producing a tournament
Implement Flagella, the tool the creature will use to propel itself through the environment.
Make a shop screen in the main menu where a user can purchase various upgrades with currency they earn from winning tournaments.
Mouth needs to eat food and increase the creature's energy. Maybe it also regens health?
Implement the main creature class.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.