cconger / spacesim Goto Github PK
View Code? Open in Web Editor NEWSpace Simulator for Game2100 Course
Space Simulator for Game2100 Course
Project Summary - The game world I'm hoping to build is an extension of my Asteroids project at the beginning of the semester. it will be a space simulator that will allow for movement and combat in space. I'm planning to deliver a horizontal slice of the game environment I'm anticipating building. This will include elements like gravity interactions (between ships and stars and ships <=> ships) this will be generated manually to manage the scale of the universe and ships I intend to build. The 3D Models will be low priority designs and will probably be done as spheres until late in development cycle with an emphasis on the interaction between weapons and the ships instead of the visual models themselves. Some elements I intend to add to make this a different game than others I'm hoping to enable a shield/weapon/engine trade off system. Each ship has a finite amount of "energy" that they must distribute between the demands of the ship. In addition to budgeting, you can also "overdrive" each of these elements which would allow increased performance between them. Also to allow you to overdrive things, you can under power them. This will be a complex control scheme that will require a in-depth UI to give the player a view of the state of their ship. The UI will have to present total power available, power consumption itemized by demanding system. Additionally I want to present a simple UI-radar to present the items in the universe around them. Finally there needs to be a UI to display speed, heading, and damage taken (which should impact the energy generation). =================================================== ACTUAL ASSET LIST - - Fighter Ship 3D Model - Rocket Model - Laser model - Skybox - Planet =================================================== EXECUTION PLAN Mock out the Classes required and mapping of class => scene graph Enable Physics interactions on ships. Add power creation and draw registration system. Half complete... Add Weapons Models and Object Strucutre Done. Add Controls Add Model for Ship, Weapons, and Planets -------------------------------------- MURPHEY'S LAW HITS HARD -------------------------------------- Add Weapon Movement and Collision Add Weapon Launching from "LaunchPads" Add Controls for Weapons Add UI for Speed, heading, energy Add Damage Mechanic Add UI for Damage Build Rough game Elements: - spawn a ship randomly and give points for killing - print and reset score/game when dead ---------------------------------- EVEN MORE FUTURE PLANS ---------------------------------- Add Splash Damage to rockets Add Shield that only collides a certain % of the time, or until dmg cap reached. Add Shield Effect (only shows Texture on impacts) Add Rocket-Locking System Add Complex Visual UI for Dmg, Energy, and Lock-on System Add Modular Damage - allow targeting engines/weapons Add Large Ship - different power schema - new model Add Ship Collision (Kamikaze attacks) and planet collisions. Add Cloaking Add Repairing (A huge energy draw so it disables you for a while) Add AI For the opponent. ============================================================================== Problems and work-arounds: Using built in physics engine. Followed tutorial from reference manual. Borrowed some of my camera logic from the Third Person Better Ralph exable http://www.panda3d.org/phpbb2/viewtopic.php?t=8452 Borrowed Frame of Reference grid from: http://code.google.com/p/python-panda3d-examples/wiki/PandaCoords Models built (ickily) in Blender. LOTS or referral to the Panda3d forums and reference pages.
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.