Hey again! Last weekend, we held our first ever online test over on our Discord Server. We had a ton of fun and found an enormous amount of bugs, which poor Jeff cried about and then fixed, like the champion he is.
Thank you to all of our Testers who participated! You guys are awesome and gave us some great moments.
As for art, Mark has been hard at work on getting things up to snuff. Our Sun Tower has been looking a little drab recently, so we decided to upgrade.
Designed from the ground up and inspired by the Pyramids of Giza, the new Sun Tower is actually the first time a pyramid has been present in Sons of Ra! What took us so long? I have no idea, but check out the sketches below, and our most recent animation tests!
Sekhmet is coming along nicely, and her God Head is nearly complete. Just needs some colors!
Sekhmet has a head now! Her keep is gonna look super cool.
The Sun Tower is no longer 2 vague rectangles
Enter the pyramid! Taste the sun!
Packet clustering for improved performance
Numerous bugfixes, including proper currency syncing between players
That means no more infinite priests, you silly sausages
Game Timer fixed between players
New lobby & Server Browser!
No more default Unity skybox!
Main Menu updates: Now with fewer clicks™
Neutral nodes functioning properly
Player turn order fixed
Final Victory theme
Conquest Special Event theme
New map theme?? (TBA)
We’re going to be taking a short break for the holidays, but you’ll hear from us again in the new year!
2021 brings with it the release of Sons of Ra, and we couldn’t be more excited to bring you the project that we started so many years ago. Thanks for sticking with us through 2020, and I’ll talk to you all again in January.
We’re back again! By the way, you guys can expect these every two weeks or so, each one (hopefully) full of new content!
It may not look like much, but you can invite people through Steam and play the game with them, completely over the internet!
We still have a lot to test, and that’s where you come in! Head on over to OUR DISCORD and click on #announcements. Follow the instructions and react to the most recent post and we’ll send you a private key!
This is a little bit less organized than how we normally do things, and that’s because things are gonna be a lot more broken than usual. THE TEST WILL ONLY LAST FOR 4 HOURS: 1:00pm – 4:00pm PDT on Saturday, December 12th. Check out our Discordfor more info (Yes. That one is also a link).
Okay, so now that that’s out of the way, regular updates.
Conquest is coming along nicely. To everyone who joked about a Sons of Ra Battle Royale, we actually brought that up during our design meeting, and have started using some ideas from the genre in the most recent update. It’s definitely different, but it’ll make conquest much more interesting to play.
Sekhmet’s abilities are being worked on. We had a design discussion as a group and we think we have a grasp on what will work best for her. She definitely has the most unique passive for any God we’ve created so far, but it’s been super interesting to theory-craft. Functionally, the blessings exist now, but we want to actually give them some visuals before we talk too much about them.
We can share Sekhmet’s Ultimate though: The Huntress (name still WIP). You get to summon a super unit with super strength who runs around and just destroys EVERYONE. Check out her design so far:
And look! Isn’t she rigged just perfectly? (Please don’t take away my Maya license)
The Huntress can crush you like a bug
I also heard she can do backflips
New health bars and updated map select
Conquest Elimination Mechanics
You can lose now, but extra hard
It applies to all players
Still a secret. You’ll find out soon™
2 New Songs
Sekhmet’s theme SLAPS
Literally I cannot wait to show you guys
We also have one made for something unannounced
Next update is in the middle of December. We’re revamping a bunch more old assets and artwork, getting online ready for the test, and should be able to share the results of that test with you! Thanks for reading, and I’ll see you then.
An events coordinator from Dreamhack reached out to us in August asking if we were interested in attending Dreamhack Atlanta. You probably know Dreamhack from their large presence in eSports and competitive gaming, but the event has recently expanded into other areas. This includes their Indie Playground, where students and indie developers can showcase their work. There is an application process, but the selected games would be given complimentary booth space and internet for the duration of the event.
This was big for us, since we were still recovering from the amount of money we had to spend on PAX West. There were also some unique opportunities that we hadn’t had at other events. We ended up applying to a livestream where we got to play our game with the hosts, and to the game pitch championship, which allowed us to put our pitch through its paces and get feedback from judges.
Dreamhack ran pretty similarly to other conventions we’ve been to. Our team flew down two days before the event so that we could spend all of Thursday to setup and prepare, but we only ended up needing one morning to get everything ready. Our setup is pretty simple: we use a rollup banner with our game name, logo, and website, some business cards, and a display. We also have a laptop and a couple controllers, but we take those with us at the end of the exhibition hours.
After a few shows, you figure out what you need, and figure out that duct tape and power strips are more valuable than gold. For small games like ours, we’d highly recommend keeping things light and owning one or two key pieces of signage that really show off your game. Also, have something to give out. We like buttons, but business cards can be surprisingly effective and cheap. I don’t personally advocate for postcards or larger prints, as they get folded, thrown away, lost, or destroyed. If you can get all of your important info to fit on a business card, you have a much higher chance that it will survive the trip home with an attendee.
The killer for keeping a light setup, though, is figuring out how to get a TV to another state. We’ve tried various things, but haven’t found a one size fits all solution. For this show, we actually decided to rent from the venue after our other options fell through. We lucked out here, and prices were pretty reasonable for the size and quality of the display we ended up with. After our setup was finished, we took the rest of the day off to just explore the city (we recommend Ted’s Montana Grill and Arepa Mia).
From the time of opening Friday morning, Dreamhack itself ran nonstop until closing on Sunday evening. However, the expo area, including the Indie Playground, was only open for 8 hours each day: 12-8 on Friday and Saturday, and 11-7 on Sunday. This was a major relief compared to other events. Usually, you have to wake up early and rush through some sad excuse for breakfast to make it on time, often after you were up late the night before. Here, we got a chance to sleep in, have a nice meal, and walk (we had a great AirBnB) to the event. We always made a point to arrive early, but especially so when the event opened on Friday. This was a smart decision, as we learned that the power to our booth was not working correctly. This was probably the largest problem we faced at Dreamhack, as the event workers had to get help from the staff of the Georgia World Congress Center, which took a couple hours. We covered this time by using a laptop to run our game, so that we had something to show attendees.
Following that issue, our experience was a breeze, for the most part. We did encounter a couple of bugs, one of which was a music problem we were having major difficulties diagnosing. Our music manager was playing incorrect tracks, tracks were playing on top of each other, and one track would continue even when the game was closed. We couldn’t figure it out…until we realized that the system had Civilization running in the background (Jeff why?).
Pitching and Streaming
Dreamhack didn’t just offer the Playground however, and the other offerings have so far been unique in our convention experience. The Game Pitch Championship was made up of two rounds. The first was an individual pitch to the panel of judges, after which the judges would spend time providing feedback and offering improvements. The second was a final round, for which 5 participants would be selected as finalists. The judges would score the second pitch and decide a winner, who would get a monetary prize. We were unfortunately only able to participate in the first round due to our tight travel arrangements. That said, the feedback offered to us was very helpful, and if other indie developers get a chance to attend Dreamhack in the future, we highly recommend trying this out. It’s a great resource to practice and improve your ability to pitch your game in a relatively low-pressure situation, and make your overall presentation better.
We also got to show off our game on the Dreamhack Indie Mixer channel with a pair of hosts. Viewership ended up being lower than we were hoping for, but it was a good opportunity to see how our game looked on livestream. A recording of the stream was provided by Dreamhack, and we plan to use this data to improve visual clarity and spectator interest.
All in all, Dreamhack Atlanta was a very positive experience. The Atlanta chapter of IGDA, as well as Atlanta-based indie developers, were extremely welcoming, acting as hosts for those of us not from the area. Every one of them that we spoke to was incredibly helpful, and they even held a get-together at the end of the day on Saturday for all the indies showing at Dreamhack. The attendees who came by were also very friendly, and were almost entirely people who played games regularly. This made it a lot easier for us in particular, as most of them were literate in the basic concepts of games, and would pick up on some of the more complicated elements of our strategy game easily. This is a fun event with an easy-going pace that we’d recommend to almost any dev who can make the trip.
A lot of the feedback we received from completely new playtesters this week was very inspiring
A lot of annoying bugs from the past have been fixed
Balance changes, while mostly good, had some issues that were noticeable even in our playtest data and really need to be sorted before final release
Lots of testing to make sure the game is ready to go for the showcase
Balance tweaking on blessings, gold production, and towers/unit balance
Bug fixing anything that might be found
This term was interesting. I thought it was going to be so different from last term but in actuality, it really wasn’t. During the first few weeks it was evident that I wasn’t really needed on the programming side of things as tasks were being completed rather quickly but no one was there to QA them so I kept at that, noting bugs when I found them. Part of this is on me though for not stepping up and asking for programming work to be assigned to me. Also I think we all made a promise to get things in earlier which none of us really followed so it lead to some builds going through untested which is just bad practice since I was almost always testing a week behind current release. So tldr; 3 things that didn’t go so well are 1. I didn’t get to program like I wanted to, 2. Constantly submitting things last minute, which leads to 3. QA testing was done on prior builds which is just really bad and allowed for so many bugs to get through since they wouldn’t be in my version.
On a more positive note, I got to work with even more Excel by making the Gantt chart which was a fun and cool experience. Aside from just that, I continued to do our Survey Analysis Reports which I always find intriguing. And finally it was really nice having people that I know genuinely enjoy playing the game and wanting to play against me in it.
All in all, I would definitely do it again, even if I am just the Excel guy.
Some okay work week. I started off strong by iterating on last week’s balance, testing, and implementing it before our playtests began. After that, I helped with our usual Friday playtesting session. My work slowed down until I did some needed main menu animation polish, touching up animations and improving the animator flow. Lastly, I fixed a bug with the stun animation caused by an issue with their animator set up. Overall, good work.
What Could Have Gone Better
There are some additional polishing features I wanted to get to this week that unfortunately were left incomplete. I could have finished them with some additional time; but the final weeks of a term are never full of free time. However, the biggest issue for this week were issues with the animator on the main menu. Many people wanted the unit to seamlessly transition from one animation to the next; but the animation breaks if it blends between the scroll and any other. Because of that, I tried to create an animator set up that would transition back to idle after the scroll animation before moving to the correct option. This ended up not working at all, leading to more issues than it fixed. I changed it to blend seamlessly on all animations, except out of the scroll anim. It isn’t great, but it’s better than nothing.
So, here’s the end of workshop term 2. Its interesting how things developed over the past 10 weeks. My role in the team was rather consistent with my description: generalist artist and design lead. I was able to make a number of strong art assets and visual improvements for the game; however, design lead doesn’t necessarily mean the same thing as it did in term 1. Instead of being the main design person, I was more the lead of a couple team members that are all interested in design. Design decisions were made less among a few people and more as a collaborative effort among many people.
Three things that went well:
Animations were one of the elements many on the team really wanted for this term and they went rather well. The animations I worked on are relatively strong in terms of general presentation. While perhaps needing some exaggeration for the far-off perspective, they are all visible and convey well their general purpose. Not to mention, the interactive menu adding some animation polish to the overall experience.
Keeping things consistent was another good part of my performance. It seems like a risk when entering the second term of workshop, where the team size doubles and there are a lot more cooks in the kitchen. But in early design meetings and talking to other artist, it was easy to establish and reinforce the direction of our game and where it should go. It was also good that I continued my philosophy from last term of not over-scoping the project length we had.
Deadlines were always met. Not just for me, but the entire team was good about completing the tasks needed when they were asked (with exception to the fix exploding on the programming side).
Three things that could have gone better:
I need to be a bit less defensive with design ideas. While I think its good to argue for and against different points of view. In hindsight, some of my defenses were rather unnecessary and the better option was the newly suggested one. This isn’t to say, I couldn’t take constructive criticism or new ideas; but I often quickly jumped to the defense of existing concepts more than new.
I, personally, fell into doing too many late nights before class. Finishing work at such a late hour can hurt the final product. It also made the job for coders to test and prepare the build much harder. I often needed to keep coders awake so my features could be in the build or my features simply wouldn’t be there. I was not the only one to fall to this failing, but it proved problematic throughout the term.
Playtests proved to be very challenging. While early on, we were capable of completing playtests with one session or two. The larger requirements like 30 or 40 became incredibly difficult to meet. In future, we need more avenues for finding playtesters than harassing people in the labs.
Not too bad for a workshop 2 performance.
Moving forward into senior project, there are many elements that should be considered. I should be more open and accepting of design idea. Writing a GDD can make it feel like “your baby,” but it isn’t. Game design is inherently collaborative. Formally structure what art assets are needed and plan around your team. The change in aesthetic for workshop 1 meant less art assets were needed for workshop 2. Create more stable opportunities for playtests, so you aren’t scrambling just before a deadline.
Other fixes included an opacity change for the sun beam and a fix for the lamp fire.
What Went Well:
Particle changes look cool
What Went Poorly:
Some changes came in too late
Things that went right:
The Scope – the scope the we set up early on this term feels just right considering we managed to get all the major aspects of it with little time to spare. The coders, mainly Jeff, were always stressing out so I think any more to the scope may have killed them. In terms of FX, they were mainly finished around week 7-8 which left those a lot of time for updated visuals.
Teamwork – Everyone got along while making this game. Communication was solid most of the time. People kept each other updated via our discord channel and whenever someone needed help or someone was falling behind they were able to easily contact teammates.
The Effects – A big focus of my work this quarter was centered around the particle effects for the different blessings. I spent quite a bit of time learning more about particles and using that information for the different blessings. Honestly I have become quite fond of it.
Things that went poorly:
Playtesting – every few iterations was a battle to find enough playtests. We would generally end up scampering around trying to find enough playtests, and the few official playtest sessions we had were generally only net us around half of what we needed. I wasn’t able to net anybody myself since the few people I knew never could.
Late Term – As the term entered its final weeks, the amount of work I had became more and more limited. The majority of my time at this point was spent on visual upgrades of a few particles. At some point most of my work began to revolve around making the sun beam look better.
HackNPlan – The HackNPlan was scarcely touched by most people and generally touched by the same people. I was not one of the ones who touched it despite the frequent reminders on discord. I feel like people were content with posting progress on discord.
I helped Javier with some particle work. I also worked on some concepts for cool down bars which can be implemented later (after the class concludes).
What Went Well
We received a lot of positive and helpful feedback on the playtests, my friends really enjoyed the game and it was nice to see people having fun playing our game. I started working on something that can be included if the project is continued which it is planned to be. Things are breaking less which is great.
There wasn’t a lot to do in terms of art assets and tweaks. There are some things we won’t get into the game before class ends that is a little disappointing but the project is continuing so I guess it will reach that potential. Finals are coming but I don’t think it will be that big of an issue
Final Sell presentation
Some of my strengths on this project were organization and teamwork. I usually helped Jeff and Mark divide and assign the tasks for the art team. Also I tried to be present and available to my teammates so if they needed something they could ask and I could jump in and help. Typically if someone was relying on my asset I would try to complete it in a timely manner so they had time to complete their task before class. I liked being in communication and available to those I worked with to complete certain features (for example working with Michael to complete the tutorial).
My biggest weakness was poor time management. I often waited until the last minute to complete tasks or I did not prioritize my classes and projects properly. I didn’t leave enough time for revision and review so that would have to wait until the following week. Sometimes I had concerns and I didn’t speak up enough or I didn’t take initiative. I wasn’t afraid to ask questions or reach out but I feel like I lost some initiative to call meetings and clear up concerns throughout the quarter.
Three Things That Went Right
Scope: I think we set a reasonable scope that could be reached in the time we had. We set great goals and we met them by the end. We were aware of everyones specialities and their abilities and assigned reasonable tasks that allowed us to reach our goals!
Teamwork: I think we were able to achieve our goals because of our team and how well everyone worked together. We have many independent people on our team who were not afraid to take initiative and get work done. It felt like everyone would tackle issues together and communicate. We all worked together to give helpful feedback and critiques to improve the game and each others work.
Commitment and Motivation: Everyone was motivated to jump in and take care of tasks. We might have had some late nights but people got their stuff in which was great. Even when things were done there was motivation to polish and keep changing things. It felt like this team didn’t lose momentum and people were always looking for something to work on.
Three Things That Went Wrong
Deadline: We started this quarter with stricter deadlines but as the quarter went on the deadline was pushed back later and later. Most people had late nights on Sunday and Monday.
Playtesting: We struggled finding enough people to playtest. I’ll admit we received helpful feedback but every week it was difficult to pull enough people together to meet the set number. I know many of our team members, including myself, had a lot of personal matters since it was summer so that was also difficult to work around at times.
What is HacknPlan?: We would always discuss what everyone was doing each week so everyone was aware what was going BUT we ignored hacknplan completely (I am guilty of this). I feel like we neglected to update tasks on hacknplan which made us forget about certain features and then we would have to pick up the pieces later.
For future projects I want to take initiative when I can and improve my time management skills. I want to complete tasks and leave time for revision and review. That way I have time to edit before the next build or meeting. I’ve had late nights because I did not stick to deadlines and I know others have as well because they were waiting for certain features. So I want to become more organized in terms of tracking my work and progress on hacknplan and I want to adhere to deadlines and give myself stricter deadlines. Overall becoming organized internally should help with my time management issues.
I am very proud of this team and how much we have achieved! I had a great time working with everyone.
A nice and busy week with lots of variety in my tasks.
Loadout menu feels a lot better now. Default loadouts work, new button maps are in (and I got a chance to poke around Rewired), and, most importantly, NOTHING BREAKS. Oh, yeah, and there’s a “back” function if you want to choose the other map. Joseph Brown picked up the trailer task, which freed up my hands to work on coding, which was nice to get back to after a few weeks of not actually touching the game very much. Feels good, man.
FINALS ARE COMING. Frankly, though, I’m not too worried. I have a lightweight courseload this term and I for one am extremely pleased with how this project is going – no worries here. Getting enough playtesters was difficult because it’s hard to find 40 people who want to do ANYTHING beyond the required during finals.
Polish Polish Polish and F I N A L D E L I V E R A B L E S
— Personal Postmortem —
My largest strength in this group has been my strength in previous ones: communication and a willingness to jump on anything that needed to be done, from administration to code to chasing down people I know in crosswalks to get them to playtest our game. This is enjoyable from my end, too – I love having my hands in so much of the development process, and I had many opportunities to do that here.
My weakness was a lack of focus and time – too often, I found myself waiting until the last minute to get things done or getting caught up in other parts of my life entirely, to the detriment of my work here. Also, my code was not clean or well-documented, and that’s on me as a developer – I have a tendency to forget other people might have to go in and work on things I’ve done, and I have not always left them the easiest roadmaps.
Three Things that Went Right:
Many Hands and Good People: we were able to go a LONG way because we had a good sized team of competent individuals who were willing to collaborate, communicate, and contribute. People were self-directed, independent, and took pride in their work.
People Did Their Nonsense: They (we) might not have been the best about moving tasks around on the Hacknplan (sorry Jeff), but gosh darn it if all our deliverables didn’t get in on time and by the people who were supposed to submit them. This team was an administrator’s fantasy, where people did their assigned work and I never had to nag.
Commitment to Polish: Even when everything worked, this team was always thinking of things we could do better, smoother, cleaner, prettier. We know there’s infinite room for improvement, and we used it.
Bonus: Our Git flow was so good I didn’t even think about mentioning it here; it was a non-issue.
Three Things that Went Wrong:
RIP Sunday Night Feature Lock: As the term wore on, we found ourselves more and more lax about internal deadlines, which meant a lot of late nights for people like Jeff who were up waiting for work from folks.
Lack of adherence to the Hacknplan: I’m as guilty of this as anyone. We’d talk tasks for the week then completely ignore everything we’d listed out, forgetting about bugs or features until they were past due.
Playtesting is Hard: This team was a lot better than a lot I’ve seen, but it’s still tough trying to get everyone to bring so many friends on when we all hang out with the same people.
It’s been a great quarter with an even better team, and I’m so proud of the work we’ve done. Cheers to having time for polish.
Going forward, I plan to schedule out my time for projects more concretely to allow for people requesting tasks of me to know ahead of time when they should be done. I will have to anticipate that not every team I work on will be as good at communication and Git flow as this one is. And I plan to increase adherence to internal tracking and deadlines, for everyone’s well-being.
Bonus content: I am Very Good At Making Presentations
This week I redid the model and texture for the temple tower. It now includes 4 statues as well as wall treatments and more hieroglyphs. I also went through all of or 3D assets and made sure that they were a reasonable polycount. The only one that I found that was not was the catapult, which I tasked Javier with fixing.
Communication was a bit lacking this week. I was not informed that .obj files were now prevented by the gitignore and that caused some submission issues. They were eventually fixed but it would have saved me quite a bit of time if this was announced.
For next week, I will be working on final polish for art assets as we reach our final deadline.
Three things that went right:
I think as a team we were all highly motivated to work on this project and as a result we got a lot done out of the gate. Another thing that went well was that we were all very involved in the design process at the beginning of this term which increased our individual motivation as well. A third thing that I felt went well was that our scope was not out of control. As a team, we did a good job of reassessing scope and keeping the project within it.
Three not so right things:
Communication was an issue throughout this quarter. Feature lock was never enforced which always made Monday nights a mess. Another issue was after the first couple weeks, little attention was given to art and not many tasks were given out. As co-art lead, I would have come up with new ideas and tasks but I was not ever given much to work with. A third issue, that connects to both communication and art, was that it felt like our dev team did not check the artist progress despite updated hacknplan and announcing our progress in the discord. Some of the tasks given to me to assign to the other artists had been done as long ago as the previous quarter.
When approaching new projects, particularly senior project, I will be putting a higher emphasis on communication. Everyone will be brought up to speed and required to check the hacknplan. I will also be enforcing feature lock so that we don’t break our project the night before. I have already been involving my entire team in the design process and I think it is a great way to motivate any team, current or future. I also learned a lot about scope management in this project and I will carry that knowledge with me into every new project.
aside from minor bug fixes its basically just tutorial stuff
This term was for some reason just exhausting, probably because it’s Summer and I dislike Summer. The bad parts were bad, but the good ones were great. I don’t even think it was a time issue, as much as a motivation and determination issue. Things I have always struggled with.
This term we went more into the design part of it, which is probably my favorite part about this whole process. Getting to talk about and discuss video games always lead to a great time. Figuring out inspirations and deciding on some big changes were always the highlights of the day.
The team, just like last term was fantastic. People were doing their part, a tad late sometimes, but it always felt like progress was being made. The game now has a full load-out mechanic, a new map, optimized code, a tutorial (eww) and just insane amounts of polish. (The main menu!)
Some things I would change would be to have done balance changes slightly earlier on in the term, as we reached the end of the term we hit what I knew was going to be the hardest part of a game like this with so many systems, balancing. The team always had great ideas on how to balance and as we learn more about the intricacies and they product reaches a more final state we can take a step back and perform our balance duties with much better knowledge. I also learned how to calculate time better for my future tasks.
Going forward I hope to always have a team that’s at least this good. Also some of us were considering carrying on this project and fully fleshing it out. I’m excited for the possibilities and am pleased with how much I learned these past 2 terms as a programmer, designer, and person.