Author Topic: TImpire Earth  (Read 6403 times)

0 Members and 1 Guest are viewing this topic.

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
TImpire Earth
« on: October 28, 2014, 10:58:04 pm »
Preface: I played Empire Earth when I was around 8, when I was first starting that stage where I could create simple strategies, it was my training ground for that skill. The one we had was Empire Earth: The Art of Conquest, which had the Space Age.

Now, for the game I'm making:
I'm starting TImpire Earth (tentative title). I don't have much done yet, but here's what I plan:

*An overworld screen and map screen for viewing enemy cities
*Create your own city (plot-based)
*"Ages" (Stone Age, Bronze Age, etc.)
*Battle against CPUs and conquer them
*Download another player's town data and add them to your world
So far, I've done some basic overworld stuff and set up a lot of the map screen navigation.

If you are more familiar with Empire Earth than I am and you have a suggestion, feel free to suggest!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TImpire Earth
« Reply #1 on: October 29, 2014, 01:05:35 am »
Will this be kinda like a turn-based strategy game or something like those early 90's strategy games where you build a big army then send it off on a battlefield, resulting into an automated battle? I didn't play much of that stuff sadly, as the only strategy games I really played were Starcraft series, Warcraft II/III and some Command and Conquer stuff.

Good luck by the way, since this looks like this will be pretty challenging to code, especially that you will most likely need some sort of tilemap if it's graphical.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: TImpire Earth
« Reply #2 on: October 29, 2014, 08:51:47 am »
Sounds like a nice idea, good luck with it!

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TImpire Earth
« Reply #3 on: October 29, 2014, 04:39:14 pm »
Will this be kinda like a turn-based strategy game or something like those early 90's strategy games where you build a big army then send it off on a battlefield, resulting into an automated battle? I didn't play much of that stuff sadly, as the only strategy games I really played were Starcraft series, Warcraft II/III and some Command and Conquer stuff.

Good luck by the way, since this looks like this will be pretty challenging to code, especially that you will most likely need some sort of tilemap if it's graphical.
Sounds like a nice idea, good luck with it!
Thanks, both of you! DJ: It's most like Clash of Clans, but you have multiple plots at your disposal and have technological ages to play through. I plan on using xLibC, if any hybrid library at all, to make it look better.
So, here's my list of things done:
*Set up overworld interface
*Set up map screen interface
*Allowed test objects to be created into world and destroyed

For the test objects, I wanted all of them to be rendered, even after walking through them, so they would be "actually there". I first just made them be refreshed every loop iteration, but the most I could stand onscreen was four, and that was being very generous. With a For( loop and an If statement, I got it able to handle 6 objects at that same speed! It goes through the temporary list of all objects onscreen, and sees if you are 16 pixels away from the object. If you're exactly 16 away, it refreshes the object's image, but if not, it leaves the object alone. This way, any unnecessary object image refreshing is avoided. The reason I chose 16 was because you teleport 8 pixels in a certain direction every time you walk. If you're any closer, you collide with the object's "sprite", which looks weird if it's being redrawn over your character, and your character is also being redrawn over the object.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TImpire Earth
« Reply #4 on: October 30, 2014, 02:28:53 am »
Thanks for the info. I was curious about how you would implement objects that can be created or destroyed.

On a side note, for BASIC games that have multiple enemies or stuff moving around at the same time, what I generally do is that I only allow 1 or 2 enemy to move every loop and it cycles through all of them over and over. This, combined with only refreshing what's necessary every loop helps greatly, speed-wise (even in ASM it's needed because the screen on this calc is slow)

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TImpire Earth
« Reply #5 on: October 30, 2014, 06:34:56 pm »
That's a great idea! I was kinda wondering how I could code it so you could perform invasions massive enough to actually do anything, and not have to wait an hour for your army to actually get there.
Here's some more of what I did:
*Now, you can select your "home plot" (meaning for right now, your only plot, which I plan to change ;) )
*You can't edit any other plot besides your own
*Fixed refresh testing algorithm to work when your coords aren't 16 away but still around 16 pxls
*Added some startup code including selecting your home plot

Some of my short term goals (so I can gauge what I need to do):
*Read (all) overworld objects and mark it on map screen plots [X]
*Start working on ability to create soldiers/citizens, do same above for people
*Add ability to choose your nation's color [X]
*Complete first time run code [X]
*Create start-up menu [X]
*Start enemy AI
*maybe have ability to hit edge of screen and progress through the map in that direction?
« Last Edit: October 31, 2014, 02:21:56 pm by 123outerme »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TImpire Earth
« Reply #6 on: October 30, 2014, 11:41:50 pm »
Glad it is progressing nicely. Don't forget to show some screenshots when you can :)

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TImpire Earth
« Reply #7 on: October 31, 2014, 02:44:44 pm »
I have screenies and a beta to share now!

Download here!
Of course, if I decide I will use hybrid basic libraries, I will definitely make actual sprites for everything.
Here's my to-do:
*Start working on ability to create soldiers/citizens, mark them on map
*Start enemy AI
*Try to complete data transfer ability [X] (seems to work for now, but I don't have a compatible calc to test with at the moment)
*Add more to Help menu, eventually make a new menu for Help, data transfers, etc. [X]
*Look more into hybrid color libraries
*Add more types of objects (buildings)
*Figure out what F1 will be and make it [X]
*Implement money [X]
« Last Edit: November 03, 2014, 08:42:55 pm by 123outerme »

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TImpire Earth
« Reply #8 on: November 03, 2014, 08:39:54 pm »
I have been making progress. Sorry, no screenshot, since nearly nothing visual has changed. The game now correctly handles multiple sections of your save file, split up by a header containing the most important parts of your save file. For right now, the game pretty much ignores it. This is useful for allowing the player to own multiple plots now.

I've also done a bit of work to the engine, where now every other loop it checks for (partially) erased objects with the test I mentioned earlier. Since you can't move far enough away for the test to be skipped when something is erased, it still works. However, when you have a lot of objects onscreen, it goes really fast for a few frames, then really slow. But, it's still a little playable. Eventually, I'll draw the object limit somewhere.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TImpire Earth
« Reply #9 on: November 03, 2014, 09:42:00 pm »
I didn't notice the latest post, but I like the interface so far. I am really curious about how it will look like with a full game/battle :)

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TImpire Earth
« Reply #10 on: November 16, 2014, 09:20:23 am »
Thanks DJ! I have a few ideas on how battles will go, but it might be a pretty derpy sight, like the NES Punch-Out's crowd (just look up Punch-Out gameplay). I have been neglecting the project for a little, but my next update will be soon!
(Also, very excited that this was the first project listed on pimath's news article)

Edit: I added a new "Land Options" Menu, it houses the "Buy/Sell Plot" option, as well as the "Choose Building Type" option. I haven't done much with building types, but I will try to do that soon. I will post a screenshot in a little bit.
« Last Edit: November 18, 2014, 06:13:12 pm by 123outerme »

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: TImpire Earth
« Reply #11 on: November 22, 2014, 03:37:51 pm »
I've made some amazing progress! I added a menu to add different types of buildings, so now there can be houses, mines, a town hall, etc.
However, it really slows the engine down when there are even two objects of different types around, so I'll be thinking of a solution. Once I've just checked over everything, I'll upload a screenshot.

Edit: Screenie! Ignore the visual glitch in the map menu, I know what's wrong, but I forgot to fix it.


Here's my todo list:
Spoiler For Todo:
*Start working on ability to create soldiers/citizens, mark them on map
*Start enemy AI
*Look more into hybrid color libraries
*Start creating Age system
*Takes time to build?
*Add support for multiple object sets marked on map screen
*Make different types of buildings do more than lag the engine (OOOOOooh! Burn!)
« Last Edit: November 22, 2014, 04:33:02 pm by 123outerme »