Sunday, May 3, 2026
9187c07c-4d39-4459-874b-ccb6d4614489
| Summary | ⛅️ Light rain until evening, returning overnight, and breezy from afternoon until night. |
|---|---|
| Temperature Range | 16°C to 18°C (60°F to 64°F) |
| Feels Like | Low: 51°F | High: 65°F |
| Humidity | 79% |
| Wind | 19 km/h (12 mph), Direction: 239° |
| Precipitation | Probability: 100%, Type: rain |
| Sunrise / Sunset | 🌅 05:56 AM / 🌇 07:34 PM |
| Moon Phase | Waning Gibbous (56%) |
| Cloud Cover | 92% |
| Pressure | 1008.25 hPa |
| Dew Point | 55.86°F |
| Visibility | 5.31 miles |
A Status of Forces Agreement (SOFA) constitutes another landmark in the long-evolving defence and security ties between Cyprus and France. It comes amid shifting geopolitical sands in the volatile region of the eastern Mediterranean and the Levant, as the island looks to leverage its geographical location as well as its status as an EU member.
On April 26, President Nikos Christodoulides confirmed that negotiations with Paris have entered a formal phase, with the SOFA agreement to be concluded at ministerial level.
He said the arrangement “will provide for the presence of French forces on Cypriot territory for humanitarian purposes”, framing it as part of a broader strategic alignment between the two states.
The agreement establishes the legal and operational framework governing the presence, movement and activities of French military personnel in Cyprus.
It defines jurisdiction, taxation, customs procedures and conditions of deployment, while ensuring reciprocity for Cypriot personnel operating in France.
Christodoulides said the agreement was expected to be concluded in June.
The Cyprus Mail understands the June timeline is anything but random. Defence ministry sources told us it coincides with the informal meeting of EU defence ministers, scheduled to take place in Nicosia on 7 and 8 June.
The idea is to have the SOFA finalised by then, so that it’s signed and sealed at the informal summit.
The sources could not give more details – such as whether French forces would be permanently stationed in Cyprus.
The SOFA might have been announced earlier, at the informal meeting of defence ministers initially scheduled for 11 March. However, the Cyprus presidency of the EU Council postponed the gathering due to regional security developments impacting travel.
But what does it all mean? And why now?
Veteran diplomat Euripides Evriviades described it as the culmination of a long process of deepening security relations between Cyprus and France.
Evriviades, ambassador ad honorem and Senior Fellow at the Cyprus Centre for European and International Affairs, said the notion of a “love affair” between the two nations is somewhat misleading.
“The relationship is not new. It has depth, continuity, and memory. What we are witnessing today is not its birth, but its evolution – its elevation to a more structured, strategic, and operational level.”
The analyst recalled that an inflection point came during the presidency of Tassos Papadopoulos.
In March 2007 Cyprus and France signed a defence cooperation agreement, described by both sides as a “routine pact” arising from the need to upgrade cooperation following Cyprus’ provision of ground and other services to French and multinational forces during the Lebanese crisis in 2006.
“These steps were not cosmetic,” asserted Evriviades. “They reflected a deliberate broadening of Cyprus’ diplomatic orientation beyond its traditional anglophone framework, including its participation in the Commonwealth of Nations.
“What has changed today is the level of ambition and the degree of institutionalisation.”
The former diplomat points to the Strategic Partnership Agreement signed in Paris in December 2025 by Christodoulides and French president Emmanuel Macron.
The behemoth of a text – some 4,000 words – provides the political framework. It formalises cooperation across defence, security, innovation, and European coordination.
It signals intent.
Now, said Evriviades, the SOFA establishes the legal and administrative framework for the presence and activity of French forces in Cyprus.
“These are not ad hoc isolated steps. There is a sequence: from political alignment, to strategic partnership, to operational presence.”
The ex-ambassador cited a number of “concrete benefits” to Cyprus.
First, it enhances its security posture and defensive capacity.
“Security for a small state does not come from isolation, but from relevance – from embedding itself in credible networks of cooperation, legality, and preparedness.”
Second, it strengthens interoperability with one of Europe’s most capable military powers. France is a Nato member, a Mediterranean power, a nuclear power, a permanent member of the UN Security Council, and one of the very few European states with the capacity to deploy and sustain operations beyond its borders. Additionally, it is a central actor within the EU.
Third, Cyprus increases its strategic utility within the European emerging geopolitical security architecture.
“Geography alone is not enough,” Evriviades stressed. “It must be translated into relevance – into infrastructure, reliability, and contribution.”
For France, the logic is equally clear. Cyprus offers a stable EU-based platform in the eastern Mediterranean – proximate to the Levant, to Lebanon (a country of particular interest to France), to the Suez Canal, to energy and trade corridors, and to multiple theatres of instability. It also sits at the intersection of the security concerns of states across the region, including Israel.
“In a region where access matters, Cyprus offers access. In a region where reliability is scarce, Cyprus offers predictability.”
All this must also be viewed within the broader European framework – specifically Article 42.7 of the Treaty on European Union (TEU).
“This is not rhetorical decoration. Article 42.7 is the EU’s mutual defence clause. It commits member states to provide aid and assistance ‘by all the means in their power’ to a member state that is the victim of armed aggression. The clause is open to interpretation. As ever, the devil is in the details.”
That is precisely where Article 42.7 acquires renewed relevance. For Cyprus, not a Nato member facing an enduring security challenge, the clause carries particular weight. It’s the closest equivalent to a collective defence commitment within the EU framework.
“But clauses do not operate in a vacuum. They require clarity, rules of engagement, relationships, interoperability, presence, and trust to become credible.
“Those details now matter more than before. Transatlantic assumptions are no longer taken for granted. US President Donald Trump has injected uncertainty into the European security equation, including questions about the future role and reliability of Nato and the United States’ commitment to it. Nato remains central. But the EU is increasingly compelled to organise itself more seriously as a security actor.”
Article 42.7 does not, by itself, resolve the wider EU-Nato dilemma. But it addresses one essential part of it: how the EU responds when one of its own member states invokes its mutual-assistance clause.
At the informal European Council meeting in Cyprus last month, and at the recommendation of Christodoulides, EU leaders tasked the European Commission with preparing a concrete operational blueprint for the implementation of Article 42.7 – defining who responds, how, and with what means if it is invoked.
“For years, the clause existed in legal form – clear in obligation, but vague in application. This is the first serious attempt to move it from text to mechanism.
“The Cyprus–France agreements do not replace this process. They anticipate it. They align Cyprus with a member state that has both the capability and the political will to act when such mechanisms are called upon.”
The response by some European countries, dispatching naval assets to Cyprus after the recent drone incident at RAF Akrotiri, provided a glimpse of how this can work in practice. Though not a formal invocation of Article 42.7, it nonetheless served as a practical demonstration of its underlying logic: that assistance, coordination, and solidarity can materialise when required. In that sense, Article 42.7 has already begun to move quietly – from principle to practice.
“Is this hype? No. Nor is it a formal defence guarantee in the Nato sense. It is something more subtle, but still serious: the gradual construction of a European security fabric in which Cyprus is no longer peripheral, but embedded.”
As to the timing, Evriviades explained: “Because the East Med has shifted. It is no longer peripheral. It is a space where European security, Middle Eastern instability, energy, migration, and great-power competition intersect. One single geopolitical strategic theatre. In truth, it always was. What has changed is the immediacy of awareness.”
And according to the ex-diplomat, Cyprus’ doctrine is defensive.
“These arrangements are not directed against any state. They strengthen preparedness, resilience, and the credibility of the overall security framework – within a framework of legality and cooperation.
“In diplomacy, small states do not have the luxury of strategic loneliness. The objective is not to provoke. The objective is to anchor – and to be useful.”
Perhaps, but both SOFA and related developments did rub Ankara the wrong way.
Last Thursday, Turkey pushed back against French plans to deploy troops to Cyprus, warning it risks destabilising the island and disturbing the existing security balance.
“Such moves risk upsetting the existing delicate balance and heightening tensions on the island,” a Turkish defense ministry official told journalists in Ankara at a press briefing.
“We reiterate that these initiatives could also pose future security risks for the Greek Cypriot Administration and that steps that could undermine regional stability should be avoided,” the official said.
As Turkish commentators write, the SOFA announcement did not occur in a vacuum. The previous week, France and Greece had signed an Enhanced Comprehensive Strategic Partnership – extending an overarching defence pact that will be automatically renewed when it expires in five years.
“In this partnership, there is a mutual support and assistance clause in case of armed aggression,” Macron said during a joint press conference with Greek Prime Minister Kyriakos Mitsotakis in Athens.
“Don’t even ask yourself the question; whatever happens, we will be there on your side,” he added.
Greece, Turkey’s Nato ally but longtime rival over territorial disputes, has also deepened cooperation with Israel in recent months, fueling Ankara’s concerns about encirclement in the region.
Cyprus loves its coffee. Freddo espressos, flat whites, lungos, Americanos, Cypriot coffee and the list goes on. Not a day goes by that local coffee shops, generating interest in the new edition of the Cyprus Specialty Coffee Festival, which is coming soon.
Salina Municipal Park in Larnaca will host the caffeinated affair on Sunday, May 10, and it is going to be an aromatic, full-day extravaganza. From 9am to 5pm, local coffee roasters, invited special guests, and food vendors will fill the park with quality coffee, coffee beans and flavours. With free admission, the event is bound to be a lively gathering for connoisseurs, industry professionals and visitors wanting to experience the speciality of coffee.
Participating roasters this year include Paul’s Coffee Roasters, The Daily Roast, A Kxoffee Project, Kollaborative Coffee Roasters, Serious Black, iHeart, Beanhaus, Marinos the Roaster, The Coffee Roaster, Wagmi, Amber and Joe, Jar of Coffee, Tin House, One/5th Coffee Roasters, Gustav Roasting Co. and Rrest Coffees.
Guest coffee roasters are also the shops Green Colibri Specialty Coffee, Rum Baba, AirFlow Coffee and Estradora Matcha, while on the food front, vendors serving tasty bites all day long include Fahrenheit Bakery, Honest Bread, Omni Food, Lokoumades and PotBelly Street Food.
And that is not all. More drinks, greenery and coffee accessories will be available from Mikro Kombucha, Citrus House and Planterea Plants, and more vendors joining to give the festival an even richer feel.
Cyprus Specialty Coffee Festival 2026
Dozens of coffee roasters, food vendors and shops participate to celebrate coffee culture. Organised by Sunmoon Hospitality and Pauls Coffee Roasters. May 10. Salina Park, Larnaca. 9am-5pm. Free admission
Livestock breeders on Saturday demanded to meet President Nikos Christodoulides amid the ongoing outbreak of foot and mouth disease, with their representative Christodoulos Christodoulou describing the government’s handling of the outbreak as “unacceptable”.
“The government is unacceptable. They plan for tomorrow, they do not care about today,” he said after a meeting Stavros Malas, the man appointed by the government to head the scientific committee formed in the wake of the outbreak.
“They put Malas there to plan tomorrow. Today is dependent on the veterinary services department, the president, and the government. They have no solution. They have no programme. The president has a deadline of Monday afternoon,” he said.
He added that if Christodoulides does not agree to meet representatives of a newly established organisation named “the voice of livestock breeders” by Monday afternoon, “new mobilisations” will be undertaken.
The new organisation was formed last Tuesday and said at the time that it aims to highlight “the serious issues which have arisen in the sector”.
Among other things, it calls for alternative to the culling of livestock in light of the outbreak, though European Union law stipulates that if an animal is found to have foot and mouth disease, every animal on the farm must be culled.
Thus far, the disease has been detected at 110 farms across the island.
The government and Akel traded strongly-worded statements over the state of the economy on Saturday, with Akel decrying the fact that one in six people in Cyprus are, according to the European Union, at risk of poverty or social exclusion, and the government defending its records.
Akel began the day by criticising President Nikos Christodoulides’ May Day message, in which he listed the achievements of his government which he says have been to the benefit of workers, saying that Christodoulides “did not comment” on the EU’s findings.
It also said that in Christodoulides’ hailing of recent increases to the minimum wage, he “did not clarify” that Cyprus’ minimum wage still falls short of the EU’s target that the minimum wage in every member state be at least 60 per cent of the median salary.
Additionally, it said, Christodoulides “did not explain the long delay observed in the ratification by Cyprus of the European directive for at least 80 per cent of workers to be covered by collective bargaining agreements”
“The directive, which was supposed to be incorporated into national law by November 15, 2024, is one of the most important weapons in addressing the policies of deregulation of labour and the protection of workers,” it said.
Cyprus has not yet wholly transposed the directive into its national legal system, with the EU having set June 7 this year as its deadline for transposition. Should the government not meet that deadline, it could be taken to the European Court of Justice.
Akel on Saturday then turned its attention to the May Day marches organised across the island, saying that “thousands of workers of all ages” had “flooded the streets of every town and village in the country yesterday with … demands for workers’ rights and the dignity of society”.
“Amidst the pressing social conditions, on this year’s May Day, the resounding message sent by the working class stood out – that the country does not belong to the banks and the one per cent of the richest people in Cyprus who exploit the country’s wealth and benefit in every way from the policies of the government and the establishment parties,” it said.
It added that “the hundreds of thousands of workers who drive Cyprus’ economy every day are entitled to decent wages, guaranteed basic rights, collective labour agreements, job security, humane working hours”.
Government spokesman Konstantinos Letymbiotis offered a terse response, saying that “society does not need lessons in social sensitivity from those whose policies, when they governed, contributed to an increase in poverty, the explosion of unemployment, and the opening of food banks”.
“Akel remembers 2025. It forgets 2013. However, society cannot forget, because the consequences of its destructive policies still haunt the country,” he said.
His mention of 2013 is a reference to the banking crisis which hit Cyprus in 2012 and 2013, when rising amounts of non-performing loans – money owed to a bank which it is unlikely to recover – effectively left Cypriot banks insolvent, with the Cypriot state thus requiring a bailout from the European Union.
Letymbiotis on Saturday said that Akel “has every right to criticism”, but that “it does not have the right to a selective memory”.
“The facts show who, when they governed, poverty skyrocketed, who bequeathed food banks, and even today, 13 years later, we are called upon to pay the bill for their own reckless policies,” he said.
He added that while Akel invoked the figure of one in six being at risk of poverty or social inclusion, “the government does not underestimate any number or any social difficulty”, and that every person who “is pressured” constitutes “a reason for more effort, more targeted policies, and a stronger welfare state”.
“The truth, however, requires a complete picture, and not selective reports. Akel neglects to mention that in 2025, the percentage of people at risk of poverty or social exclusion was 17.1 per cent, while during the period it governed, the figure increased from 23.3 per cent in 2008 to 27.8 per cent in 2013,” he said.
He added that “in other words, under Akel’s government, the risk of poverty or social exclusion increased by 4.5 per cent”, but that “today, it is 10.7 per cent lower than it was in 2013”.
“This is not a detail. It is a receipt,” he said.
To this end, he said that “while Akel chooses to isolate a number, the overall picture shows something very specific – the incumbent government is implementing policies which truly boost people’s income”.
Livestock at two more farms were to have been infected with foot and mouth disease on Saturday, bringing the total number of infected farms to 110 across the island.
Both farms were sheep and goat farms near Athienou.
Meanwhile, the veterinary services department said that it has not yet come to a decision regarding the fate of animals belonging to rare breeds which have been diagnosed with the disease.
That decision, it said, will be announced “in the coming days”.
According to European Union law, when an animal is found to have foot and mouth disease, every animal on that farm must be culled, though derogations are occasionally available for rare and endangered breeds.
More than 30,000 animals have already been culled, with veterinary association chairman Demetris Epaminondas having said previously that there is “no less painful alternative” to culling when attempting to stem the spread of the disease.
“The killing of all animals in such cases is imposed by European legislation and there is no less painful alternative,” he said, before adding that European Union law on the matter is “particularly strict”.
He also stressed that vaccinations of animals cannot replace culling as a method of preventing the disease’s spread, as the vaccine’s aim is “to limit the transmissibility of the disease”.
“Even a vaccinated animal, if it is found to test positive, must be culled,” he said, before going on to say that animals can remain infectious for four to six months.
He added that allowing infected animals to live also entails the “risk that the virus will be transmitted further either by air, or by machinery, or in any other way which would affect other units”.
“That is why these extreme measures are being taken,” he said.
Let’s take, for instance, the ‘poiitarides’ – or ‘itinerant poets’, as Nicoletta Demetriou calls them.
‘Poiitarika’ (the category name for their works) were “long narrative songs,” she explains, “the closest thing in English might be ‘ballads’” – like the old broadsheet ballads of the Anglo-American world, printed on a single piece of paper and easily disseminated.
Printing came to Cyprus in 1878 (the same year as the British, though that’s actually a coincidence) and the ‘poiitarika’ soon followed, songs on politics or current affairs, often inspired by some local news like a murder or an accident.
The poet might go from one village coffeeshop to another, plying his wares – or might set up shop at a village fair, what Nicoletta calls “the improvised mall of that time”, selling songs among the various traders selling sausages or fabrics or soutzoukos.
The itinerant poet would find a good spot – somewhere high up, so everyone could see him – and start to declaim. The business model, though (because “it was a profession,” she says), was that he wouldn’t sing the entire song, leaving the audience on a cliffhanger. Those who wanted to know the denouement had to buy the printed version of the song – and of course share it with those who couldn’t read.
The most surprising part, however, says Nicoletta, sitting in the tiny office of the Cyprus Music Archive (CMA) in old Nicosia, is how durable ‘poiitarides’ as a profession turned out to be.
“The last itinerant poet we had – who made a living out of this, whose job it was – was Andreas Mappouras from Aradippou, who died in 1997!”
Nicoletta is the CMA’s director, so she’s paid to know stuff like that – though in fact that’s a little unfair. She’s an enthusiast, not some civil servant or official functionary – and the Archive, though it sounds very official, is actually a labour of love, a non-profit founded by a small team in 2022 and staffed partly by unpaid volunteers as it seeks to create a digital archive of traditional Cyprus music.
The CMA website is already up, but the bulk of the work – the online library of songs and interviews – is coming soon. The plan, she says, is to put up a first tranche in the next few months, hoping that people will see it and “be like, ‘Oh wait, I have 10 cassettes that belonged to my grandfather too’” – the eternal problem being that so much of our musical heritage keeps getting lost.
Partly that’s because it’s so fragile. Cypriot music was predominantly wedding music, played on the signature combo of fiddle and laouto – plus sometimes zournas (a double-reed woodwind instrument) and davul (a drum), played by Turkish Cypriots and Maronites.
For most of our history, though, those instruments weren’t widely available, and people were too poor to have lavish weddings. At best, there might be some singing, or banging the tamboutsia – a frame drum that was only there because it was used primarily as a household item, as a sieve for threshing wheat or cleaning pulses. Sometimes a lone shepherd might play an air on his pithkiavli.
It was only later, with the approach of the 20th century, that music as we know it was played at weddings. And even then, of course, it wasn’t recorded.
In the 1920s, says Nicoletta, representatives from a record company met with musicians at Mavrophilippos’ coffee shop in Nicosia, and showed them the miracle of recorded music. Alas, things didn’t go as planned. After the reps had gone, the musicians held their own meeting and agreed that “no-one would record any songs, and if anyone dared he’d be named and shamed by his colleagues”. After all, went the thinking, what if people stopped hiring musicians for weddings, and just played the recordings instead?
The first commercial discs of Cypriot music only came out in 1934, and the first recordings from fieldwork in 1953 – soon after which, of course, came independence, then the invasion, then a whole new Cyprus.
When Nicoletta was singing traditional songs, as a 12-year-old in the early 90s (more on this later), the music was already deeply unfashionable. By the mid-00s, doing research at folklore associations and festivals, the audience she saw was comprised solely of very old people and very young children, obviously dragged there by their grandparents.
The upshot is that there was only quite a brief window when musicians and aficionados were recording music – and when such people died, says Nicoletta, “the recordings, their personal archive, would be left in a drawer. At best, [their descendants] left it there. At worst, they threw it out”.
This, in a nutshell, is where CMA comes in, trying to collect and digitally preserve such archives – not just songs but also interviews, some carried out by Nicoletta herself who’s both an ethnomusicologist and a specialist in ‘life writing’, the craft of writing about people’s lives. Her biggest project prior to CMA was The Cypriot Fiddler, a book and documentary (winner of this year’s European Heritage award) chronicling the experience of many elderly – some now deceased – musicians.
The aim of the Archive is to give a flavour not just of music, but a whole era. “What did it mean to be a musician in Cyprus in the first half of the 20th century? What was the role of music in that society? Why was it important, if indeed it was?”
How important was it, actually?
Very, she replies – “because musicians didn’t just provide music for entertainment. They enabled a series of rituals”. There was a particular melody “to wash the resi [a traditional porridge at weddings] – actually to wash the wheat for making the resi. Then a different song to ‘sew the bed’, a different one to ‘bind the bride’,” i.e. tie a red scarf – “a symbol of fertility and virginity” – to the bride.
These were all rituals; “they meant something”. Now, on the other hand, people do them because they enjoy them, she adds – and quotes the title of a 1982 book by Victor Turner: From Ritual to Theatre.
The fact that she cites an academic text (even knowing, without having to check, that it came out in 1982) typifies the great paradox in her personal story. Nicoletta’s spent her entire adult life deeply immersed in Cyprus, and traditional Cypriot culture – yet she also spent two decades living abroad, as a student and academic researcher, from Oxford to Princeton, from Vienna to SOAS in London.
She began as a 12-year-old singer, as already mentioned, her repertoire prompting eyerolls from more trendy classmates. The family came from Famagusta but lived in refugee housing in Latsia – and Nicoletta, the youngest of three, born after the invasion, may have sensed traditional music as a kind of link to the occupied Cyprus recalled by her parents.
Maybe she could feel the refugees’ memories slipping away, as one Cyprus blurred into another. Or perhaps she experienced what many young people feel now, she says – when the music is making a comeback, and iconic figures like her old friend Michalis Terlikkas are doing guest spots at Fengaros and being mobbed by selfie-hunters: “A new desire to know who we are, after all, and what culture we actually have”.
The time seems ripe for a Cyprus Music Archive, part of the new revived interest in Cypriot culture and Cypriot dialect. Yet there’s so much that’s lost, or slid into obscurity, or slipped through the cracks.
What younger person knows Theodoulos Kallinikos, for instance – lead cantor at the Archbishopric for 69 years, and the man who first recorded classics like ‘Tylirkotissa’ and ‘Eyia Kochini’? Nicoletta heard him chanting in church almost at the end of his life, his voice still clear and musical at the age of 99 (he died soon after, aged 100 years and five days). Who now recalls the ‘poiitarides’? Most Cypriot teens will probably have seen more rap battles by hip-hop artists on YouTube than they’ve seen ‘tsiattista’, the Cypriot equivalent of the same “poetic duelling”.
There’s no shortage of material to digitise for the CMA. The problem, she admits, “is to make it sustainable. Because right now, the money we have will buy us the server space for about three years. After that the money will run out, and we’ll have to find other funding”.
You’d expect something so culture-specific to find backers easily, but apparently not. Funding hasn’t come from the obvious sources. Nicoletta is a Fulbright alumna – part of her many academic peregrinations; she won a Fulbright fellowship in 2017, research and teaching at the Interdisciplinary Center for Hellenic Studies in Stockton, New Jersey – and initially found some funding through a US embassy programme, though the money dried up after Trump’s election.
It’s only in the past year that the deputy ministry of culture has become involved – though admittedly they always helped with the educational side, the courses Nicoletta teaches in the CMA’s tiny headquarters, ranging from Cypriot Traditional Music 101 to why we eat flaounes at Easter. Every penny helps, as the library slowly takes shape.
It’s almost ironic that most of these old songs (“Nine out of ten,” she confirms with a laugh) speak of love, “especially unrequited love” – since her project, too, is a labour of love, and doesn’t always seem to be appreciated. Still, she’s far from melancholy, beaming with scholarly excitement as she plays various samples from the work-in-progress library.
Music unites, on an island with so many fractures. Nicoletta tells me of her first meeting with Aziz Kahraman (she even included him in The Cypriot Fiddler, even though he’s a davul player) – part of the Greek-speaking Turkish Cypriot community in Karpasia, those who grew up speaking Greek as their first language then remained in a linguistic bubble for 30 years, from 1974 till the opening of the checkpoints.
“Bravo, you speak Greek really nicely,” said Aziz with a straight face – but of course he meant ‘his’ Greek, the antiquated dialect preserved over 30 years in seclusion, so unlike the bastardised jumble he’d hear when he crossed the Green Line.
Language changes, but the songs keep something timeless and true. I nod along, and think back to her explanation of why Gen Z have started listening again. “A new desire to know who we are, after all, and what culture we actually have.”
Disy on Saturday unveiled its campaign battle bus for the forthcoming parliamentary election, with the bus and the party’s leader Annita Demetriou setting off on a tour of the island from the party’s headquarters on Nicosia’s Pindarou Street.
Demetriou, dressed in a party-branded t-shirt printed with the words “forward, responsibly”, said that while on the bus tour, she and the party wish to “listen to society, speak with the people, and convey the message of victory everywhere”.
She added that “the stakes of the elections are particularly important”.
“Politics starts with the people and must return to the people. We have formed our positions, we have a strong team, and we are sure that people will stand by us in this great effort,” she said.
The bus’ first stop was Paralimni, with further stops in Larnaca and Paphos expected in the near future.
According to polling, Disy finds itself neck-and-neck with Akel in the battle for first place in the election, having been the largest party at every parliamentary election since 2006.
However, both parties look set to lose votes and seats compared to last time around, with new parties, such as social media influencer Fidias Panayiotou’s Direct Democracy Cyprus, and former auditor-general Odysseas Michaelides’ Alma, expected to perform well on May 24.
A total of 56 seats will be up for election later this month, of which 19 will belong to MPs from the Nicosia district, 12 to MPs from the Limassol district, 11 to MPs from the Famagusta district, six to MPs from the Larnaca district, five to MPs from the Paphos district, and three to MPs from the Kyrenia district.
The Paphos district gained an extra seat ahead of May’s election due to the growth in its voting population, with that gain coming at the Nicosia district’s expense.
The Republic of Cyprus’ constitution initially foresaw a parliament with 50 voting members, of whom 35 would be Greek Cypriots and 15 would be Turkish Cypriots, as well as non-voting observers belonging to the Armenian, Latin, and Maronite communities.
Following the breakdown of constitutional order and the outbreak of intercommunal violence in 1963, the Turkish Cypriots were unable to return to their seats in parliament, leaving just 35 voting members.
That figure was raised to 56 Greek Cypriots ahead of the 1985 parliamentary elections after the constitution was altered using the doctrine of necessity. The amendment foresees 24 Turkish Cypriots also being elected, but with the Cyprus problem remaining unsolved, this has not yet happened.
Former Turkish Cypriot leader Mehmet Ali Talat on Saturday warned Turkish Cypriot ‘prime minister’ Unal Ustel against delaying the next legislative election, saying that doing so will serve to harm Ustel’s party, the UBP, more.
He said the CTP, the party he led between 1996 and 2005, when he became Turkish Cypriot leader, and the party which is currently leading in the polls, will “be in a politically more advantageous position as the election date is delayed”.
Delaying the election date, he said, will serve to improve the CTP’s numbers, and allow the party to thus win more seats when an election is eventually held and “strengthen its expectation of forming a single-party government”.
Only twice since 1983 have Turkish Cypriot administrations comprised only one political party, between 1990 and 1994, and between 2009 and 2013, both times under the UBP, and both times following elections won by Dervish Eroglu, who on the second occasion vacated the position of ‘prime minister’ in 2010 to become Turkish Cypriot leader.
The current ruling coalition comprises three parties, the UBP, the DP, and the YDP.
However, while Talat’s natural affiliation would be to the CTP, he did warn on Saturday that the current coalition remaining in power for what he believes to be too long may have negative effects for Turkish Cypriot society.
“It is undeniable that the CTP will be in a more advantageous position as the election date is delayed, but at what cost to society? That is the problem, because costs are constantly rising, and even if the next government will benefit politically from this, ultimately, the CTP is part of this country,” he said.
He added that the CTP “wants its country and its people to live in better conditions”.
“I have never said before that I would prefer a later election to a timely one. If the election is not held on time, the UBP will suffer more damage. No one sees this government as having been successful,” he said.
The most recent Turkish Cypriot legislative election took place in January 2022, and as such, the next must take place in February next year at the latest.
However, in recent months, calls have been made by the opposition for an election to be held sooner rather than later, particularly in light of the ruling coalition’s endorsed candidate Ersin Tatar suffering a landslide defeat at the hands of then CTP leader Tufan Erhurman at last year’s Turkish Cypriot leadership election.
More recently, both the CTP and the Turkish Cypriot trade union movement renewed their calls for early elections to be held after thousands of people staged protests outside, and on one occasion, inside the Turkish Cypriot legislature against plans to cut payments of the cost-of-living allowance to public sector workers.
Incumbent CTP leader Sila Usar Incirli insisted last month that “elections will be held in June, and a new government will come to power, prepare a budget, and work to get the country out of this crisis”.
However, Ustel has remained resolute, stressing that the election will be held in January, with the decision resting in his hands for as long as he commands the support of the majority of members of the legislature.
At present, he has the effective support of 23 members of the UBP, and two apiece from the DP and the YDP, as well as one independent, with the legislature currently having 49 members.
The CTP was most recently in power between 2018 and 2019, as the largest party in a four-party coalition alongside the HP, the DP, and the TDP, under the leadership of then ‘prime minister’ Erhurman.
Since then, the UBP has spent almost seven consecutive years in power – the longest continuous stint of any party in power in the north since Dervish Eroglu spent eight and a half years as ‘prime minister’ during his first stint in the job, between 1985 and 1994.
However, this time around, their stint has taken in four ‘prime ministers’.
The first, Ersin Tatar, left the post to become Turkish Cypriot leader in 2020, the second, Ersan Saner, resigned after a video of him performing sexual acts on himself was leaked in 2021, and the third, Faiz Sucuoglu, resigned over internal party wranglings.
Incumbent Unal Ustel, however, will on May 24 become the second-longest serving ‘prime minister’ in the history of the ‘TRNC’.
Having taken over from Sucuoglu on May 12, 2022, he will overtake the CTP’s Ferdi Sabit Soyer, who served for a total of four years and nine days, and remain behind only Eroglu, who spent a mammoth 16 years and 304 days in the job across three stints.
Transport Minister Alexis Vafeades on Saturday moved to defend the government’s decision to split the project to redevelop Larnaca’s port and marina into two, saying that the two projects will be “separate but parallel” in their execution.
He said that under the initial plans, in which the redevelopment of both was considered one project, “one development would occur at the expense of the other”.
In addition, he said he has no concerns regarding the future of the project, stressing that “the state will proceed with its implementation”.
The government announced in November 2024 that the development of Larnaca’s port and marina would be split into two projects.
That decision came after the government had in May of the same year terminated its agreement with Kition Ocean Holdings, the company it had initially entrusted with a combined project which was set to cost €1.2 billion.
The contract was terminated after the government accused Kition of refusing to pay a requisite financial guarantee for the project’s operation and maintenance. The government had insisted Kition pay a total of €8m, while Kition believed the figure had been agreed at €4.2m.
In January this year, the government placed the Hellenic Republic Asset Development Fund (HRADF) in the driving seat of the port and marina development projects, with the company now set to play a key role in deciding the next steps for both sites.
HRADF currently operates a number of ports in Greece, including Alexandroupoli, Lavrio and Volos, Kavala’s commercial Philip II port, and the Corfu megayacht marina.
Vafeades’ latest comments come after he had expressed confusion last week over Larnaca mayor Andreas Vyras’ decision to stage a protest over perceived delays in progress on the two projects.
“I had already agreed with Mr Vyras [that] the matter would follow a specific implementation path and that at the end of the month, they would present the results of the study concerning land development,” he said.
However, he said, “Mr Vyras decided on a different course”, though he said that the government will nonetheless “continue to work in this direction, upon which we had agreed”.
“I believe that what we had said continues to apply,” he said, before adding that the government will “continue to produce results so that we can proceed with the implementation of the project”.
“Although Mr Vyras seems to disagree, I insist that we should not wait for all the studies to be finished to start the projects, which are not in dispute,” he said.
He then added that the ports authority has already been given the green light to begin consultations to implement the marina’s development.
“Our job is to move it forward and this is the government’s intention – to move it forward. If there has been a delay in this study, that burden is mine to bear, and I understand that. I apologise to Larnaca, but that does not mean that we have the right to delay this work any longer,” he said.
He added that in pushing on immediately with work to redevelop the marina, the government will “show the people of Larnaca that we are moving forward” and “not create delays like this which may set us back two or three months for this project”.
Vyras’ discontent is sourced from what he perceives as a lack of clarity regarding development plans related to the marina, while he also lamented what he described as gaps in a study on the matter submitted by Greece’s national investment fund, GrowthFund.
He has said that GrowthFund’s study does not adequately address the matter of land development.
In addition, he has decried perceived delays in progress on the project and what he has called a lack of coordination between state institutions.
A 38-year-old man who was injured after his motorcycle collided with a car in the Paphos district village of Kissonerga on Thursday remains in a critical condition on Saturday, the police said.
The man collided with a car being driven by a 47-year-old woman at around 10.40pm on Thursday, with the police reporting that the man was not wearing a helmet at the time.
Following the collision, the woman was tested for drugs and alcohol, and no traces of either were found in her system.
The man was initially taken to the Paphos general hospital, but was later transferred to a hospital in Limassol to undergo further treatment.
The police’s investigation into the matter is ongoing.
A fire broke out at a cafe in Paphos in the early hours of Saturday morning, the police said.
The police said they were informed of the fire at around 3.20pm after it had been noticed by people living in the area.
Local residents then managed to extinguish the fire, though not before damage could be caused to both the interior and exterior of the premises.
When police officers and firefighters arrived, they cordoned the scene off, with investigations into the matter expected to begin on Saturday.
A 46-year-old man was stabbed in the leg after watching his attacker drive into a parked car in a car park in Paralimni, the police said on Saturday.
The incident occurred at around 5.30pm on Friday, with the police saying that a 27-year-old man “crashed his vehicle into a parked car”.
The police said that the 46-year-old had “noticed the incident”, with the 27-year-old then proceeding to attack him with a knife.
Following the attack, the 46-year-old was taken to the Famagusta general hospital in Paralimni, where he received treatment and was discharged.
Police investigations into the matter led them to the 27-year-old, who was arrested shortly after 11.30pm on Friday.
He then appeared in court on Saturday and was remanded in custody for four days.
Saturday is expected to bring with it more overcast skies than the summery weather experienced over the last few days, with patchy rain possible across the island.
The mercury is nonetheless expected to rise to a high of 27 degrees Celsius inland, 22 degrees Celsius on the west coast, 24 degrees Celsius on the rest of the coasts, and 18 degrees in the mountains.
Overnight, the skies will remain largely cloudy, with rain and storms possible, particularly in the west of the island. Those storms are expected to progress eastwards as the night goes on.
Temperatures will drop to 11 degrees Celsius inland, 13 degrees Celsius on the coasts, and seven degrees Celsius in the mountains.
Localised rain and isolated storms will be the order of the days on Sunday and Monday, with strong winds expected, and snow and sleet possibly falling in the Troodos mountains.
On Tuesday, cloud cover is expected to persist, with more rain and storms possible in the mountains.
Temperatures will drop significantly on Sunday before remaining stable through Monday and Tuesday.
“April showers bring May flowers, and aren’t we all very blessed this year?” says Episkopi Paphos Environmental Centre ahead of its new spring activities. “The end of April and beginning of May is official ‘peak bloom season’ in Cyprus, and everywhere you look in the Ezousa valley, you are sure to see flowers!”
Several opportunities to explore nature, learn more about the environment and the wonders of the natural world are coming up at the centre. On May 17, the Geotourism in Cyprus: Travel Differently, Experience More presentation will offer a fascinating take on the magic and history of Cyprus.
Environmental Geologist and Science Communicator Konstantia Achilleos will take participants on a journey through the island’s most captivating landscapes, stories and cultural layers. “You’ll see how geology shapes everything,” explains the centre, “from dramatic mountain peaks to hidden waterfalls and ancient settlements, hear the human stories woven into these landscapes – from myth and memory to living tradition – and learn how geotourism transforms ordinary travel into meaningful, place‑based experiences.
“The presentation reveals how Cyprus’ natural heritage, local communities, and authentic encounters come together to create travel that is deeper, more sustainable, and far more rewarding than the typical tourist path.”
Held in Greek and English, the 11am presentation welcomes all and costs €6 per person. Registrations can be made at www.epeicentre.com/contact or by calling 26 642234.
At the end of the month, on May 31, silk-crafter Simoni Christoforou will host the workshop Silk Culture in Cyprus, Past & Present, sharing her passion for the silk worm (Bombyx mori) and the amazing properties of silk.
Aiming to revive the nearly forgotten art that is deeply rooted in Cyprus’ cultural heritage, Simoni invites participants to learn how the species is cared for and how silk is harvested. Following a presentation, participants will then get hands-on guidance on how to make silk flowers that can then be sewn onto clothing, hats and bags.
Also happening at the Centre is a Friday QiGong and TaiChi Class class at 3pm. Led by Mei Yeung, the class runs for 90 minutes with breaks and requires no pre-registration. While there, visitors can check out the shop and its medicinal and skincare ointments, balms and soaps as well as drop off any rinsed aluminum and steel cans at the Cans-for-Kids collection bank at the carpark.
Geotourism in Cyprus: Travel Differently, Experience More
Presentation by Environmental Geologist and Science Communicator, Konstantia Achilleos. May 17. Episkopi Paphos Environmental Centre, Paphos. 11am. In Greek and English. €6. www.epeicentre.com/contact . Tel: 26-642234
Silk Culture in Cyprus, Past & Present
Silk art presentation and workshop by silk crafter Simoni Christoforou. May 31. Episkopi Paphos Environmental Centre, Paphos. 10.30am-12.30pm. In Greek and English. €6. www.epeicentre.com/contact . Tel: 26-642234
Any type of beginner friendly software that allows me to 3D model (or import one) a plane to be used for a simple choose your own adventure game, guiding a player through the setting and periodically prompting them to make a choice. The idea I have in mind would keep the character on the same path regardless, the choices just move them forward or change something slightly then redirect them. The graphics don’t have to be high quality at all, just trying to get general things across like water and trees. With the limited knowledge I have, my understanding is that I can use something like Blender to build the setting, code CYOA pathways with an interface like Twine to overlay it on photo/video taken from the 3D model. But since the idea I have follows a single path through a defined area, I was hoping there’s something out there that would let the gameplay move continuously through the world, but doesn’t involve a lot of complicated coding/software. I took a class in high school that had us design an app by dragging blocks around, something easy to use like that lol or like the way Cargo directs building a website; I’m not technologically inept but I don’t know any coding language. I have a very specific goal in mind for this project and would feel more free creatively if I were guided through the process a bit, it’s just hard to put into words what I’m trying to do (because again idk the language). I’m an artist and this “game” is more of an art project which uses that medium. Any input would be appreciated, hopefully I was able to get across what I’m asking for.
This group is CRAZY cool with inspiration and hard workers... wondering if anyone has any secrets to keep them motivation during the sluggish part of game creation? The tedious tasks... I tend to replay my own work so far that's makes me realise what I'm doing WILL be worth it!
Hello everyone!
I’m one of the Devs of Dice of Kalma and I wanted to share how I managed to gather 2000 streamer emails by myself. First of all, I’m sorry but I can’t share those emails here for legal reasons. Don’t want to take any risks at this point. My point of this post is that after grinding really hard with this task I found multiple ways that we’re much quicker & efficient than the ways that we use gather influencer emails in the beginning. Hopefully these Tips and Tricks help you as well!
Background (if you don’t like storytimes you can skip this part ): During our 2-year game dev journey I have noticed multiple reddit posts how other devs got their games covered by influencers. BenBonk made an awesome video how he contacted 200 influencers (A BIG recommendation for this video: https://youtu.be/ebWYi7ko_u0?t=37 ) and since we really didn’t have much on our marketing budget, this seemed a really good way to gain some traction.
After first 200 emails I can say that it wasn’t a great success, but it clearly did something. I soon realized that it’s also a numbers game – The more influencers I contact, the better the odds are that someone will cover our game. We also tried writing very customized emails to about 30-50 influencers who we though were ultimately the best match for us. This took a lot of time, and we didn’t receive any replies nor none of these streamers covered our game in anyway. So, I kept grinding and here are the best two strategies so far:
Strategy 1:
Ultimately my best tools were SullyGnome (https://sullygnome.com/) and Twitch. Here is the quickest and the most efficiest way:
You use search tool on SullyGnome to find all channels that streamed games that are a good match with out game. This because if you offer Tekken for a Horse Simulator Streamers, they’re most probably not gonna cover it.
You’ll get a big list of streamers, so now you copy streamers name and paste it to Twitch. The trick here is to use the mobile version and just replace the ‘STREAMER* part with streamers name so https://m.twitch.tv/*STREAMER*. This because mobile version is much lighter and has no ads that pop up straight away on your face. It also shows you the “user bio” right away. This the first place where streamers often put their emails.
If this bio doesn’t have an email address, the next step is to click users About section. It’s very common that streamers have their email here. For me about 90% of the time I was able to find the email just from the bio or from this about section.
The last option is YouTube. Some streamers have added their emails on YouTube description which is still very quick to find. If not, there is a chance that you can view their email address, but you need to do a bot verification – which is slow and after about 10-20 attempts your daily limit is full. I would recommend going this far only if the streamer is one of your the top priorities – otherwise, like I said it’s a numbers game so go back to your list and try your luck with another streamer.
Obviously you want to copy paste Streamers name & email to a some sort of spreatsheet. SullyGnome also give you a csv. version of your search which might make things quicker. I personally just made a sheet with name, email, language (if not English)
(Optional): I would highly recommend that if your game is localized, ask your translators to translate your email as well. In SullyGnome you can search streamers based on their language. We got much better results when approaching streamers in their native language, so big recommendation for this!
Strategy 1 TLDR
1. Use Search Tool on SullyGnome to find Streamers that have played similar games than yours
2. Copy paste streamers account name on https://m.twitch.tv/*STREAMER NAME* (Mobile version)
3. Check Bio under the username -> check “About” section -> Check links X & Insta -> Check Youtube Description
4. Copy paste to a spreadsheet
Strategy 2.
1. Find a streamer on X/Twitter that has streamed similar games than your game
2. There’s a “You might like” box on the right side of the feed. Click: Show More
Strategy 2 TLDR
1. Find a streamer from X
2. Open “Similar to” list
3. Copy paste the accounts and emails
4. Click another account and open “Similar to” list again
Additional Tips:
Remember that you don't need to get 2000 emails in one day. Just simply 50-100 every now and then can help you a lot. For example I often sat on my couch watching tv-shows and at the same time I had my laptop on my lap and I was just copying emails. It didn't feel that bad when I was able to do something at the same time.
What after this:
Now it’s time to write the emails and send the activation keys. That’s a whole new world and it probably needs a separate post as well. I’ll just drop couple of tips that have helped us a lot:
First of all watch BenBonks video:
https://youtu.be/ebWYi7ko_u0?t=37
These things helped us:
1. Personalize your emails a bit. Just adding a streamers name have made a huge difference for us. I’ve used Gmail Merge plugin to send bulk emails with customizations.
2. Translate your emails: Use the streamers native language if possible
3. Have a link to your game easily accessible – It’s been better if the receiver doesn’t need to scroll down to find a link to your
If you made it this far, thank you for reading and hopefully you found something that helps you on your game dev journey! Would be also great to hear more tips & tricks regarding to this topic, so if you have something, just drop a comment or DM me :)
Cheers!
I'm currently making a game where I need to have a list of words or multi-words for players to guess, but the problem is, most lists are only single words, but I also want things like "ice cream shop" or "air conditioner" etc and im not sure where to find them. The only thing i found was a skribblio list but i already got a few of them and I'm searching for an other list. Does anyone know of one?
I already know that's it's impossible (almost every industry is facing the same problem) to find a job in the industry right now. I plan to continue working my day job and working on my own projects. So, I'll look for jobs and internships at smaller studios as a recent graduate in the meantime.
I've been working on my game as a passion project doing post launch content updates for about a year and a half now. Since it's just something I do for fun in my free time, I tend to try and have fun while writing the patch notes, too (example here.)
These are generally received positively, but most of the games I play tend to take a more serious approach, so I'm wondering what others do for this? Do you write them seriously or not? Why?
Like do you make games for a living if not then what? Do you get paid for gamedev or is it more of a hobby?
Im wondering if i should learn to make games for a living someday, or if i should look into other types of jobs?
| Hey fam, I've been producing Orchestral music as a hobby for a while, and I wanted to share it with you. I respect y'all so much for coding games from scratch, so If you ever need free soundtrack for your project, I'll even take your command and try to create the right song for you. Most of my tracks are fantasy based, but I'll adapt ! I just want to build a little experience around game devs. Feel free to ask, Happy coding ! [link] [comments] |
I want to open up my skit channel to more gameplay (as it was pretty requested and possible) and allow games to be suggested. Though I'm wondering about the thought of being approached by a small Youtuber of like 2500 subs. Is it too sketchy to ask for a demo of projects that catch my eye or should I just put an open invitation somewhere on my channel or anywhere really?
Hello there !
I'm a bit curious, I published my Steam Page (game is not released yet) 3 months ago and I wanted to compare its Click-through Rate to other indie game pages !
My goal is not to market my game, I genuinely want to know how the numbers compare to others and discuss around this subject.
I'll start first. Here are my numbers, for the entire life of the page :
=> Steam calculated a 47.5% Click-through Rate (which I find surprisingly high ? Given the fact that it is still a very early version. )
| “We thought about people from the standpoint that we never wanted to go through layoffs or mass eliminations of people,” Fils-Aimé told the audience. “It just wasn’t in our DNA.” [link] [comments] |
I just wanted to post about my gamedev journey. It's the end of the working day for me and I am still thinking about it even though I'm not going to do anymore work today.
I started when I was a kid, but went on and off with it as I matured and garnered new responsibilities. I knew I wanted to make indie games, but honestly from the very beginning I never wanted to work for a big studio(maybe i'd start my own). Even now, if I was going to work for an organization, somewhat ironically I would try to break into the graphics industry. The reason is simply because when I make a game I want it to be the game I want to play and I honestly don't care if anyone else wants to play. If other people find it fun awesome, but I digress.
With a little context out of the way, I didn't know where or how to start for a long time. I was just consuming content relevant without any real direction or even the intent to practice what I learned. In my mind, I was lost anyways, so I might as well try to build a map. And so build a map I did. Slowly, but surely I was peicing things together. Much of what assisted my pre-programming understanding was learning about other subjects. The discipline is (un)surprisingly wide and deep, so as I learned things in other subjects more of it made sense. I kept doing that with minimal keyboard action for years.
Eventually, around 14 years after my gamedev journey began I've started to hit my stride. I watched an intro to game dev college class on youtube and before that a 400 computer graphics class. Between those two courses and my prior learning something clicked. It was during the game dev course that C++ clicked for me. All the questions and gaps were reluctantly filled during that course. While I'm not about to compete with RSI or the likes, I feel like I have a fundamental understanding of what is going on and how to go about working on problems and functionality. I did just wake up one day with an understanding, but it wasn't fast or cheap. Most of the learning resources I've watched or read many times over.
So, its at this point I decide to dive in and start really creating. I wanted to build a game engine and quite frankly as many little pieces as I could stomach from the ground up. This kind of brings us to present day. Like I said I feel like I've hit my stride and I've broken out of tutorial hell. I still google like a mad man, and use AI to read my compiler errors when I can't understand what's going on. Most of the time the robot isn't familiar enough with my code base and so its recommended fixes are wildly inaccurate. However, at least so far it has been very helpful in discerning the problem and from there I have been able to fix every issue I've run into so far. I also sometimes ask it for help with syntax. I promise I'm not vibe coding.
Right now my game engine is using OpenGL, ImGui, glad, glfw, and glm(I'm not even really going to use glm, I want to make my own math library and I have started, but it's just in there to keep things moving along). Everything else is from scratch. I'm going to transition to vulkan, but honestly it's going to be far in the future. GL gets a bad wrap, but if you're just using it as a rasterizer its not going to be your bottleneck. So until I decide to do fancier graphics GL it is. Besides, this iteration at least, I am dubbing the LiteEngine. I'm gonna release the code when its a little more capable/worth showing off and I'll post that in the applicable subreddit.
It's currently built under a data-oriented ECS paradigm. I'm trying to build each piece to be as performant as possible. So my current pattern has been make it work in main and then abstract/refactor things until there's just a few function calls. This has been ideal, albeit a little cluttered at times.
With LiteEngine I am currently recreating falling sand. (on my 6 y/o laptop:) )Based on my early calculations I should be able to have a 1920x1080 screen filled with entities at least with 60 fps. I know its going to slow down as I add more components and systems, but right now I have the very basics of what it means to be a falling sand game and we're hitting ~10k fps. I am going to cap it, but I'll end up adding that to the config file or something so it can vary. Really, technically I only need to add UI and some collisions to call it a full blown rip off XD. In reality the grains are actually alot bigger than one pixel, so It shouldn't reach the millions of entities.
I guess I'm just excited and I want to share my progress with people who will care at least a little. I don't know if I could have gotten to this point any faster honestly. I learn in such a weird way. I know this is atypical, but for me having an understanding of what I was coding was way more important than the actual coding experience. I knew that once I knew what I was doing things would go fast. Coding is at the end of the day just another language.
Today I feel qualified enough to call myself a proper programmer. I don't know everything and I probably never will. This post is getting pretty unweildy and I'm writing this into the next day now so my focus is a little split and I actually want to post this.
I'm going to end this post by saying there's a thousand ways to skin a cat(F*cked I know). My way is not the best way, but I got here. If you're interested in game dev or just development in general there's nothing inherently wrong with doing things slowly and differently. Further, based on my experience you can actaully learn to code without really coding. I'm gonna get flammed for saying that, but like it's true, funny enough. You do be having to learn though, you can't just imagine everything and one day wake up knowing. I tend to think through problems in my head and when I get stuck I take even more time thinking about what I'm stuck on and what would help me understand it. The last thing I really need to point out is that even though I didn't really code much until the last 6 months or so I was working on other skills like IT, maths, and science. So, when I did mix coding in it was more like learning another language than actually learning computer science(because I mostly did that prior).
TL;DR: I just wake up and understand what I learned, sometimes months later. I'm weird, bottom up learner. Don't try and copy me, but if traditional methods aren't working for you maybe try learning fundamentals then practice those. If you practice you'll probably cut my time in half or better. Don't get discouraged, there is a metric ton of things to learn, but slow and steady progress can and will get you to your goals.
Hey everyone, and apologies in advance if this post isn't quite right for this sub, feel free to let me know and I'll remove it.
I've been working on a project called Playglot, a free, open platform that lets game studios localize their games with the help of their own player community.
The idea is simple: instead of paying a translation agency or doing it alone, you invite your players to contribute translations directly. They know your game, your lore, your humor, and they're often way better at it than a generic translator who's never played it.
Here's what it does:
For game developers:
For translators:
AI-assisted, human-validated: Managers can bulk-translate an entire file with AI in one click. The community then reviews, improves, and approves. Best of both worlds.
Access control: Projects can be public (anyone can join), locked (invite code or link required), hidden (secret link only), or private.
Completely free: Free for developers, free for translators. No subscription, no credits, no catch. Running costs are covered out of pocket, there's a donation button if you find it useful, but no pressure at all.
The platform is pretty early but fully functional. I'd love to hear from:
Thanks for reading, and again, sorry if this isn't the right place for this. Happy to answer any questions!
Playglot is also a spiritual successor to Localizor, a community localization platform that sadly shut down a few months ago. If you used it back in the day, this should feel familiar, and hopefully better.
I've been searching around the web for a place to find someone to help with blender models/rigs to UE5, but I'm coming up empty. Where do you guys go to find people to help? Here on gamedev is the last place I can think to look
(Long version: Paid a guy to make and rig a character for unreal, guy said he made game ready assets, so he made the model, but in reality he had no experience moving anything to unreal, so naturally the mesh is totally broken on import. I've been looking for someone to look at the blender file for weeks since I've never even used blender. I've tried offering money for people just to look at it and no dice. So now I'm just asking around the internet thinking someone might've had the same issue and to find out where they sought help lmfao)
Sometimes when I try new game it is in English, sometimes in German, since I am in Germany.
It probably makes sense to go with system language, right?
Is it worth putting time into an HTML5 version of games I work on, and posting them to HTML5 game sites? It's been a while since I was playing HTML5 games, what are the good sites to upload games on nowadays?
How do we monetize HTML5 games? Do most websites offer a rev share from ad revenue? Pay per click? Do I need to set up my own ads in game?
Just trying to figure out how I can maximize reach and potential revenue on projects I am working on.
Programmer, Designer, Artist, Musician, Composer, Writer, SFX, etc.
Please brag on yourself and post a link if you're willing.
As for myself, I'm a career software engineer. I got A's in 4 subjects: Math, Computer Science, Art and Sports. Turns out that's a decent combo for solo game dev - for everything except design - that was my blind spot. The act of designing a game is the hardest thing I've ever attempted. So, I've got a lot of respect for designers - it's a divine gift.
I had to teach myself and that took time which is why it took so long to get my game ready to share with the public.
Hello,
Since January, I am making my own horror game. I have progressed. I really like where I am now. You can find a sample of what I did two months ago. Right now it is even better.
The thing is, that I am a bit unmotivated by this horror game... I haven't touched a lot since one month (also had a lot of things more important in my life that did not make it easier since their was some priorities... yeah adulting is hard.. lol)
I was wondering if working on a second game either in parallel or as break for a month would be a good idea ? Have some of you worked on two different projects at the same time ? Or did a break by making a small project of one month ?
If so, I would appreciate some advice, tips, and stories please. I wanted to release it for next halloween, but I am ok to work on it one more year to polish it since I think it has potential
So rogue-lites have exploded over the past few years. The core loop of “randomized runs + meta progression” has proven incredibly popular and flexible, it’s a formula that can be applied to virtually any genre.
I’m wondering if something similar could/should happen with extraction games. There the core loop could be boiled down to “start with nothing, end a run with more stuff that can make you more powerful, decide how much of that stuff to take into the next run, where you could lose it all”.
I personally find this loop very satisfying (been playing a lot of Marathon lately). It certainly has its overlaps with rogue lites but I love that the potential to lose things permanently gives real stakes to any particular run.
I’m trying to think about what it would look to apply this to say a deck builder game, or an ARPG, or anything really. I personally think there’s a ton of potential here.
Curious what others think though. Am I on to something here? Has this already happened and I’m just not aware of it?
I’ve been a lifelong gamedev. Every skill I learnt growing up was to better my ability to make games. I learnt to draw, to code, to do sound effects, to make models, to animate, to create music. It brought me a lot of fulfilment when I pulled it all together and I was good at it. It became my identity, my friends.Good enough to be insanely proud of myself. I put in countless hours across multiple areas my whole life.
Ive see the full ai Twitter bros push out web games that look decent, good enough that I’m seriously questioning why I even bothered doing this in the first place. I could’ve just slacked and then picked up when AI released. I think the main thing that triggers me is how the posts are framed. They will often brag about how easy it was, or how behind and backwards ‘traditional devs are’. They can even sleep whilst an ai is writing the game.
I know it’s a ‘cope’ situation but I primarily wanted to get advice from game dev’s in a similar position. Is it time to leave my identity behind? It’s the only thing I’ve ever truly been good at, and it feels like I gotta get good at something else or I’ll be left behind.
I took pride in being able to do something that required a lot of work that others couldn’t do - call that ego or vanity but I’d like to think that’s what gets some other people going as well.
I don’t think there’s any point in trying to make games when an ai can just generate thousands of them until it gets the perfect one.
Did he get ruined by the one piece lawyers or is the game still up and running?
I am currently finishing up my game and I finally made a steam page for it, but man, it just feels like im at the mercy of algorithms now. Getting low traction feels demotivating, not because I hoped it would blow up but it seems like there is no target audience or simply the lack of interest just feels painful 🥲. My question to more seasoned developers, as this is my first game, how can I overcome this mental pushback? Perhaps you could share your feelings with me once you finally have the game out? I dont expect people to like my game nor do I feel entitled to people’s time and attention. Not sure. its just brutal how competitive the industry is. Sorry for the rant.
From childhood I dreamt of text based game for managing a farm or an army which is more realistic like every details possible, for example bullet count of a soldier, their weapons, mood and other traits based on battle environments, food consumption, or which feed is fed to chicken for laying probability and egg price etc. But in todays world with all these graphics intensive games, will people like such (almost realistic text based) management games? Or people only like novels for text based games?
Specifically, if I have a std::str::Chars iterator, how can I get a string slice using a method like .collect().
eg.
let chars = "12345 lalala".chars(); // something like this let number_part: &str = chars.take_while(|&c| c.is_whitespace()).collect(); Or is this something you would need custom iterator functionality for?
I'm posting this project in this subreddit, to share what I think is some elegant architecture I built and get some feedback (and hopefully some appreciation). I built this for my own servers and I don't intend to get users, and I don't have friends that can provide constructive feedback or share my joy of completing the project.
Basically, I'm a bit paranoid on security, so 4 years ago I built a Python Telegram bot running on my few servers looking at ssh sessions - which was very slow and clanky, because a full bot instance runs on each server - and so I decided to rebuild the thing in Rust, to have one central bot instance - after studying principles of programming language and procrastinating learning Rust for forever (and yes, this is my first proper Rust project).
I started the project with some basic monitoring features and communication between central server and monitored servers. Then I added a cli client on central server to fetch data from daemon, and send commands to monitored servers (with central server's daemon being a relay). Finally I added Telegram, Discord and HTTP integration that work in a similar fashion as the cli client (with the Telegram one being the goal of the project).
It took me about a month (exam month haha) to build this and the journey dealing with low-level stuff like serialization, tcp and unix socket, properly using mutex and channels, and eventually building the integrations in a trivial way (thanks to the good core architecture) was pretty fun. And of course I got a high performance and low overhead Telegram bot running, which achieved the goal of the project.
Repo link: https://git.charlws.com/charles/secmon
Btw, I hate to have to say this, but I used zero LLM agent to write this thing (because I personally hate the hype a lot), though I did use some LLM help dealing with some libraries and stuff.
I have been thinking about learning Rust for some time now and I was wondering where could I learn the language? I come from C and thought that Rust would be a good language to improve the security of my projects using different languages to do different tasks. Perhaps maybe someone has any website I could use? I have found a website called "The Rust Programming Language Book", wondered if anything was better/easier to learn me the basics from a C background.
Any advice is welcome, so thanks in advance.
I want to do low level stuff like kernel, graphic engines, OS, critical systems etc, what pathway should i take, like what projects and guides to do.
I study programming in a latín america uni, Is this a good idea or is better to focus on something on demand like backend
https://orneryd.github.io/uiGrid/#/rust Egui native
MIT licensed, all features all free.
brought into feature parity with the web versions.
added column pinning, i18n, a11y support, save-load state, custom serialization for save/load state (default json but can be custom) and export (default is csv but can be overridden)
I hope you guys enjoy!
-OrneryD
edit: clarity
edit 2: oh also forgot drag and drop column reordering also works with themable indicators.
I built a reverse proxy in Rust focused on passive fingerprinting, looking for feedback before the RC.
Spent the last several months on this. The idea was simple: a proxy that extracts TLS (JA4), HTTP/2 (Akamai), and TCP SYN (p0f) fingerprints and forwards them as headers to backend services, so you can do bot detection and client analysis without touching your app code.
One thing I was strict about: only open source fingerprint signals, no proprietary specs or extra agreements required.
The stack is Tokio + Hyper + Rustls, and TCP SYN fingerprinting runs via an XDP eBPF program using Aya. HTTP/3 is on the roadmap but not there yet.
Beyond fingerprinting it covers the basics you'd need in production: TLS termination, mTLS, rate limiting, health checks, connection pooling, hot config reload, Prometheus metrics. I tried to keep it focused though, it's not trying to compete with Nginx or HAProxy on general routing features.
Benchmarks look promising and I'm planning to cut the first release candidate in the next few days.
Project: https://github.com/biandratti/huginn-proxy
Docs: https://biandratti.github.io/huginn-proxy/docs/
Is this project the only solution? There is a similar solution in Go, but it's not as comprehensive. Furthermore, I plan to integrate the new stable TLS signature soon from huginn-net (which will differentiate this project from the competition).
If you work on network tooling, security, or reverse proxies in Rust and want to poke at it, I'd love the feedback. Issues, PRs, or just a star if the idea resonates.
Thanks in advance!
Hey everyone,
I've just released sse-rs, a collection of crates (currently two) for parsing and consuming Server-Sent Events. I tried to create a library providing a robust, strictly WHATWG-compliant implementation with a nice ergonomic API.
The project is split into two crates:
sse-core: A no_std compatible, zero-I/O state machine. It strictly consumes byte buffers and yields parsed events.sse-reqwest-client: A high-level EventSource JS-like implementation for reqwest. You just take a standard RequestBuilder and call .into_event_source().Compared to the existing eventsource-stream crate, sse-core turned out to be significantly faster. I hand wrote a state machine (using bytes::Buf) and avoided eager string allocations or line buffering where possible, and it paid off. In my micro-benchmarks, it processes events at least 3x faster, with the gap widening significantly under heavy network fragmentation (I suspect eventsource-stream has an O(n²) time complexity of chunks per line).
The goal is to make the basic usage as familiar as possible, heavily inspired by the JS API.
use sse_reqwest_client::{RequestBuilderExt, SseEvent}; use futures_util::StreamExt; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let client = reqwest::Client::new(); // Turn any reqwest builder into an auto-reconnecting stream let mut stream = client.get("https://example.com/api/events") .into_event_source(); while let Some(event) = stream.next().await { match event? { Open => println!("Connected!"), SseEvent::Message(msg) => println!("Got data: {}", msg.data), SseEvent::Error(err) => eprintln!("Stream interrupted: {err}"), } } Ok(()) } I hope you'll find it useful and I'd love to hear any feedback, bug reports, or critiques on the API design if you happen to try it out!
Hi everyone! I’ve been working on this project for a while now. It started as a hobby, but little by little I’ve been putting more serious time into it.
Sword is a server-side application framework for Rust. Right now it supports:
It also includes an automatic dependency injection system, inspired by frameworks like Spring or NestJS.
There’s still a lot of work to do, but I’d love to take this project further. If you’re interested, I’m open to feedback, suggestions, and of course, a ⭐ on the repo :)
https://github.com/sword-web/sword
Also got some docs here: https://sword-web.github.io/ — they might not be 100% accurate since English isn’t my first language
Are there any frameworks around that are favoured at the moment for rapid prototyping of cryptographic protocols and distributed algorithms?
The trouble that I have is that I often want to whack together a bunch of subprotocols into a larger protocol, and this tends to mean manual work dealing with the various state machines and node identities that it _feels like_ the async machinery should be able to deal with.
The hope would be to be able to write functions like
```rust
async fn do_something_protocol(context: &SomeType) -> bool {
let req: RequestMsg = context.recv().await;
let result = consensus_protocol(context, req.some_field). await;
if let Ok(certification) = result {
run_some_mpc_protocol(context, certification).await.is_ok()
} else {
false
}
}
```
that instantiate subprotocols as futures and wrap the messages in such a way that messages can get wrapped into a wire format to run over the network (edit: without conflicting with each other), or just get passed around for the sake of testing.
I haven't seen anything like this in my searching, but I've done some faffing around with Claude Code to convince myself that such a thing is indeed possible to implement, at least with some macro magic, and would like to get a second opinion before I actually commit to trying to build a real one by hand.
I built WasmGPU, which is a WebGPU × WebAssembly rendering and computing engine for scientific workloads in the browser.
The WebAssembly section of the "double-brain" architecture is implemented in Rust and it handles the engine's hot paths: data-oriented transform storage and propagation, animation and glTF asset processing, bounds computation and frustum culling, ndarray indexing and zero-copy data staging for JavaScript interoperability, and low-allocation runtime infrastructure tuned with Binaryen and SIMD128.
I attached an image of the galaxy example. On my RTX 4060, it runs with 250,000 points runs at around 450fps, and a quick stress test at 8,388,608 points (hitting the 128 MiB storage buffer binding size limit) runs at around 45fps.
Repo: https://www.github.com/Zushah/WasmGPU
Website: https://zushah.github.io/WasmGPU
Example: https://zushah.github.io/WasmGPU/examples/galaxy.html
I'd love to hear any thoughts or feedback.
Hi,
I’ve been working on a Rust plotting library called Charton. I wanted to bring a true "Grammar of Graphics" experience to Rust, similar to what Altair does for Python or ggplot2 for R.
I’ve always felt that many Rust plotting tools are either too low-level—where you have to write dozens of lines just for a simple chart—or they’re just too rigid. To fix this, I built Charton with a custom Dataset engine that feels a lot like Polars. You can feed it native arrays, vectors, or Polars DataFrames directly, and it handles the data very efficiently.
The API is minimal by design. In most cases, you can get a plot done in a single line. It uses a layered approach, so you can stack different marks to build complex visualizations. Right now, it supports 9 core types: points, bars, lines, area, rect, boxplots, rules, ticks, and text.
Here’s a quick look at how you’d use it:
```rust let height = vec![160.0, 170.0, 180.0]; let weight = vec![60.0, 75.0, 85.0];
chart!(height, weight)? .mark_point()? .encode((alt::x("height"), alt::y("weight")))? .save("out.svg")?; ```
And for layered chart:
```rust // Create individual layers let line = chart!(height, weight)?.mark_line()?.encode((alt::x("height"), alt::y("weight")))?; let point = chart!(height, weight)?.mark_point()?.encode((alt::x("height"), alt::y("weight")))?;
// Combine into a composite chart line.and(point).save("layered.svg")?; ```
Next on my list is adding a WGPU backend for hardware acceleration and integrating with Nushell for terminal-based plotting.
However, I’m curious to hear from the community: What are you looking for in a Rust plotting library? In what direction should Charton evolve to best fit the current trends in the Rust ecosystem?
My music app project rusic has been renamed to Kopuz and now its really feature rich like there is multiple languages, yt-dlp downloader, more playlist features, subsonic and custom server support too! Also now there is a theme editor which allows users to create custom themes!!!
I started working on this little project on 9th March this year. It's been an incredible journey!
It started with a question of "how hard could it be?" and just yesterday I finally hit the ultimate milestone: IT RUNS DOOM!
Details:
link to YouTube video: https://youtu.be/xVSqd90Xpos?si=mXFQHOzxMLhDzwFY
building an OS in Rust feels like having a superpower, cargo is so awesome! and the amount of "stupid" bugs the compiler caught before i even hit the metal is probably the only reason i haven't lost all of my hair yet :p
i even wrote a little async runtime in MagicalOS and the way rust handles concurrency is honestly mind-blowing for me
I already loved rust, but this project made me love rust even more!
I would love to hear your thoughts or answers any questions!
I built pipe (Pipe Indexes Packages Efficiently), a lightweight CLI tool written in Rust to help search for Python packages without leaving the terminal.
Since pip search has been permanently disabled on PyPI due to load issues, I wanted something fast that could provide more context than just a name and summary.
Key Features:
* Fast Local Search: Searches an embedded dataset of the top 15,000 packages for near-instant results.
* Metadata & Stats: Displays monthly download counts and package summaries directly in the output.
* Smart Filtering: Cleans up results by hiding derivative packages (like sub-plugins) by default.
* Full Index Search: Can fall back to a full scan of the PyPI Simple Index when needed.
* Colorized Output: Features high-contrast ANSI coloring for readability and respects the NO_COLOR standard.
Why use this?
It’s much faster than opening a browser to search PyPI, and it doesn't break your terminal workflow. To boot, it gives you a quick look at package popularity.
GitHub: https://github.com/ibrahimovmurad/pipe
I hope you like it, and I’d love to hear your feedback or any features you think would make your workflow faster!
Sample Output:
package github.com/ikemen-engine/Ikemen-GO/src imports github.com/go-gl/gl/v2.1/gl: constraints exclude all Go files in C:\Users\User\go\pkg\mod\github.com\go-gl\gl@v0.0.0-20231021071112-07e5d0ea2e71\v2.1\gl package github.com/ikemen-engine/Ikemen-GO/src imports github.com/go-gl/gl/v3.2-core/gl: constraints exclude all Go files in C:\Users\User\go\pkg\mod\github.com\go-gl\gl@v0.0.0-20231021071112-07e5d0ea2e71\v3.2-core\gl Press any key to continue I'm trying to compile an Ikemen GO project. I modified some code to test things, but something strange happened.
Now it's asking for versions v2.1 and v3.3, which didn't happen before. I also just updated to Go 1.26 (the latest available version).
Before, it compiled without needing to download another version of Ikemen GO from GitHub or make any additional changes. Until now, everything worked normally.
The strange thing is that I even tried the original version, without modifying anything, and the same thing happens: it still asks for v2.1 and v3.3.
And the odd thing is that I do have them in folders, even copying the path to each one.
Furthermore, those versions are added to the Windows 10 environment variables.
Can anyone help me solve this problem?
Let's share our favorite podcasts or Youtube shows (as long as they can be listened to without watching).
They don't have to be strictly about Go, it can be anything related to our work is (backend development, distributed systems, cloud-native topics, and so on).
Hey everyone,
As the title suggests, I’m looking for solid documentation or guides for Bubble Tea v2.
So far, the official repo only seems to have the "make a todo list" guide and some pre-made CLI examples. I tried using LLMs for help, but they seem stuck on v1 logic. I’ve noticed major changes in Init() and View() (like the new tea.View struct), but I’m struggling to piece it all together on my own.
I did find the pkg.go.dev docs, but since it's just a technical API reference of types and functions, it’s hard to use as a learning path without a step-by-step guide. YouTube has some content, but most videos just show someone building an app without explaining the "why" behind the v2 changes.
Does anyone have good resources, blog posts, or a recommended method for mastering Bubble Tea and Bubbles v2? I’d really appreciate any help. Thanks!
For those that haven't seen, co-maintainer Marcin has been very busy at work recently with preparing the v2.7.0 release.
As we're an incredibly small team for the amount of usage, and ~7 years of bugs and features have piled up, it helped significantly for Marcin to put the robots to work, and get some support from Large Language Models (LLMs) to help with triaging, reproducing and closing off bugs and outdated requests, as well as fixing a lot of still very valid issues!
I know this made some folks wonder but this closing of ~200 issues has been driven by a human!
Not to bury the lede here, but due to upstream work in kin-openapi, the OpenAPI library that a large percentage of the Go ecosystem uses, we now have an early version of OpenAPI 3.1 support in oapi-codegen, which you can see details about here
This is thanks to great work upstream by Pierre Fenoll and Reuven Harrison, as well as many other contributors over the years who've worked to get OpenAPI 3.1 support available.
As much as we would personally like sponsorship with oapi-codegen, sponsoring Pierre's work as a solo maintainer would be even more impactful and appreciated!
This will be released in oapi-codegen v2.8.0 (date TBC).
| Hey everyone. About 6 months ago, I wrote this CLI tool that helped me a lot with my daily job. So far, it has organically gathered 90 stars, so I thought it might be a useful tool to share with the Go community on Reddit. The purpose of sharing is just to share tbh, I'm not asking for a review or whatsoever. I genuinely think it might help some people, lol. [link] [comments] |