symphony-of-empires / symphony-of-empires Goto Github PK
View Code? Open in Web Editor NEWSymphony of the Empires is a RTS strategy game and map game.
License: GNU General Public License v3.0
Symphony of the Empires is a RTS strategy game and map game.
License: GNU General Public License v3.0
[Client-side]
The music system will basically play music [no shit sherlock], but should also have "event-themes" which can only play in certain circumstances [for example, prussian music when playing prussia]
Generals and navy generals that commands a unit, they can be transferred to other units and so forth.
The main game loop (which hosts the economy, pop growth, etc) is run as:
run = 1;
while(run) {
LuaAPI::check_events(world.lua);
world.do_tick();
}
While the client-side thread is completely separate from this (see main.cpp lines 28-35). As it stands, this means a few things:
extern std:atomic<int> run;
.UI insta scrolls to maximum
High prio issue
Used for showing armies
Really now all factories are static and never change in the game
Basically in order to repair damaged buildings (damaged buildings underperform depending on how severe the damage is) - it requires a random set of materials to be supplied.
Currently no AI
We need to be able to only show half a widget
Better said than done, as previously mentioned on #51 the current client code heavily relies on OpenGL.
A mod manager that would be capable of running multiple mods without conflict and also have "dependencies" so code duplication is reduced.
[Almost] everything is a sprite right now
Basically the client would supply the server an image of the user along with the username, this should be required before being able to select a country.
This could be used by the server to identify and also ban/kick users.
Users can have any username they want - even duplicate usernames - provided that there isn't another user with the same name on the server we want to connect to.
Province ownership can currently be deduced in several ways, most notable:
Province
class has an std::vector<Nation*> owners
member, which supposedly tracks which nations own (parts of) the province.Nation
class has an std::vector<Province*> provinces
member, which supposedly tracks which (parts of) provinces this nation owns.However, these two are highly inconsistent. Asking a nation which provinces it owns tends to give a list of several provinces, but checking the converse finds that most provinces claim to be unowned.
It also seems that each province has a size_t owner_id
which keeps track of which nation owns it, but nation ids are stored as a uint16_t
, which has a much shorter range of allowed values (for example, the default values for PROVINCE_DISPUTED
and PROVINCE_NO_OWNER
are both out of range for nation ids).
Shouldn't be hard to do
Use framebuffer to draw to the div_sheet_tex
SOE will have Map export this is an issue to track that progress
Textured terrain would look pretty ngl
Right now if somehow SoE gets ported to a MIPS machine and then i try to connect to a x86 box i will surely get a lot of errors regarding endianess in the serializer.
Faulting code:
nation.cpp:90
if(pop.type_id == POP_TYPE_FARMER
|| pop.type_id == POP_TYPE_SOLDIER
|| pop.type_id == POP_TYPE_LABORER
|| pop.type_id == POP_TYPE_SLAVE) {
return current_policy.poor_flat_tax * base_tax;
}
The server sends ActionType = 0, this creates a not big enough buffer which causes the error.
This can be circumvented by making 0 = an invalid ation, but circumventing problems is not a good way to do stuff.
Something simple spreadsheet looking widget
Tooltips only work per widget, and we need different widget for piechart slices
this is a known bug, for now it's temporarily patched by artificially limiting the AI & players on what it can build.
country_name+n
, where +n
is an integer that would be allocated by the server when a new party comes - when a +n
postfix nation stops existing it should be removed immediately from the game - the game due to the way the engine works would treat these civil war nations as independent nations so it means they can ally with foreingersAnything higher than 2.2+ would suffice - the current client code heavily relies on GL lists and state-machine stuff that would surely cause issues when trying to port to a newer environment.
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.