Home » Stars! Clones, Extensions, Modding » Stars! Extensions » Stars Core Engine
Stars Core Engine |
Thu, 30 October 2014 04:05 |
|
Shadow Whist | | Chief Warrant Officer 2 | Messages: 167
Registered: August 2003 Location: Vancouver, WA | |
|
This is a project I have been working on for a few months.
https://github.com/jurlaub/StarsCoreEngine
Revised StarsCoreEngine Internal Structure:
https:// docs.google.com/drawings/d/1rE61lFW4LO713llX9rlSGZ4sUVmTcOb8 _4Co501PzH0/edit?usp=sharing
Possible Stars! game structure that includes the StarsCoreEngine
https:// docs.google.com/drawings/d/1aE9Fp3Aul-DSjEzRmPvZQcCKjugAvtQS Q83G45UGQnA/edit?usp=sharing
While I hate the idea of 'abandoning' the other stars! efforts and beginning (yet Another!) stars project, it seems like it needs to be done. (Hopefully, it is not too late! ) Considering the past, I believe a new approach is needed. I really liked a number of ideas from the Stars 3 topic found in the Bar. From that discussion, I derived the following:
- Developer time is at a premium so use Python for development
- Build the core engine (i.e. limit project scope)
- Use JSON to communicate outside the core engine
Considering that a project like this is similar to undertaking one to three large universe stars games - (say 12 Gates, Rabid Weasels in a Box II-b, and Diadachi Wars II ) - I want to make it as simple and easy as possible. I think Python allows for this. I also enjoy developing in it. (Whereas I looked at the Freestars code ~5 separate times in the last few months and wasn't very excited about it.)
Creating the core engine with a standard interface allows other projects to complete the UI and any other components. Those other projects could include: Android, iOS, and/or web browser based UI. The core engine is also a smaller chunk to swallow by one's self (if necessary).
The structure makes extensive use of Python objects and dictionaries. It is still early in the project but I think the internal design (above link) is solid. Almost everything in the game is a Space Object and inherits from that primary object class. Many of the Order of Event actions can be written as functions inside the class. The others will do stuff to the Space Objects.
The initial project objectives are laid out in the wiki https://github.com/jurlaub/StarsCoreEngine/wiki (actually two lists - I like "The other list" better. ) My first focus was to create a outline to work within. And then to prove that the pickle module will work and build a test framework. That was finished last week. I am now working on creating support for generating a game universe (or 2+ ) from a standard template (basic part is done) and then modifying that standard template. After the basic structure is finished, it will be easier for others to contribute (at least that is my hope). (Oh, and I am in the "close enough" "& lets get into the ball-park" camp. Because we need to get this done! )
Let me know what you think,
Thanks!
SW
[Updated on: Thu, 30 October 2014 04:10]
Rapid Weasel News Agency, We've got the Rabid!Report message to a moderator
|
|
|
Goto Forum:
Current Time: Fri Apr 26 03:11:10 EDT 2024
|